export type NetworkType = "testnet" | "mainnet" | "devnet" | "localnet"; export type initializeParams = { mnemonic?: string; networkType?: string; wordLength?: 12 | 24; accountIndex?: number; numberOfAccounts?: number; privateKeyList?: string[]; }; export interface Pool { Sui: PoolConfig; USDT: PoolConfig; WETH: PoolConfig; CETUS: PoolConfig; vSui: PoolConfig; haSui: PoolConfig; NAVX: PoolConfig; WBTC: PoolConfig; AUSD: PoolConfig; wUSDC: PoolConfig; nUSDC: PoolConfig; ETH: PoolConfig; USDY: PoolConfig; NS: PoolConfig; LorenzoBTC: PoolConfig; DEEP: PoolConfig; FDUSD: PoolConfig; BLUE: PoolConfig; BUCK: PoolConfig; suiUSDT: PoolConfig; stSUI: PoolConfig; suiBTC: PoolConfig; WSOL: PoolConfig; LBTC: PoolConfig; WAL: PoolConfig; HAEDAL: PoolConfig; XBTC: PoolConfig; IKA: PoolConfig; EnzoBTC: PoolConfig; MBTC: PoolConfig; YBTC: PoolConfig; XAUM: PoolConfig; } export interface PoolConfig { name: string; assetId: number; poolId: string; type: string; reserveObjectId: string; borrowBalanceParentId: string; supplyBalanceParentId: string; rewardFundId: string; } export interface CoinInfo { symbol: string; address: string; decimal: number; } export interface DeriveParas { account?: number; change?: boolean; addressIndex?: number; } export declare enum OptionType { OptionSupply = 1, OptionWithdraw = 2, OptionBorrow = 3, OptionRepay = 4 } export declare enum Dex { CETUS = "cetus", TURBOS = "turbos", KRIYA_V2 = "kriyaV2", KRIYA_V3 = "kriyaV3", AFTERMATH = "aftermath", DEEPBOOK = "deepbook", BLUEFIN = "bluefin", VSUI = "vSui", HASUI = "haSui", MAGMA = "magma", MOMENTUM = "momentum", SSUI = "sSui" } export type Quote = { routes: any[]; amount_in: string; amount_out: string; from: string; target: string; dexList: Dex[]; from_token?: { address: string; decimals: number; price: number; }; to_token?: { address: string; decimals: number; price: number; }; is_accurate?: boolean; }; export type FeeOption = { fee: number; receiverAddress: string; }; export type SwapOptions = { baseUrl?: string; dexList?: Dex[]; byAmountIn?: boolean; depth?: number; feeOption?: FeeOption; ifPrint?: boolean; serviceFee?: FeeOption; disablePositiveSlippage?: boolean; }; export type Chain = { id: number; name: string; iconUrl: string; nativeCurrency: Token; rpcUrl: { default: string; }; blockExplorers: { default: { url: string; name: string; }; }; }; export type Token = { address: string; chainId: number; decimals: number; logoURI: string; name: string; chainName: string; symbol: string; isSuggest: boolean; isVerify: boolean; category: string[]; }; export type BridgeSwapOptions = { slippageBps?: number; referrerBps?: number; }; export type BridgeSwapQuote = { provider: string; amount_in: string; amount_out: string; slippage_bps: number; min_amount_out: string; from_token: Token; to_token: Token; total_fee: string; spend_duration: number; info_for_bridge: any; path: { token: Token; amount?: string; }[]; }; export type BridgeRoutes = { routes: BridgeSwapQuote[]; }; export type BridgeSwapStatus = "processing" | "completed" | "fail"; export type BridgeSwapTransaction = { id: string; status: BridgeSwapStatus; lastUpdateAt: string; sourceChainId: number; destChainId: number; walletSourceAddress: string; walletDestAddress: string; totalFeeAmount: string; sourceToken: { address: string; symbol: string; decimals: number; }; destToken: { address: string; symbol: string; decimals: number; }; hasSwap: boolean; bridgeProvider: string; bridgeStatus: BridgeSwapStatus; bridgeFromToken: { address: string; symbol: string; decimals: number; }; bridgeToToken: { address: string; symbol: string; decimals: number; }; bridgeFromAmount: string; bridgeToAmount: string; bridgeStartAt: string; bridgeEndAt?: string; bridgeFeeAmount: string; bridgeSourceTxHash: string; bridgeDestTxHash?: string; bridgeRefundTxHash?: string; explorerLink?: string; mayan?: any; }; export type MigrateOptions = { apiKey?: string; baseUrl?: string; slippage?: number; }; interface OracleInfo { decimal: number; value: string; price: string; oracleId: number; valid: boolean; } interface IncentiveApyInfo { vaultApr: string; boostedApr: string; stakingYieldApy: string; rewardCoin: string[]; apy: string; } export interface PoolData { borrowCapCeiling: string; coinType: string; currentBorrowIndex: string; currentBorrowRate: string; currentSupplyIndex: string; currentSupplyRate: string; id: number; isIsolated: boolean; lastUpdateTimestamp: string; ltv: string; oracleId: number; reserveFieldA: string; reserveFieldB: string; reserveFieldC: string; supplyCapCeiling: string; treasuryBalance: string; treasuryFactor: string; totalSupplyAmount: string; minimumAmount: string; leftSupply: string; validBorrowAmount: string; borrowedAmount: string; leftBorrowAmount: string; availableBorrow: string; oracle: OracleInfo; supplyIncentiveApyInfo: IncentiveApyInfo; borrowIncentiveApyInfo: IncentiveApyInfo; } export interface PoolsResponse { data: PoolData[]; code: number; } export type PoolRewards = { assetId: number; rewardType: number; rewards: { coinType: string; available: string; }[]; }; export * as V3Type from './V3';