UNPKG

@algofi/js-sdk

Version:

The official Algofi JavaScript SDK

37 lines (36 loc) 1.74 kB
import { Algodv2, Transaction } from "algosdk"; import AlgofiClient from "../algofiClient"; import AlgofiUser from "../algofiUser"; import Market from "../lending/v2/market"; import Pool, { PoolQuote } from "../amm/v1/pool"; import LendingPoolInterfaceConfig from "./lendingPoolInterfaceConfig"; export default class LendingPoolInterface { algofiClient: AlgofiClient; algod: Algodv2; appId: number; asset1Id: number; asset2Id: number; lpAssetId: number; market1AppId: number; market2AppId: number; poolAppId: number; opFarmAppId: number; address: string; market1: Market; market2: Market; pool: Pool; constructor(algofiClient: AlgofiClient, config: LendingPoolInterfaceConfig); loadState(): Promise<void>; getTVL(): number; getAPR(): Promise<number>; getEmptyPoolQuote(asset1Amount: number, asset2Amount: number): PoolQuote; getPoolQuote(assetId: number, amount: number): PoolQuote; getBurnQuote(amount: number): PoolQuote; getSwapExactForQuote(swapInAssetId: number, swapInAmount: number): PoolQuote; getSwapForExactQuote(swapOutAssetId: number, swapOutAmount: number): PoolQuote; getZapQuote(assetAID: number, assetAAmount: number, assetBAmount?: number): PoolQuote; getPoolTxns(user: AlgofiUser, quote: PoolQuote, maximumSlippage: number, addToUserCollateral?: boolean): Promise<Transaction[]>; getBurnTxns(user: AlgofiUser, quote: PoolQuote): Promise<Transaction[]>; getSwapTxns(user: AlgofiUser, quote: PoolQuote, maxSlippage?: number): Promise<Transaction[]>; getZapTxns(user: AlgofiUser, quote: PoolQuote, maxSlippage?: number, addToUserCollateral?: boolean): Promise<Transaction[]>; }