import BigNumber from "bignumber.js"; import { RewardSummary } from "./liquidityMining"; import { StrategyType } from "./strategyOwnerCap"; export declare enum Side { DEPOSIT = "deposit", BORROW = "borrow" } export declare enum Action { DEPOSIT = "deposit", WITHDRAW = "withdraw", BORROW = "borrow", REPAY = "repay" } export type ApiInterestUpdateEvent = { id: string; lendingMarketId: string; coinType: string; reserveId: string; cumulativeBorrowRate: string; availableAmount: string; borrowedAmount: string; unclaimedSpreadFees: string; ctokenSupply: string; borrowInterestPaid: string; spreadFee: string; supplyInterestEarned: string; borrowInterestPaidUsdEstimate: string; protocolFeeUsdEstimate: string; supplyInterestEarnedUsdEstimate: string; timestamp: number; digest: string; eventIndex: number; sender: string; }; export type ApiReserveAssetDataEvent = { id: string; lendingMarketId: string; coinType: string; reserveId: string; availableAmount: string; supplyAmount: string; borrowedAmount: string; availableAmountUsdEstimate: string; supplyAmountUsdEstimate: string; borrowedAmountUsdEstimate: string; borrowApr: string; supplyApr: string; ctokenSupply: string; cumulativeBorrowRate: string; price: string; smoothedPrice: string; priceLastUpdateTimestampS: number; conf: string | null; unclampedPrice: string | null; unclampedSmoothedPrice: string | null; timestamp: number; digest: string; eventIndex: number; sender: string; }; export type DownsampledApiReserveAssetDataEvent = ApiReserveAssetDataEvent & { sampletimestamp: number; }; export type ApiMintEvent = { id: string; lendingMarketId: string; coinType: string; reserveId: string; liquidityAmount: string; ctokenAmount: string; timestamp: number; digest: string; eventIndex: number; sender: string; }; export type ApiRedeemEvent = { id: string; lendingMarketId: string; coinType: string; reserveId: string; ctokenAmount: string; liquidityAmount: string; timestamp: number; digest: string; eventIndex: number; sender: string; }; export type ApiDepositEvent = { id: string; lendingMarketId: string; coinType: string; reserveId: string; obligationId: string; ctokenAmount: string; timestamp: number; digest: string; eventIndex: number; sender: string; }; export type ApiBorrowEvent = { id: string; lendingMarketId: string; coinType: string; reserveId: string; obligationId: string; liquidityAmount: string; originationFeeAmount: string; timestamp: number; digest: string; eventIndex: number; sender: string; }; export type ApiWithdrawEvent = { id: string; lendingMarketId: string; coinType: string; reserveId: string; obligationId: string; ctokenAmount: string; timestamp: number; digest: string; eventIndex: number; sender: string; }; export type ApiRepayEvent = { id: string; lendingMarketId: string; coinType: string; reserveId: string; obligationId: string; liquidityAmount: string; timestamp: number; digest: string; eventIndex: number; sender: string; }; export type ApiLiquidateEvent = { id: string; lendingMarketId: string; repayReserveId: string; withdrawReserveId: string; obligationId: string; repayAmount: string; withdrawAmount: string; protocolFeeAmount: string; liquidatorBonusAmount: string; timestamp: number; digest: string; eventIndex: number; sender: string; }; export type ApiForgiveEvent = { id: string; lendingMarketId: string; reserveId: string; obligationId: string; coinType: string; liquidityAmount: string; timestamp: number; digest: string; eventIndex: number; sender: string; }; export type ApiSocializeLossEvent = { id: string; lendingMarketId: string; reserveId: string; obligationId: string; coinType: string; lossAmount: string; socializationRate: string; relatedForgiveDigest: string; timestamp: number; sender: string; }; export type ApiClaimRewardEvent = { id: string; lendingMarketId: string; reserveId: string; obligationId: string; isDepositReward: boolean; poolRewardId: string; coinType: string; liquidityAmount: string; timestamp: number; digest: string; eventIndex: number; sender: string; }; export type ApiObligationDataEvent = { id: string; lendingMarketId: string; obligationId: string; depositedValueUsd: string; allowedBorrowValueUsd: string; unhealthyBorrowValueUsd: string; superUnhealthyBorrowValueUsd: string; unweightedBorrowedValueUsd: string; weightedBorrowedValueUsd: string; weightedBorrowedValueUpperBoundUsd: string; borrowingIsolatedAsset: boolean; badDebtUsd: string; closable: boolean; timestamp: number; digest: string; eventIndex: number; sender: string; /** * { * coin_type: TypeName; * reserve_array_index: u64; * deposited_ctoken_amount: u64; * market_value: Decimal; * user_reward_manager_index: u64; * attributed_borrow_value: Decimal; * }[] */ depositsJson: string; /** * { * coin_type: TypeName; * reserve_array_index: u64; * borrowed_amount: Decimal; * cumulative_borrow_rate: Decimal; * market_value: Decimal; * user_reward_manager_index: u64; * }[] */ borrowsJson: string; }; export type StrategyOwnerCap = { id: string; strategyType: StrategyType; obligationOwnerCapId: string; obligationId: string; }; export type RewardsMap = Record; export type LendingMarketMetadata = { id: string; type: string; lendingMarketOwnerCapId: string; name?: string; isHidden?: boolean; iconUrl?: string | null; description?: string | null; reserveOrder?: string[] | null; };