UNPKG

@kamino-finance/klend-sdk

Version:

Typescript SDK for interacting with the Kamino Lending (klend) protocol

1,565 lines (1,564 loc) 216 kB
{ "version": "1.11.0", "name": "kamino_lending", "instructions": [ { "name": "initLendingMarket", "accounts": [ { "name": "lendingMarketOwner", "isMut": true, "isSigner": true }, { "name": "lendingMarket", "isMut": true, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false } ], "args": [ { "name": "quoteCurrency", "type": { "array": [ "u8", 32 ] } } ] }, { "name": "updateLendingMarket", "accounts": [ { "name": "lendingMarketOwner", "isMut": false, "isSigner": true }, { "name": "lendingMarket", "isMut": true, "isSigner": false } ], "args": [ { "name": "mode", "type": "u64" }, { "name": "value", "type": { "array": [ "u8", 72 ] } } ] }, { "name": "updateLendingMarketOwner", "accounts": [ { "name": "lendingMarketOwnerCached", "isMut": false, "isSigner": true }, { "name": "lendingMarket", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "initReserve", "accounts": [ { "name": "lendingMarketOwner", "isMut": true, "isSigner": true }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "reserveLiquidityMint", "isMut": false, "isSigner": false }, { "name": "reserveLiquiditySupply", "isMut": true, "isSigner": false }, { "name": "feeReceiver", "isMut": true, "isSigner": false }, { "name": "reserveCollateralMint", "isMut": true, "isSigner": false }, { "name": "reserveCollateralSupply", "isMut": true, "isSigner": false }, { "name": "initialLiquiditySource", "isMut": true, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "liquidityTokenProgram", "isMut": false, "isSigner": false }, { "name": "collateralTokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "initFarmsForReserve", "accounts": [ { "name": "lendingMarketOwner", "isMut": true, "isSigner": true }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "farmsProgram", "isMut": false, "isSigner": false }, { "name": "farmsGlobalConfig", "isMut": false, "isSigner": false }, { "name": "farmState", "isMut": true, "isSigner": false }, { "name": "farmsVaultAuthority", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "mode", "type": "u8" } ] }, { "name": "updateReserveConfig", "accounts": [ { "name": "signer", "isMut": false, "isSigner": true }, { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false } ], "args": [ { "name": "mode", "type": { "defined": "UpdateConfigMode" } }, { "name": "value", "type": "bytes" }, { "name": "skipConfigIntegrityValidation", "type": "bool" } ] }, { "name": "redeemFees", "accounts": [ { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "reserveLiquidityMint", "isMut": false, "isSigner": false }, { "name": "reserveLiquidityFeeReceiver", "isMut": true, "isSigner": false }, { "name": "reserveSupplyLiquidity", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "withdrawProtocolFee", "accounts": [ { "name": "globalConfig", "isMut": false, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": false, "isSigner": false }, { "name": "reserveLiquidityMint", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "feeVault", "isMut": true, "isSigner": false }, { "name": "feeCollectorAta", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" } ] }, { "name": "socializeLoss", "accounts": [ { "name": "riskCouncil", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "liquidityAmount", "type": "u64" } ] }, { "name": "socializeLossV2", "accounts": [ { "name": "socializeLossAccounts", "accounts": [ { "name": "riskCouncil", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ] }, { "name": "farmsAccounts", "accounts": [ { "name": "obligationFarmUserState", "isMut": true, "isSigner": false, "isOptional": true }, { "name": "reserveFarmState", "isMut": true, "isSigner": false, "isOptional": true } ] }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "farmsProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "liquidityAmount", "type": "u64" } ] }, { "name": "markObligationForDeleveraging", "accounts": [ { "name": "riskCouncil", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false } ], "args": [ { "name": "autodeleverageTargetLtvPct", "type": "u8" } ] }, { "name": "refreshReserve", "accounts": [ { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "pythOracle", "isMut": false, "isSigner": false, "isOptional": true }, { "name": "switchboardPriceOracle", "isMut": false, "isSigner": false, "isOptional": true }, { "name": "switchboardTwapOracle", "isMut": false, "isSigner": false, "isOptional": true }, { "name": "scopePrices", "isMut": false, "isSigner": false, "isOptional": true } ], "args": [] }, { "name": "refreshReservesBatch", "accounts": [], "args": [ { "name": "skipPriceUpdates", "type": "bool" } ] }, { "name": "depositReserveLiquidity", "accounts": [ { "name": "owner", "isMut": false, "isSigner": true }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "reserveLiquidityMint", "isMut": false, "isSigner": false }, { "name": "reserveLiquiditySupply", "isMut": true, "isSigner": false }, { "name": "reserveCollateralMint", "isMut": true, "isSigner": false }, { "name": "userSourceLiquidity", "isMut": true, "isSigner": false }, { "name": "userDestinationCollateral", "isMut": true, "isSigner": false }, { "name": "collateralTokenProgram", "isMut": false, "isSigner": false }, { "name": "liquidityTokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "liquidityAmount", "type": "u64" } ] }, { "name": "redeemReserveCollateral", "accounts": [ { "name": "owner", "isMut": false, "isSigner": true }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "reserveLiquidityMint", "isMut": false, "isSigner": false }, { "name": "reserveCollateralMint", "isMut": true, "isSigner": false }, { "name": "reserveLiquiditySupply", "isMut": true, "isSigner": false }, { "name": "userSourceCollateral", "isMut": true, "isSigner": false }, { "name": "userDestinationLiquidity", "isMut": true, "isSigner": false }, { "name": "collateralTokenProgram", "isMut": false, "isSigner": false }, { "name": "liquidityTokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "collateralAmount", "type": "u64" } ] }, { "name": "initObligation", "accounts": [ { "name": "obligationOwner", "isMut": false, "isSigner": true }, { "name": "feePayer", "isMut": true, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "seed1Account", "isMut": false, "isSigner": false }, { "name": "seed2Account", "isMut": false, "isSigner": false }, { "name": "ownerUserMetadata", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "args", "type": { "defined": "InitObligationArgs" } } ] }, { "name": "initObligationFarmsForReserve", "accounts": [ { "name": "payer", "isMut": true, "isSigner": true }, { "name": "owner", "isMut": false, "isSigner": false }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": true, "isSigner": false }, { "name": "reserveFarmState", "isMut": true, "isSigner": false }, { "name": "obligationFarm", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "farmsProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "mode", "type": "u8" } ] }, { "name": "refreshObligationFarmsForReserve", "accounts": [ { "name": "crank", "isMut": false, "isSigner": true }, { "name": "baseAccounts", "accounts": [ { "name": "obligation", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "reserve", "isMut": false, "isSigner": false }, { "name": "reserveFarmState", "isMut": true, "isSigner": false }, { "name": "obligationFarmUserState", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false } ] }, { "name": "farmsProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "mode", "type": "u8" } ] }, { "name": "refreshObligation", "accounts": [ { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "obligation", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "depositObligationCollateral", "accounts": [ { "name": "owner", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "depositReserve", "isMut": true, "isSigner": false }, { "name": "reserveDestinationCollateral", "isMut": true, "isSigner": false }, { "name": "userSourceCollateral", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "collateralAmount", "type": "u64" } ] }, { "name": "depositObligationCollateralV2", "accounts": [ { "name": "depositAccounts", "accounts": [ { "name": "owner", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "depositReserve", "isMut": true, "isSigner": false }, { "name": "reserveDestinationCollateral", "isMut": true, "isSigner": false }, { "name": "userSourceCollateral", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ] }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "farmsAccounts", "accounts": [ { "name": "obligationFarmUserState", "isMut": true, "isSigner": false, "isOptional": true }, { "name": "reserveFarmState", "isMut": true, "isSigner": false, "isOptional": true } ] }, { "name": "farmsProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "collateralAmount", "type": "u64" } ] }, { "name": "withdrawObligationCollateral", "accounts": [ { "name": "owner", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "withdrawReserve", "isMut": true, "isSigner": false }, { "name": "reserveSourceCollateral", "isMut": true, "isSigner": false }, { "name": "userDestinationCollateral", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "collateralAmount", "type": "u64" } ] }, { "name": "withdrawObligationCollateralV2", "accounts": [ { "name": "withdrawAccounts", "accounts": [ { "name": "owner", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "withdrawReserve", "isMut": true, "isSigner": false }, { "name": "reserveSourceCollateral", "isMut": true, "isSigner": false }, { "name": "userDestinationCollateral", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ] }, { "name": "farmsAccounts", "accounts": [ { "name": "obligationFarmUserState", "isMut": true, "isSigner": false, "isOptional": true }, { "name": "reserveFarmState", "isMut": true, "isSigner": false, "isOptional": true } ] }, { "name": "farmsProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "collateralAmount", "type": "u64" } ] }, { "name": "borrowObligationLiquidity", "accounts": [ { "name": "owner", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "borrowReserve", "isMut": true, "isSigner": false }, { "name": "borrowReserveLiquidityMint", "isMut": false, "isSigner": false }, { "name": "reserveSourceLiquidity", "isMut": true, "isSigner": false }, { "name": "borrowReserveLiquidityFeeReceiver", "isMut": true, "isSigner": false }, { "name": "userDestinationLiquidity", "isMut": true, "isSigner": false }, { "name": "referrerTokenState", "isMut": true, "isSigner": false, "isOptional": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "liquidityAmount", "type": "u64" } ] }, { "name": "borrowObligationLiquidityV2", "accounts": [ { "name": "borrowAccounts", "accounts": [ { "name": "owner", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "borrowReserve", "isMut": true, "isSigner": false }, { "name": "borrowReserveLiquidityMint", "isMut": false, "isSigner": false }, { "name": "reserveSourceLiquidity", "isMut": true, "isSigner": false }, { "name": "borrowReserveLiquidityFeeReceiver", "isMut": true, "isSigner": false }, { "name": "userDestinationLiquidity", "isMut": true, "isSigner": false }, { "name": "referrerTokenState", "isMut": true, "isSigner": false, "isOptional": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ] }, { "name": "farmsAccounts", "accounts": [ { "name": "obligationFarmUserState", "isMut": true, "isSigner": false, "isOptional": true }, { "name": "reserveFarmState", "isMut": true, "isSigner": false, "isOptional": true } ] }, { "name": "farmsProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "liquidityAmount", "type": "u64" } ] }, { "name": "repayObligationLiquidity", "accounts": [ { "name": "owner", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "repayReserve", "isMut": true, "isSigner": false }, { "name": "reserveLiquidityMint", "isMut": false, "isSigner": false }, { "name": "reserveDestinationLiquidity", "isMut": true, "isSigner": false }, { "name": "userSourceLiquidity", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ], "args": [ { "name": "liquidityAmount", "type": "u64" } ] }, { "name": "repayObligationLiquidityV2", "accounts": [ { "name": "repayAccounts", "accounts": [ { "name": "owner", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "repayReserve", "isMut": true, "isSigner": false }, { "name": "reserveLiquidityMint", "isMut": false, "isSigner": false }, { "name": "reserveDestinationLiquidity", "isMut": true, "isSigner": false }, { "name": "userSourceLiquidity", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ] }, { "name": "farmsAccounts", "accounts": [ { "name": "obligationFarmUserState", "isMut": true, "isSigner": false, "isOptional": true }, { "name": "reserveFarmState", "isMut": true, "isSigner": false, "isOptional": true } ] }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "farmsProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "liquidityAmount", "type": "u64" } ] }, { "name": "repayAndWithdrawAndRedeem", "accounts": [ { "name": "repayAccounts", "accounts": [ { "name": "owner", "isMut": false, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "repayReserve", "isMut": true, "isSigner": false }, { "name": "reserveLiquidityMint", "isMut": false, "isSigner": false }, { "name": "reserveDestinationLiquidity", "isMut": true, "isSigner": false }, { "name": "userSourceLiquidity", "isMut": true, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "instructionSysvarAccount", "isMut": false, "isSigner": false } ] }, { "name": "withdrawAccounts", "accounts": [ { "name": "owner", "isMut": true, "isSigner": true }, { "name": "obligation", "isMut": true, "isSigner": false }, { "name": "lendingMarket", "isMut": false, "isSigner": false }, { "name": "lendingMarketAuthority", "isMut": false, "isSigner": false }, { "name": "withdrawReserve", "isMut": true, "isSigner": false }, { "name": "reserveLiquidityMint", "isMut": false, "isSigner": false }, {