@kamino-finance/klend-sdk
Version:
Typescript SDK for interacting with the Kamino Lending (klend) protocol
52 lines • 1.95 kB
TypeScript
import { TransactionInstruction, PublicKey } from "@solana/web3.js";
import BN from "bn.js";
export interface DepositAndWithdrawArgs {
liquidityAmount: BN;
withdrawCollateralAmount: BN;
}
export interface DepositAndWithdrawAccounts {
depositAccounts: {
owner: PublicKey;
obligation: PublicKey;
lendingMarket: PublicKey;
lendingMarketAuthority: PublicKey;
reserve: PublicKey;
reserveLiquidityMint: PublicKey;
reserveLiquiditySupply: PublicKey;
reserveCollateralMint: PublicKey;
reserveDestinationDepositCollateral: PublicKey;
userSourceLiquidity: PublicKey;
placeholderUserDestinationCollateral: PublicKey;
collateralTokenProgram: PublicKey;
liquidityTokenProgram: PublicKey;
instructionSysvarAccount: PublicKey;
};
withdrawAccounts: {
owner: PublicKey;
obligation: PublicKey;
lendingMarket: PublicKey;
lendingMarketAuthority: PublicKey;
withdrawReserve: PublicKey;
reserveLiquidityMint: PublicKey;
reserveSourceCollateral: PublicKey;
reserveCollateralMint: PublicKey;
reserveLiquiditySupply: PublicKey;
userDestinationLiquidity: PublicKey;
placeholderUserDestinationCollateral: PublicKey;
collateralTokenProgram: PublicKey;
liquidityTokenProgram: PublicKey;
instructionSysvarAccount: PublicKey;
};
depositFarmsAccounts: {
obligationFarmUserState: PublicKey;
reserveFarmState: PublicKey;
};
withdrawFarmsAccounts: {
obligationFarmUserState: PublicKey;
reserveFarmState: PublicKey;
};
farmsProgram: PublicKey;
}
export declare const layout: any;
export declare function depositAndWithdraw(args: DepositAndWithdrawArgs, accounts: DepositAndWithdrawAccounts, programId?: PublicKey): TransactionInstruction;
//# sourceMappingURL=depositAndWithdraw.d.ts.map