UNPKG

goosefx-amm-sdk

Version:

SDK for the GooseFx AMM

35 lines (32 loc) 1.49 kB
import { PublicKey, Connection, AccountMeta } from '@solana/web3.js'; import BN from 'bn.js'; /** * Lending market authority seed */ declare const LENDING_MARKET_AUTH_SEED = "lma"; declare function getLendingMarketAuthority(lendingMarket: PublicKey, programId: PublicKey): [PublicKey, number]; declare function getGammaPoolDestinationCollateral(poolAddress: PublicKey, tokenMint: PublicKey, gammaId: PublicKey): PublicKey; interface KaminoReserve { address: PublicKey; state: KaminoReserveAccount; } interface KaminoReserveAccount { version: BN; lendingMarket: PublicKey; farmCollateral: PublicKey; farmDebt: PublicKey; liquidity: ReserveLiquidity; collateral: ReserveCollateral; } interface ReserveLiquidity { mintPubkey: PublicKey; supplyVault: PublicKey; feeVault: PublicKey; } interface ReserveCollateral { mintPubkey: PublicKey; supplyVault: PublicKey; } declare function getReservesForMarket(connection: Connection, marketAddress?: PublicKey, kaminoProgram?: PublicKey): Promise<Map<string, KaminoReserve>>; declare function getReserveAccountsForWithdraw(pool: PublicKey, reserveA: KaminoReserve | undefined, reserveB: KaminoReserve | undefined, maxSharedTokenA: BN, maxSharedTokenB: BN, gammaProgram: PublicKey, kaminoProgram?: PublicKey): AccountMeta[]; export { KaminoReserve, LENDING_MARKET_AUTH_SEED, getGammaPoolDestinationCollateral, getLendingMarketAuthority, getReserveAccountsForWithdraw, getReservesForMarket };