@kamino-finance/klend-sdk 7.4.0-beta.1 → 7.4.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@codegen/klend/accounts/LendingMarket.d.ts +201 -6
- package/dist/@codegen/klend/accounts/LendingMarket.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/LendingMarket.js +130 -8
- package/dist/@codegen/klend/accounts/LendingMarket.js.map +1 -1
- package/dist/@codegen/klend/accounts/Obligation.d.ts +24 -15
- package/dist/@codegen/klend/accounts/Obligation.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/Obligation.js +24 -21
- package/dist/@codegen/klend/accounts/Obligation.js.map +1 -1
- package/dist/@codegen/klend/accounts/Reserve.d.ts +6 -0
- package/dist/@codegen/klend/accounts/Reserve.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/Reserve.js +9 -2
- package/dist/@codegen/klend/accounts/Reserve.js.map +1 -1
- package/dist/@codegen/klend/accounts/UserState.d.ts +0 -75
- package/dist/@codegen/klend/accounts/UserState.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/UserState.js +0 -25
- package/dist/@codegen/klend/accounts/UserState.js.map +1 -1
- package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts +144 -0
- package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts.map +1 -0
- package/dist/@codegen/klend/accounts/WithdrawTicket.js +205 -0
- package/dist/@codegen/klend/accounts/WithdrawTicket.js.map +1 -0
- package/dist/@codegen/klend/accounts/index.d.ts +2 -0
- package/dist/@codegen/klend/accounts/index.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/index.js +3 -1
- package/dist/@codegen/klend/accounts/index.js.map +1 -1
- package/dist/@codegen/klend/errors/custom.d.ts +169 -1
- package/dist/@codegen/klend/errors/custom.d.ts.map +1 -1
- package/dist/@codegen/klend/errors/custom.js +296 -1
- package/dist/@codegen/klend/errors/custom.js.map +1 -1
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts +62 -0
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.js +79 -0
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.js.map +1 -0
- package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts +36 -0
- package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/fillBorrowOrder.js +49 -0
- package/dist/@codegen/klend/instructions/fillBorrowOrder.js.map +1 -0
- package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts +0 -1
- package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/idlMissingTypes.js +0 -2
- package/dist/@codegen/klend/instructions/idlMissingTypes.js.map +1 -1
- package/dist/@codegen/klend/instructions/index.d.ts +10 -0
- package/dist/@codegen/klend/instructions/index.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/index.js +12 -1
- package/dist/@codegen/klend/instructions/index.js.map +1 -1
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts +54 -0
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js +66 -0
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js.map +1 -0
- package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts +33 -0
- package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/setBorrowOrder.js +66 -0
- package/dist/@codegen/klend/instructions/setBorrowOrder.js.map +1 -0
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts +66 -0
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts.map +1 -0
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js +41 -0
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js.map +1 -0
- package/dist/@codegen/klend/types/BorrowOrder.d.ts +192 -0
- package/dist/@codegen/klend/types/BorrowOrder.d.ts.map +1 -0
- package/dist/@codegen/klend/types/BorrowOrder.js +194 -0
- package/dist/@codegen/klend/types/BorrowOrder.js.map +1 -0
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts +39 -0
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts.map +1 -0
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js +100 -0
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js.map +1 -0
- package/dist/@codegen/klend/types/FixedTermBorrowRolloverConfig.d.ts +145 -0
- package/dist/@codegen/klend/types/FixedTermBorrowRolloverConfig.d.ts.map +1 -0
- package/dist/@codegen/klend/types/FixedTermBorrowRolloverConfig.js +144 -0
- package/dist/@codegen/klend/types/FixedTermBorrowRolloverConfig.js.map +1 -0
- package/dist/@codegen/klend/types/ObligationLiquidity.d.ts +64 -5
- package/dist/@codegen/klend/types/ObligationLiquidity.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ObligationLiquidity.js +32 -8
- package/dist/@codegen/klend/types/ObligationLiquidity.js.map +1 -1
- package/dist/@codegen/klend/types/ObligationOrder.d.ts +4 -4
- package/dist/@codegen/klend/types/ObligationOrder.js +2 -2
- package/dist/@codegen/klend/types/ProgressCallbackType.d.ts +32 -0
- package/dist/@codegen/klend/types/ProgressCallbackType.d.ts.map +1 -0
- package/dist/@codegen/klend/types/{AssetTier.js → ProgressCallbackType.js} +24 -48
- package/dist/@codegen/klend/types/ProgressCallbackType.js.map +1 -0
- package/dist/@codegen/klend/types/ReserveConfig.d.ts +60 -5
- package/dist/@codegen/klend/types/ReserveConfig.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ReserveConfig.js +36 -7
- package/dist/@codegen/klend/types/ReserveConfig.js.map +1 -1
- package/dist/@codegen/klend/types/ReserveLiquidity.d.ts +26 -8
- package/dist/@codegen/klend/types/ReserveLiquidity.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ReserveLiquidity.js +14 -8
- package/dist/@codegen/klend/types/ReserveLiquidity.js.map +1 -1
- package/dist/@codegen/klend/types/UpdateConfigMode.d.ts +40 -14
- package/dist/@codegen/klend/types/UpdateConfigMode.d.ts.map +1 -1
- package/dist/@codegen/klend/types/UpdateConfigMode.js +72 -24
- package/dist/@codegen/klend/types/UpdateConfigMode.js.map +1 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts +130 -0
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts.map +1 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.js +241 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.js.map +1 -1
- package/dist/@codegen/klend/types/WithdrawQueue.d.ts +64 -0
- package/dist/@codegen/klend/types/WithdrawQueue.d.ts.map +1 -0
- package/dist/@codegen/klend/types/WithdrawQueue.js +104 -0
- package/dist/@codegen/klend/types/WithdrawQueue.js.map +1 -0
- package/dist/@codegen/klend/types/index.d.ts +27 -8
- package/dist/@codegen/klend/types/index.d.ts.map +1 -1
- package/dist/@codegen/klend/types/index.js +11 -3
- package/dist/@codegen/klend/types/index.js.map +1 -1
- package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts +8 -5
- package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts.map +1 -1
- package/dist/@codegen/klend/zero_padding/ObligationZP.js +17 -14
- package/dist/@codegen/klend/zero_padding/ObligationZP.js.map +1 -1
- package/dist/@codegen/kvault/accounts/LendingMarket.d.ts +480 -0
- package/dist/@codegen/kvault/accounts/LendingMarket.d.ts.map +1 -0
- package/dist/@codegen/kvault/accounts/LendingMarket.js +480 -0
- package/dist/@codegen/kvault/accounts/LendingMarket.js.map +1 -0
- package/dist/@codegen/kvault/accounts/Obligation.d.ts +208 -0
- package/dist/@codegen/kvault/accounts/Obligation.d.ts.map +1 -0
- package/dist/@codegen/kvault/accounts/Obligation.js +298 -0
- package/dist/@codegen/kvault/accounts/Obligation.js.map +1 -0
- package/dist/@codegen/kvault/accounts/ReferrerTokenState.d.ts +51 -0
- package/dist/@codegen/kvault/accounts/ReferrerTokenState.d.ts.map +1 -0
- package/dist/@codegen/kvault/accounts/ReferrerTokenState.js +137 -0
- package/dist/@codegen/kvault/accounts/ReferrerTokenState.js.map +1 -0
- package/dist/@codegen/kvault/accounts/Reserve.d.ts +6 -0
- package/dist/@codegen/kvault/accounts/Reserve.d.ts.map +1 -1
- package/dist/@codegen/kvault/accounts/Reserve.js +9 -2
- package/dist/@codegen/kvault/accounts/Reserve.js.map +1 -1
- package/dist/@codegen/kvault/accounts/VaultState.d.ts +45 -3
- package/dist/@codegen/kvault/accounts/VaultState.d.ts.map +1 -1
- package/dist/@codegen/kvault/accounts/VaultState.js +28 -4
- package/dist/@codegen/kvault/accounts/VaultState.js.map +1 -1
- package/dist/@codegen/kvault/accounts/WithdrawTicket.d.ts +144 -0
- package/dist/@codegen/kvault/accounts/WithdrawTicket.d.ts.map +1 -0
- package/dist/@codegen/kvault/accounts/WithdrawTicket.js +205 -0
- package/dist/@codegen/kvault/accounts/WithdrawTicket.js.map +1 -0
- package/dist/@codegen/kvault/accounts/index.d.ts +8 -0
- package/dist/@codegen/kvault/accounts/index.d.ts.map +1 -1
- package/dist/@codegen/kvault/accounts/index.js +9 -1
- package/dist/@codegen/kvault/accounts/index.js.map +1 -1
- package/dist/@codegen/kvault/errors/custom.d.ts +81 -1
- package/dist/@codegen/kvault/errors/custom.d.ts.map +1 -1
- package/dist/@codegen/kvault/errors/custom.js +141 -1
- package/dist/@codegen/kvault/errors/custom.js.map +1 -1
- package/dist/@codegen/kvault/instructions/index.d.ts +4 -0
- package/dist/@codegen/kvault/instructions/index.d.ts.map +1 -1
- package/dist/@codegen/kvault/instructions/index.js +5 -1
- package/dist/@codegen/kvault/instructions/index.js.map +1 -1
- package/dist/@codegen/kvault/instructions/invest.d.ts +9 -0
- package/dist/@codegen/kvault/instructions/invest.d.ts.map +1 -1
- package/dist/@codegen/kvault/instructions/invest.js +7 -0
- package/dist/@codegen/kvault/instructions/invest.js.map +1 -1
- package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillOrder.d.ts +51 -0
- package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillOrder.d.ts.map +1 -0
- package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillOrder.js +154 -0
- package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillOrder.js.map +1 -0
- package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillWithdrawalTicket.d.ts +54 -0
- package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillWithdrawalTicket.d.ts.map +1 -0
- package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillWithdrawalTicket.js +166 -0
- package/dist/@codegen/kvault/instructions/investInVirtualReserveAndFillWithdrawalTicket.js.map +1 -0
- package/dist/@codegen/kvault/instructions/updateKlendQueueAccounting.d.ts +1 -0
- package/dist/@codegen/kvault/instructions/updateKlendQueueAccounting.d.ts.map +1 -0
- package/dist/@codegen/kvault/instructions/updateKlendQueueAccounting.js +72 -0
- package/dist/@codegen/kvault/instructions/updateKlendQueueAccounting.js.map +1 -0
- package/dist/@codegen/kvault/instructions/updateReserveAllocation.d.ts +3 -1
- package/dist/@codegen/kvault/instructions/updateReserveAllocation.d.ts.map +1 -1
- package/dist/@codegen/kvault/instructions/updateReserveAllocation.js +3 -0
- package/dist/@codegen/kvault/instructions/updateReserveAllocation.js.map +1 -1
- package/dist/@codegen/kvault/types/BorrowOrder.d.ts +192 -0
- package/dist/@codegen/kvault/types/BorrowOrder.d.ts.map +1 -0
- package/dist/@codegen/kvault/types/BorrowOrder.js +194 -0
- package/dist/@codegen/kvault/types/BorrowOrder.js.map +1 -0
- package/dist/@codegen/kvault/types/ElevationGroup.d.ts +67 -0
- package/dist/@codegen/kvault/types/ElevationGroup.d.ts.map +1 -0
- package/dist/@codegen/kvault/types/ElevationGroup.js +137 -0
- package/dist/@codegen/kvault/types/ElevationGroup.js.map +1 -0
- package/dist/@codegen/kvault/types/FixedTermBorrowRolloverConfig.d.ts +145 -0
- package/dist/@codegen/kvault/types/FixedTermBorrowRolloverConfig.d.ts.map +1 -0
- package/dist/@codegen/kvault/types/FixedTermBorrowRolloverConfig.js +144 -0
- package/dist/@codegen/kvault/types/FixedTermBorrowRolloverConfig.js.map +1 -0
- package/dist/@codegen/kvault/types/ObligationCollateral.d.ts +72 -0
- package/dist/@codegen/kvault/types/ObligationCollateral.d.ts.map +1 -0
- package/dist/@codegen/kvault/types/ObligationCollateral.js +119 -0
- package/dist/@codegen/kvault/types/ObligationCollateral.js.map +1 -0
- package/dist/@codegen/kvault/types/ObligationLiquidity.d.ts +143 -0
- package/dist/@codegen/kvault/types/ObligationLiquidity.d.ts.map +1 -0
- package/dist/@codegen/kvault/types/ObligationLiquidity.js +165 -0
- package/dist/@codegen/kvault/types/ObligationLiquidity.js.map +1 -0
- package/dist/@codegen/kvault/types/ObligationOrder.d.ts +284 -0
- package/dist/@codegen/kvault/types/ObligationOrder.d.ts.map +1 -0
- package/dist/@codegen/kvault/types/ObligationOrder.js +205 -0
- package/dist/@codegen/kvault/types/ObligationOrder.js.map +1 -0
- package/dist/@codegen/kvault/types/ReserveConfig.d.ts +60 -5
- package/dist/@codegen/kvault/types/ReserveConfig.d.ts.map +1 -1
- package/dist/@codegen/kvault/types/ReserveConfig.js +36 -7
- package/dist/@codegen/kvault/types/ReserveConfig.js.map +1 -1
- package/dist/@codegen/kvault/types/ReserveLiquidity.d.ts +26 -8
- package/dist/@codegen/kvault/types/ReserveLiquidity.d.ts.map +1 -1
- package/dist/@codegen/kvault/types/ReserveLiquidity.js +14 -8
- package/dist/@codegen/kvault/types/ReserveLiquidity.js.map +1 -1
- package/dist/@codegen/kvault/types/ReserveType.d.ts +32 -0
- package/dist/@codegen/kvault/types/ReserveType.d.ts.map +1 -0
- package/dist/@codegen/kvault/types/ReserveType.js +108 -0
- package/dist/@codegen/kvault/types/ReserveType.js.map +1 -0
- package/dist/@codegen/kvault/types/VaultAllocation.d.ts +60 -0
- package/dist/@codegen/kvault/types/VaultAllocation.d.ts.map +1 -1
- package/dist/@codegen/kvault/types/VaultAllocation.js +38 -2
- package/dist/@codegen/kvault/types/VaultAllocation.js.map +1 -1
- package/dist/@codegen/kvault/types/WithdrawQueue.d.ts +64 -0
- package/dist/@codegen/kvault/types/WithdrawQueue.d.ts.map +1 -0
- package/dist/@codegen/kvault/types/WithdrawQueue.js +104 -0
- package/dist/@codegen/kvault/types/WithdrawQueue.js.map +1 -0
- package/dist/@codegen/kvault/types/WithdrawTicketProgressEvent.d.ts +19 -0
- package/dist/@codegen/kvault/types/WithdrawTicketProgressEvent.d.ts.map +1 -0
- package/dist/@codegen/kvault/types/WithdrawTicketProgressEvent.js +82 -0
- package/dist/@codegen/kvault/types/WithdrawTicketProgressEvent.js.map +1 -0
- package/dist/@codegen/kvault/types/index.d.ts +34 -0
- package/dist/@codegen/kvault/types/index.d.ts.map +1 -1
- package/dist/@codegen/kvault/types/index.js +19 -1
- package/dist/@codegen/kvault/types/index.js.map +1 -1
- package/dist/classes/action.d.ts +11 -0
- package/dist/classes/action.d.ts.map +1 -1
- package/dist/classes/action.js +66 -0
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/actionTypes.d.ts +29 -0
- package/dist/classes/actionTypes.d.ts.map +1 -1
- package/dist/classes/manager.d.ts +1 -1
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +13 -8
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/market.d.ts +10 -5
- package/dist/classes/market.d.ts.map +1 -1
- package/dist/classes/market.js +22 -15
- package/dist/classes/market.js.map +1 -1
- package/dist/classes/obligation.d.ts +2 -2
- package/dist/classes/obligation.d.ts.map +1 -1
- package/dist/classes/obligation.js +9 -7
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/reserve.d.ts +2 -1
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +48 -32
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/utils.d.ts +2 -0
- package/dist/classes/utils.d.ts.map +1 -1
- package/dist/classes/utils.js +12 -1
- package/dist/classes/utils.js.map +1 -1
- package/dist/classes/vault.d.ts +4 -2
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +12 -2
- package/dist/classes/vault.js.map +1 -1
- package/dist/idl/klend.json +1461 -106
- package/dist/manager/client_kamino_manager.js +14 -11
- package/dist/manager/client_kamino_manager.js.map +1 -1
- package/dist/obligation_orders/price_based.js +5 -4
- package/dist/obligation_orders/price_based.js.map +1 -1
- package/dist/utils/managerTypes.d.ts.map +1 -1
- package/dist/utils/managerTypes.js +3 -1
- package/dist/utils/managerTypes.js.map +1 -1
- package/dist/utils/seeds.d.ts +24 -0
- package/dist/utils/seeds.d.ts.map +1 -1
- package/dist/utils/seeds.js +41 -1
- package/dist/utils/seeds.js.map +1 -1
- package/dist/utils/validations.d.ts +1 -0
- package/dist/utils/validations.d.ts.map +1 -1
- package/dist/utils/validations.js +5 -0
- package/dist/utils/validations.js.map +1 -1
- package/dist/utils/vault.d.ts.map +1 -1
- package/dist/utils/vault.js +2 -0
- package/dist/utils/vault.js.map +1 -1
- package/package.json +1 -1
- package/src/@codegen/klend/accounts/LendingMarket.ts +284 -12
- package/src/@codegen/klend/accounts/Obligation.ts +42 -31
- package/src/@codegen/klend/accounts/Reserve.ts +13 -2
- package/src/@codegen/klend/accounts/UserState.ts +0 -75
- package/src/@codegen/klend/accounts/WithdrawTicket.ts +280 -0
- package/src/@codegen/klend/accounts/index.ts +2 -0
- package/src/@codegen/klend/errors/custom.ts +333 -0
- package/src/@codegen/klend/instructions/enqueueToWithdraw.ts +120 -0
- package/src/@codegen/klend/instructions/fillBorrowOrder.ts +96 -0
- package/src/@codegen/klend/instructions/idlMissingTypes.ts +0 -3
- package/src/@codegen/klend/instructions/index.ts +19 -0
- package/src/@codegen/klend/instructions/recoverInvalidTicketCollateral.ts +103 -0
- package/src/@codegen/klend/instructions/setBorrowOrder.ts +81 -0
- package/src/@codegen/klend/instructions/withdrawQueuedLiquidity.ts +118 -0
- package/src/@codegen/klend/types/BorrowOrder.ts +267 -0
- package/src/@codegen/klend/types/BorrowOrderConfigArgs.ts +87 -0
- package/src/@codegen/klend/types/FixedTermBorrowRolloverConfig.ts +199 -0
- package/src/@codegen/klend/types/ObligationLiquidity.ts +76 -10
- package/src/@codegen/klend/types/ObligationOrder.ts +4 -4
- package/src/@codegen/klend/types/ProgressCallbackType.ts +91 -0
- package/src/@codegen/klend/types/ReserveConfig.ts +72 -9
- package/src/@codegen/klend/types/ReserveLiquidity.ts +30 -12
- package/src/@codegen/klend/types/UpdateConfigMode.ts +86 -26
- package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +300 -0
- package/src/@codegen/klend/types/WithdrawQueue.ts +117 -0
- package/src/@codegen/klend/types/index.ts +63 -16
- package/src/@codegen/klend/zero_padding/ObligationZP.ts +17 -14
- package/src/@codegen/kvault/accounts/LendingMarket.ts +837 -0
- package/src/@codegen/kvault/accounts/Obligation.ts +459 -0
- package/src/@codegen/kvault/accounts/ReferrerTokenState.ts +160 -0
- package/src/@codegen/kvault/accounts/Reserve.ts +13 -2
- package/src/@codegen/kvault/accounts/VaultState.ts +59 -7
- package/src/@codegen/kvault/accounts/WithdrawTicket.ts +280 -0
- package/src/@codegen/kvault/accounts/index.ts +11 -0
- package/src/@codegen/kvault/errors/custom.ts +152 -0
- package/src/@codegen/kvault/instructions/index.ts +10 -0
- package/src/@codegen/kvault/instructions/invest.ts +16 -0
- package/src/@codegen/kvault/instructions/investInVirtualReserveAndFillOrder.ts +189 -0
- package/src/@codegen/kvault/instructions/investInVirtualReserveAndFillWithdrawalTicket.ts +205 -0
- package/src/@codegen/kvault/instructions/updateKlendQueueAccounting.ts +76 -0
- package/src/@codegen/kvault/instructions/updateReserveAllocation.ts +4 -1
- package/src/@codegen/kvault/types/BorrowOrder.ts +267 -0
- package/src/@codegen/kvault/types/ElevationGroup.ts +134 -0
- package/src/@codegen/kvault/types/FixedTermBorrowRolloverConfig.ts +199 -0
- package/src/@codegen/kvault/types/ObligationCollateral.ts +129 -0
- package/src/@codegen/kvault/types/ObligationLiquidity.ts +226 -0
- package/src/@codegen/kvault/types/ObligationOrder.ts +348 -0
- package/src/@codegen/kvault/types/ReserveConfig.ts +72 -9
- package/src/@codegen/kvault/types/ReserveLiquidity.ts +30 -12
- package/src/@codegen/kvault/types/ReserveType.ts +89 -0
- package/src/@codegen/kvault/types/VaultAllocation.ts +74 -2
- package/src/@codegen/kvault/types/WithdrawQueue.ts +117 -0
- package/src/@codegen/kvault/types/WithdrawTicketProgressEvent.ts +59 -0
- package/src/@codegen/kvault/types/index.ts +52 -0
- package/src/classes/action.ts +115 -1
- package/src/classes/actionTypes.ts +31 -0
- package/src/classes/manager.ts +24 -27
- package/src/classes/market.ts +34 -17
- package/src/classes/obligation.ts +9 -7
- package/src/classes/reserve.ts +48 -45
- package/src/classes/utils.ts +8 -0
- package/src/classes/vault.ts +35 -4
- package/src/idl/klend.json +1461 -106
- package/src/idl/kvault.json +2336 -299
- package/src/manager/client_kamino_manager.ts +14 -12
- package/src/obligation_orders/price_based.ts +7 -6
- package/src/utils/managerTypes.ts +3 -1
- package/src/utils/seeds.ts +49 -0
- package/src/utils/validations.ts +5 -0
- package/src/utils/vault.ts +2 -0
- package/dist/@codegen/klend/types/AssetTier.d.ts +0 -45
- package/dist/@codegen/klend/types/AssetTier.d.ts.map +0 -1
- package/dist/@codegen/klend/types/AssetTier.js.map +0 -1
- package/src/@codegen/klend/types/AssetTier.ts +0 -119
|
@@ -132,6 +132,27 @@ export type CustomError =
|
|
|
132
132
|
| InitialAdminDepositExecuted
|
|
133
133
|
| ReserveHasNotReceivedInitialDeposit
|
|
134
134
|
| CTokenUsageBlocked
|
|
135
|
+
| CannotUseSameReserve
|
|
136
|
+
| TransactionIncludesRestrictedPrograms
|
|
137
|
+
| BorrowOrderDebtLiquidityMintMismatch
|
|
138
|
+
| BorrowOrderMaxBorrowRateExceeded
|
|
139
|
+
| BorrowOrderMinDebtTermInsufficient
|
|
140
|
+
| BorrowOrderFillTimeLimitExceeded
|
|
141
|
+
| ReserveDebtMaturityReached
|
|
142
|
+
| NonUpdatableOrderConfiguration
|
|
143
|
+
| BorrowOrderExecutionDisabled
|
|
144
|
+
| DebtReachedReserveDebtTerm
|
|
145
|
+
| ExpectationNotMet
|
|
146
|
+
| WithdrawTicketIssuanceDisabled
|
|
147
|
+
| WithdrawTicketRedemptionDisabled
|
|
148
|
+
| WithdrawTicketStillValid
|
|
149
|
+
| WithdrawTicketRequiresFullRedemption
|
|
150
|
+
| UserTokenBalanceMismatch
|
|
151
|
+
| WithdrawQueuedLiquidityValueTooSmall
|
|
152
|
+
| InvalidTokenAccountState
|
|
153
|
+
| WithdrawTicketInvalid
|
|
154
|
+
| InvalidWithdrawTicketProgressCallbackConfig
|
|
155
|
+
| WithdrawTicketProgressCallbackAccountsMissing
|
|
135
156
|
|
|
136
157
|
export class InvalidMarketAuthority extends Error {
|
|
137
158
|
static readonly code = 6000
|
|
@@ -1680,6 +1701,276 @@ export class CTokenUsageBlocked extends Error {
|
|
|
1680
1701
|
}
|
|
1681
1702
|
}
|
|
1682
1703
|
|
|
1704
|
+
export class CannotUseSameReserve extends Error {
|
|
1705
|
+
static readonly code = 6133
|
|
1706
|
+
readonly code = 6133
|
|
1707
|
+
readonly name = "CannotUseSameReserve"
|
|
1708
|
+
readonly msg = "Cannot call ix with same reserve"
|
|
1709
|
+
|
|
1710
|
+
constructor(readonly logs?: string[]) {
|
|
1711
|
+
super("6133: Cannot call ix with same reserve")
|
|
1712
|
+
}
|
|
1713
|
+
}
|
|
1714
|
+
|
|
1715
|
+
export class TransactionIncludesRestrictedPrograms extends Error {
|
|
1716
|
+
static readonly code = 6134
|
|
1717
|
+
readonly code = 6134
|
|
1718
|
+
readonly name = "TransactionIncludesRestrictedPrograms"
|
|
1719
|
+
readonly msg = "Transaction includes restricted programs"
|
|
1720
|
+
|
|
1721
|
+
constructor(readonly logs?: string[]) {
|
|
1722
|
+
super("6134: Transaction includes restricted programs")
|
|
1723
|
+
}
|
|
1724
|
+
}
|
|
1725
|
+
|
|
1726
|
+
export class BorrowOrderDebtLiquidityMintMismatch extends Error {
|
|
1727
|
+
static readonly code = 6135
|
|
1728
|
+
readonly code = 6135
|
|
1729
|
+
readonly name = "BorrowOrderDebtLiquidityMintMismatch"
|
|
1730
|
+
readonly msg = "There is no borrow order requesting debt in the given asset"
|
|
1731
|
+
|
|
1732
|
+
constructor(readonly logs?: string[]) {
|
|
1733
|
+
super("6135: There is no borrow order requesting debt in the given asset")
|
|
1734
|
+
}
|
|
1735
|
+
}
|
|
1736
|
+
|
|
1737
|
+
export class BorrowOrderMaxBorrowRateExceeded extends Error {
|
|
1738
|
+
static readonly code = 6136
|
|
1739
|
+
readonly code = 6136
|
|
1740
|
+
readonly name = "BorrowOrderMaxBorrowRateExceeded"
|
|
1741
|
+
readonly msg =
|
|
1742
|
+
"Reserve used for fill exceeds the maximum borrow rate specified by the order"
|
|
1743
|
+
|
|
1744
|
+
constructor(readonly logs?: string[]) {
|
|
1745
|
+
super(
|
|
1746
|
+
"6136: Reserve used for fill exceeds the maximum borrow rate specified by the order"
|
|
1747
|
+
)
|
|
1748
|
+
}
|
|
1749
|
+
}
|
|
1750
|
+
|
|
1751
|
+
export class BorrowOrderMinDebtTermInsufficient extends Error {
|
|
1752
|
+
static readonly code = 6137
|
|
1753
|
+
readonly code = 6137
|
|
1754
|
+
readonly name = "BorrowOrderMinDebtTermInsufficient"
|
|
1755
|
+
readonly msg =
|
|
1756
|
+
"Reserve used for fill defines a debt term shorter than specified by the order"
|
|
1757
|
+
|
|
1758
|
+
constructor(readonly logs?: string[]) {
|
|
1759
|
+
super(
|
|
1760
|
+
"6137: Reserve used for fill defines a debt term shorter than specified by the order"
|
|
1761
|
+
)
|
|
1762
|
+
}
|
|
1763
|
+
}
|
|
1764
|
+
|
|
1765
|
+
export class BorrowOrderFillTimeLimitExceeded extends Error {
|
|
1766
|
+
static readonly code = 6138
|
|
1767
|
+
readonly code = 6138
|
|
1768
|
+
readonly name = "BorrowOrderFillTimeLimitExceeded"
|
|
1769
|
+
readonly msg = "Borrow order can no longer be filled"
|
|
1770
|
+
|
|
1771
|
+
constructor(readonly logs?: string[]) {
|
|
1772
|
+
super("6138: Borrow order can no longer be filled")
|
|
1773
|
+
}
|
|
1774
|
+
}
|
|
1775
|
+
|
|
1776
|
+
export class ReserveDebtMaturityReached extends Error {
|
|
1777
|
+
static readonly code = 6139
|
|
1778
|
+
readonly code = 6139
|
|
1779
|
+
readonly name = "ReserveDebtMaturityReached"
|
|
1780
|
+
readonly msg =
|
|
1781
|
+
"Cannot borrow from a reserve that reached its debt maturity timestamp"
|
|
1782
|
+
|
|
1783
|
+
constructor(readonly logs?: string[]) {
|
|
1784
|
+
super(
|
|
1785
|
+
"6139: Cannot borrow from a reserve that reached its debt maturity timestamp"
|
|
1786
|
+
)
|
|
1787
|
+
}
|
|
1788
|
+
}
|
|
1789
|
+
|
|
1790
|
+
export class NonUpdatableOrderConfiguration extends Error {
|
|
1791
|
+
static readonly code = 6140
|
|
1792
|
+
readonly code = 6140
|
|
1793
|
+
readonly name = "NonUpdatableOrderConfiguration"
|
|
1794
|
+
readonly msg =
|
|
1795
|
+
"Some piece of the order's configuration cannot be updated (the order should be cancelled and placed again)"
|
|
1796
|
+
|
|
1797
|
+
constructor(readonly logs?: string[]) {
|
|
1798
|
+
super(
|
|
1799
|
+
"6140: Some piece of the order's configuration cannot be updated (the order should be cancelled and placed again)"
|
|
1800
|
+
)
|
|
1801
|
+
}
|
|
1802
|
+
}
|
|
1803
|
+
|
|
1804
|
+
export class BorrowOrderExecutionDisabled extends Error {
|
|
1805
|
+
static readonly code = 6141
|
|
1806
|
+
readonly code = 6141
|
|
1807
|
+
readonly name = "BorrowOrderExecutionDisabled"
|
|
1808
|
+
readonly msg = "Execution of borrow orders is disabled"
|
|
1809
|
+
|
|
1810
|
+
constructor(readonly logs?: string[]) {
|
|
1811
|
+
super("6141: Execution of borrow orders is disabled")
|
|
1812
|
+
}
|
|
1813
|
+
}
|
|
1814
|
+
|
|
1815
|
+
export class DebtReachedReserveDebtTerm extends Error {
|
|
1816
|
+
static readonly code = 6142
|
|
1817
|
+
readonly code = 6142
|
|
1818
|
+
readonly name = "DebtReachedReserveDebtTerm"
|
|
1819
|
+
readonly msg =
|
|
1820
|
+
"Cannot increase the debt that has reached its end of term configured by the reserve"
|
|
1821
|
+
|
|
1822
|
+
constructor(readonly logs?: string[]) {
|
|
1823
|
+
super(
|
|
1824
|
+
"6142: Cannot increase the debt that has reached its end of term configured by the reserve"
|
|
1825
|
+
)
|
|
1826
|
+
}
|
|
1827
|
+
}
|
|
1828
|
+
|
|
1829
|
+
export class ExpectationNotMet extends Error {
|
|
1830
|
+
static readonly code = 6143
|
|
1831
|
+
readonly code = 6143
|
|
1832
|
+
readonly name = "ExpectationNotMet"
|
|
1833
|
+
readonly msg =
|
|
1834
|
+
"The on-chain state does not meet expectation specified by the caller, so the operation must be aborted (to avoid race conditions)"
|
|
1835
|
+
|
|
1836
|
+
constructor(readonly logs?: string[]) {
|
|
1837
|
+
super(
|
|
1838
|
+
"6143: The on-chain state does not meet expectation specified by the caller, so the operation must be aborted (to avoid race conditions)"
|
|
1839
|
+
)
|
|
1840
|
+
}
|
|
1841
|
+
}
|
|
1842
|
+
|
|
1843
|
+
export class WithdrawTicketIssuanceDisabled extends Error {
|
|
1844
|
+
static readonly code = 6144
|
|
1845
|
+
readonly code = 6144
|
|
1846
|
+
readonly name = "WithdrawTicketIssuanceDisabled"
|
|
1847
|
+
readonly msg = "Issuing new withdraw tickets is disabled by the market"
|
|
1848
|
+
|
|
1849
|
+
constructor(readonly logs?: string[]) {
|
|
1850
|
+
super("6144: Issuing new withdraw tickets is disabled by the market")
|
|
1851
|
+
}
|
|
1852
|
+
}
|
|
1853
|
+
|
|
1854
|
+
export class WithdrawTicketRedemptionDisabled extends Error {
|
|
1855
|
+
static readonly code = 6145
|
|
1856
|
+
readonly code = 6145
|
|
1857
|
+
readonly name = "WithdrawTicketRedemptionDisabled"
|
|
1858
|
+
readonly msg = "Redeeming withdraw tickets is disabled by the market"
|
|
1859
|
+
|
|
1860
|
+
constructor(readonly logs?: string[]) {
|
|
1861
|
+
super("6145: Redeeming withdraw tickets is disabled by the market")
|
|
1862
|
+
}
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
export class WithdrawTicketStillValid extends Error {
|
|
1866
|
+
static readonly code = 6146
|
|
1867
|
+
readonly code = 6146
|
|
1868
|
+
readonly name = "WithdrawTicketStillValid"
|
|
1869
|
+
readonly msg =
|
|
1870
|
+
"Recovering collateral is only available after the withdraw ticket has been marked invalid"
|
|
1871
|
+
|
|
1872
|
+
constructor(readonly logs?: string[]) {
|
|
1873
|
+
super(
|
|
1874
|
+
"6146: Recovering collateral is only available after the withdraw ticket has been marked invalid"
|
|
1875
|
+
)
|
|
1876
|
+
}
|
|
1877
|
+
}
|
|
1878
|
+
|
|
1879
|
+
export class WithdrawTicketRequiresFullRedemption extends Error {
|
|
1880
|
+
static readonly code = 6147
|
|
1881
|
+
readonly code = 6147
|
|
1882
|
+
readonly name = "WithdrawTicketRequiresFullRedemption"
|
|
1883
|
+
readonly msg =
|
|
1884
|
+
"The withdraw ticket's current state requires that it is fully redeemed (e.g. due to owner ATA creation), but there is not enough liquidity"
|
|
1885
|
+
|
|
1886
|
+
constructor(readonly logs?: string[]) {
|
|
1887
|
+
super(
|
|
1888
|
+
"6147: The withdraw ticket's current state requires that it is fully redeemed (e.g. due to owner ATA creation), but there is not enough liquidity"
|
|
1889
|
+
)
|
|
1890
|
+
}
|
|
1891
|
+
}
|
|
1892
|
+
|
|
1893
|
+
export class UserTokenBalanceMismatch extends Error {
|
|
1894
|
+
static readonly code = 6148
|
|
1895
|
+
readonly code = 6148
|
|
1896
|
+
readonly name = "UserTokenBalanceMismatch"
|
|
1897
|
+
readonly msg =
|
|
1898
|
+
"The user's token account has changed its balance in an unexpected way"
|
|
1899
|
+
|
|
1900
|
+
constructor(readonly logs?: string[]) {
|
|
1901
|
+
super(
|
|
1902
|
+
"6148: The user's token account has changed its balance in an unexpected way"
|
|
1903
|
+
)
|
|
1904
|
+
}
|
|
1905
|
+
}
|
|
1906
|
+
|
|
1907
|
+
export class WithdrawQueuedLiquidityValueTooSmall extends Error {
|
|
1908
|
+
static readonly code = 6149
|
|
1909
|
+
readonly code = 6149
|
|
1910
|
+
readonly name = "WithdrawQueuedLiquidityValueTooSmall"
|
|
1911
|
+
readonly msg =
|
|
1912
|
+
"Available liquidity could not satisfy the minimum required ticketed withdrawal value"
|
|
1913
|
+
|
|
1914
|
+
constructor(readonly logs?: string[]) {
|
|
1915
|
+
super(
|
|
1916
|
+
"6149: Available liquidity could not satisfy the minimum required ticketed withdrawal value"
|
|
1917
|
+
)
|
|
1918
|
+
}
|
|
1919
|
+
}
|
|
1920
|
+
|
|
1921
|
+
export class InvalidTokenAccountState extends Error {
|
|
1922
|
+
static readonly code = 6150
|
|
1923
|
+
readonly code = 6150
|
|
1924
|
+
readonly name = "InvalidTokenAccountState"
|
|
1925
|
+
readonly msg =
|
|
1926
|
+
"Token account is in a state preventing the handler's operation (e.g. frozen or delegate)"
|
|
1927
|
+
|
|
1928
|
+
constructor(readonly logs?: string[]) {
|
|
1929
|
+
super(
|
|
1930
|
+
"6150: Token account is in a state preventing the handler's operation (e.g. frozen or delegate)"
|
|
1931
|
+
)
|
|
1932
|
+
}
|
|
1933
|
+
}
|
|
1934
|
+
|
|
1935
|
+
export class WithdrawTicketInvalid extends Error {
|
|
1936
|
+
static readonly code = 6151
|
|
1937
|
+
readonly code = 6151
|
|
1938
|
+
readonly name = "WithdrawTicketInvalid"
|
|
1939
|
+
readonly msg = "Cannot use ticket that was already marked invalid"
|
|
1940
|
+
|
|
1941
|
+
constructor(readonly logs?: string[]) {
|
|
1942
|
+
super("6151: Cannot use ticket that was already marked invalid")
|
|
1943
|
+
}
|
|
1944
|
+
}
|
|
1945
|
+
|
|
1946
|
+
export class InvalidWithdrawTicketProgressCallbackConfig extends Error {
|
|
1947
|
+
static readonly code = 6152
|
|
1948
|
+
readonly code = 6152
|
|
1949
|
+
readonly name = "InvalidWithdrawTicketProgressCallbackConfig"
|
|
1950
|
+
readonly msg =
|
|
1951
|
+
"Invalid configuration or required custom accounts for the requested withdraw ticket callback type"
|
|
1952
|
+
|
|
1953
|
+
constructor(readonly logs?: string[]) {
|
|
1954
|
+
super(
|
|
1955
|
+
"6152: Invalid configuration or required custom accounts for the requested withdraw ticket callback type"
|
|
1956
|
+
)
|
|
1957
|
+
}
|
|
1958
|
+
}
|
|
1959
|
+
|
|
1960
|
+
export class WithdrawTicketProgressCallbackAccountsMissing extends Error {
|
|
1961
|
+
static readonly code = 6153
|
|
1962
|
+
readonly code = 6153
|
|
1963
|
+
readonly name = "WithdrawTicketProgressCallbackAccountsMissing"
|
|
1964
|
+
readonly msg =
|
|
1965
|
+
"One or more accounts required by the ticket's configured progress callback are missing"
|
|
1966
|
+
|
|
1967
|
+
constructor(readonly logs?: string[]) {
|
|
1968
|
+
super(
|
|
1969
|
+
"6153: One or more accounts required by the ticket's configured progress callback are missing"
|
|
1970
|
+
)
|
|
1971
|
+
}
|
|
1972
|
+
}
|
|
1973
|
+
|
|
1683
1974
|
export function fromCode(code: number, logs?: string[]): CustomError | null {
|
|
1684
1975
|
switch (code) {
|
|
1685
1976
|
case 6000:
|
|
@@ -1948,6 +2239,48 @@ export function fromCode(code: number, logs?: string[]): CustomError | null {
|
|
|
1948
2239
|
return new ReserveHasNotReceivedInitialDeposit(logs)
|
|
1949
2240
|
case 6132:
|
|
1950
2241
|
return new CTokenUsageBlocked(logs)
|
|
2242
|
+
case 6133:
|
|
2243
|
+
return new CannotUseSameReserve(logs)
|
|
2244
|
+
case 6134:
|
|
2245
|
+
return new TransactionIncludesRestrictedPrograms(logs)
|
|
2246
|
+
case 6135:
|
|
2247
|
+
return new BorrowOrderDebtLiquidityMintMismatch(logs)
|
|
2248
|
+
case 6136:
|
|
2249
|
+
return new BorrowOrderMaxBorrowRateExceeded(logs)
|
|
2250
|
+
case 6137:
|
|
2251
|
+
return new BorrowOrderMinDebtTermInsufficient(logs)
|
|
2252
|
+
case 6138:
|
|
2253
|
+
return new BorrowOrderFillTimeLimitExceeded(logs)
|
|
2254
|
+
case 6139:
|
|
2255
|
+
return new ReserveDebtMaturityReached(logs)
|
|
2256
|
+
case 6140:
|
|
2257
|
+
return new NonUpdatableOrderConfiguration(logs)
|
|
2258
|
+
case 6141:
|
|
2259
|
+
return new BorrowOrderExecutionDisabled(logs)
|
|
2260
|
+
case 6142:
|
|
2261
|
+
return new DebtReachedReserveDebtTerm(logs)
|
|
2262
|
+
case 6143:
|
|
2263
|
+
return new ExpectationNotMet(logs)
|
|
2264
|
+
case 6144:
|
|
2265
|
+
return new WithdrawTicketIssuanceDisabled(logs)
|
|
2266
|
+
case 6145:
|
|
2267
|
+
return new WithdrawTicketRedemptionDisabled(logs)
|
|
2268
|
+
case 6146:
|
|
2269
|
+
return new WithdrawTicketStillValid(logs)
|
|
2270
|
+
case 6147:
|
|
2271
|
+
return new WithdrawTicketRequiresFullRedemption(logs)
|
|
2272
|
+
case 6148:
|
|
2273
|
+
return new UserTokenBalanceMismatch(logs)
|
|
2274
|
+
case 6149:
|
|
2275
|
+
return new WithdrawQueuedLiquidityValueTooSmall(logs)
|
|
2276
|
+
case 6150:
|
|
2277
|
+
return new InvalidTokenAccountState(logs)
|
|
2278
|
+
case 6151:
|
|
2279
|
+
return new WithdrawTicketInvalid(logs)
|
|
2280
|
+
case 6152:
|
|
2281
|
+
return new InvalidWithdrawTicketProgressCallbackConfig(logs)
|
|
2282
|
+
case 6153:
|
|
2283
|
+
return new WithdrawTicketProgressCallbackAccountsMissing(logs)
|
|
1951
2284
|
}
|
|
1952
2285
|
|
|
1953
2286
|
return null
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
import {
|
|
3
|
+
Address,
|
|
4
|
+
isSome,
|
|
5
|
+
AccountMeta,
|
|
6
|
+
AccountSignerMeta,
|
|
7
|
+
Instruction,
|
|
8
|
+
Option,
|
|
9
|
+
TransactionSigner,
|
|
10
|
+
} from "@solana/kit"
|
|
11
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
12
|
+
import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
13
|
+
import * as borsh from "@coral-xyz/borsh" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
14
|
+
import { borshAddress } from "../utils" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
15
|
+
import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
16
|
+
import { PROGRAM_ID } from "../programId"
|
|
17
|
+
|
|
18
|
+
export const DISCRIMINATOR = Buffer.from([134, 113, 160, 207, 90, 75, 213, 219])
|
|
19
|
+
|
|
20
|
+
export interface EnqueueToWithdrawArgs {
|
|
21
|
+
collateralAmount: BN
|
|
22
|
+
progressCallbackType: types.ProgressCallbackTypeKind
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface EnqueueToWithdrawAccounts {
|
|
26
|
+
/** The depositor holding ctokens. */
|
|
27
|
+
owner: TransactionSigner
|
|
28
|
+
lendingMarket: Address
|
|
29
|
+
/** The market's authority, needed to initialize the [Self::owner_queued_collateral_vault]. */
|
|
30
|
+
lendingMarketAuthority: Address
|
|
31
|
+
reserve: Address
|
|
32
|
+
/** The source of collateral to be enqueued. */
|
|
33
|
+
userSourceCollateralTa: Address
|
|
34
|
+
/**
|
|
35
|
+
* The account to which the liquidity should be finally transferred later (to be recorded in
|
|
36
|
+
* the ticket).
|
|
37
|
+
*/
|
|
38
|
+
userDestinationLiquidityTa: Address
|
|
39
|
+
reserveLiquidityMint: Address
|
|
40
|
+
reserveCollateralMint: Address
|
|
41
|
+
/**
|
|
42
|
+
* The collateral's program - needed for invoking the transfer to the vault *and* (implicitly)
|
|
43
|
+
* for handling the `init_if_needed`.
|
|
44
|
+
*/
|
|
45
|
+
collateralTokenProgram: Address
|
|
46
|
+
/** The new account to be initialized with the issued ticket's data. */
|
|
47
|
+
withdrawTicket: Address
|
|
48
|
+
/**
|
|
49
|
+
* The per-owner "this reserve's queued collateral" vault (in which the collateral will be
|
|
50
|
+
* locked).
|
|
51
|
+
*/
|
|
52
|
+
ownerQueuedCollateralVault: Address
|
|
53
|
+
/** The System program - needed only for `init` / `init_if_needed` of the accounts above. */
|
|
54
|
+
systemProgram: Address
|
|
55
|
+
/**
|
|
56
|
+
* The first one out of maximum 2 custom accounts that may be required if the optional "ticket
|
|
57
|
+
* progress callback" is configured for this ticket.
|
|
58
|
+
*
|
|
59
|
+
* The expected custom accounts are validated based on the `progress_callback_type` instruction
|
|
60
|
+
* argument. The currently supported ones are:
|
|
61
|
+
* - for [ProgressCallbackType::None] no custom accounts are expected (this is the default
|
|
62
|
+
* behavior, when the instruction data is zeroed or absent).
|
|
63
|
+
* - for [ProgressCallbackType::KlendQueueAccountingHandlerOnKvault], only the `_0` custom
|
|
64
|
+
* account is required:
|
|
65
|
+
* - the `_0` custom account must represent the `VaultState` which disinvests from the
|
|
66
|
+
* reserve (readonly; needed to be later passed as an input to the Kvault's handler);
|
|
67
|
+
* - the `_1` custom account is ignored;
|
|
68
|
+
* - the `owner` account (i.e. the signer) must be a Kvault-owned PDA base authority
|
|
69
|
+
* associated with the vault indicated by `_0` (needed to prove that Kvault is CPI'ing this
|
|
70
|
+
* handler).
|
|
71
|
+
*/
|
|
72
|
+
progressCallbackCustomAccount0: Option<Address>
|
|
73
|
+
/** The second possible account (see the `progress_callback_custom_account_0` above). */
|
|
74
|
+
progressCallbackCustomAccount1: Option<Address>
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export const layout = borsh.struct([
|
|
78
|
+
borsh.u64("collateralAmount"),
|
|
79
|
+
types.ProgressCallbackType.layout("progressCallbackType"),
|
|
80
|
+
])
|
|
81
|
+
|
|
82
|
+
export function enqueueToWithdraw(
|
|
83
|
+
args: EnqueueToWithdrawArgs,
|
|
84
|
+
accounts: EnqueueToWithdrawAccounts,
|
|
85
|
+
remainingAccounts: Array<AccountMeta | AccountSignerMeta> = [],
|
|
86
|
+
programAddress: Address = PROGRAM_ID
|
|
87
|
+
) {
|
|
88
|
+
const keys: Array<AccountMeta | AccountSignerMeta> = [
|
|
89
|
+
{ address: accounts.owner.address, role: 3, signer: accounts.owner },
|
|
90
|
+
{ address: accounts.lendingMarket, role: 0 },
|
|
91
|
+
{ address: accounts.lendingMarketAuthority, role: 0 },
|
|
92
|
+
{ address: accounts.reserve, role: 1 },
|
|
93
|
+
{ address: accounts.userSourceCollateralTa, role: 1 },
|
|
94
|
+
{ address: accounts.userDestinationLiquidityTa, role: 0 },
|
|
95
|
+
{ address: accounts.reserveLiquidityMint, role: 0 },
|
|
96
|
+
{ address: accounts.reserveCollateralMint, role: 0 },
|
|
97
|
+
{ address: accounts.collateralTokenProgram, role: 0 },
|
|
98
|
+
{ address: accounts.withdrawTicket, role: 1 },
|
|
99
|
+
{ address: accounts.ownerQueuedCollateralVault, role: 1 },
|
|
100
|
+
{ address: accounts.systemProgram, role: 0 },
|
|
101
|
+
isSome(accounts.progressCallbackCustomAccount0)
|
|
102
|
+
? { address: accounts.progressCallbackCustomAccount0.value, role: 0 }
|
|
103
|
+
: { address: programAddress, role: 0 },
|
|
104
|
+
isSome(accounts.progressCallbackCustomAccount1)
|
|
105
|
+
? { address: accounts.progressCallbackCustomAccount1.value, role: 0 }
|
|
106
|
+
: { address: programAddress, role: 0 },
|
|
107
|
+
...remainingAccounts,
|
|
108
|
+
]
|
|
109
|
+
const buffer = Buffer.alloc(1000)
|
|
110
|
+
const len = layout.encode(
|
|
111
|
+
{
|
|
112
|
+
collateralAmount: args.collateralAmount,
|
|
113
|
+
progressCallbackType: args.progressCallbackType.toEncodable(),
|
|
114
|
+
},
|
|
115
|
+
buffer
|
|
116
|
+
)
|
|
117
|
+
const data = Buffer.concat([DISCRIMINATOR, buffer]).slice(0, 8 + len)
|
|
118
|
+
const ix: Instruction = { accounts: keys, programAddress, data }
|
|
119
|
+
return ix
|
|
120
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
import {
|
|
3
|
+
Address,
|
|
4
|
+
isSome,
|
|
5
|
+
AccountMeta,
|
|
6
|
+
AccountSignerMeta,
|
|
7
|
+
Instruction,
|
|
8
|
+
Option,
|
|
9
|
+
TransactionSigner,
|
|
10
|
+
} from "@solana/kit"
|
|
11
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
12
|
+
import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
13
|
+
import * as borsh from "@coral-xyz/borsh" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
14
|
+
import { borshAddress } from "../utils" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
15
|
+
import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
16
|
+
import { PROGRAM_ID } from "../programId"
|
|
17
|
+
|
|
18
|
+
export const DISCRIMINATOR = Buffer.from([102, 4, 167, 76, 131, 170, 93, 19])
|
|
19
|
+
|
|
20
|
+
export interface FillBorrowOrderAccounts {
|
|
21
|
+
borrowAccounts: {
|
|
22
|
+
payer: TransactionSigner
|
|
23
|
+
/** The obligation with a [BorrowOrder]. */
|
|
24
|
+
obligation: Address
|
|
25
|
+
/** The [Self::obligation]'s market - needed for borrowing-related configuration. */
|
|
26
|
+
lendingMarket: Address
|
|
27
|
+
/** The [Self::lending_market]'s authority, needed to transfer the newly-borrowed funds out of the [Self::reserve_source_liquidity]. */
|
|
28
|
+
lendingMarketAuthority: Address
|
|
29
|
+
/** The reserve to borrow from. Its mint must match the asset requested by the [BorrowOrder::debt_liquidity_mint]. */
|
|
30
|
+
borrowReserve: Address
|
|
31
|
+
/** The mint of [Self::borrow_reserve] - needed to execute the transfer. */
|
|
32
|
+
borrowReserveLiquidityMint: Address
|
|
33
|
+
/** The vault of [Self::borrow_reserve], from which the funds are transferred. */
|
|
34
|
+
reserveSourceLiquidity: Address
|
|
35
|
+
/** The fee vault of [Self::borrow_reserve], to which the fees are transferred. */
|
|
36
|
+
borrowReserveLiquidityFeeReceiver: Address
|
|
37
|
+
/** The destination token account that should receive the newly borrowed funds. It must match [BorrowOrder::filled_debt_destination], owner and mint. **Warning:** An altered destination account will prevent an order from being filled. */
|
|
38
|
+
userDestinationLiquidity: Address
|
|
39
|
+
/** The referrer's account, for accumulating fees - needed if the [Obligation::has_referrer]. */
|
|
40
|
+
referrerTokenState: Option<Address>
|
|
41
|
+
/** The token program of [Self::borrow_reserve] - needed to execute the transfer. */
|
|
42
|
+
tokenProgram: Address
|
|
43
|
+
}
|
|
44
|
+
farmsAccounts: {
|
|
45
|
+
obligationFarmUserState: Option<Address>
|
|
46
|
+
reserveFarmState: Option<Address>
|
|
47
|
+
}
|
|
48
|
+
farmsProgram: Address
|
|
49
|
+
eventAuthority: Address
|
|
50
|
+
program: Address
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function fillBorrowOrder(
|
|
54
|
+
accounts: FillBorrowOrderAccounts,
|
|
55
|
+
remainingAccounts: Array<AccountMeta | AccountSignerMeta> = [],
|
|
56
|
+
programAddress: Address = PROGRAM_ID
|
|
57
|
+
) {
|
|
58
|
+
const keys: Array<AccountMeta | AccountSignerMeta> = [
|
|
59
|
+
{
|
|
60
|
+
address: accounts.borrowAccounts.payer.address,
|
|
61
|
+
role: 2,
|
|
62
|
+
signer: accounts.borrowAccounts.payer,
|
|
63
|
+
},
|
|
64
|
+
{ address: accounts.borrowAccounts.obligation, role: 1 },
|
|
65
|
+
{ address: accounts.borrowAccounts.lendingMarket, role: 0 },
|
|
66
|
+
{ address: accounts.borrowAccounts.lendingMarketAuthority, role: 0 },
|
|
67
|
+
{ address: accounts.borrowAccounts.borrowReserve, role: 1 },
|
|
68
|
+
{ address: accounts.borrowAccounts.borrowReserveLiquidityMint, role: 0 },
|
|
69
|
+
{ address: accounts.borrowAccounts.reserveSourceLiquidity, role: 1 },
|
|
70
|
+
{
|
|
71
|
+
address: accounts.borrowAccounts.borrowReserveLiquidityFeeReceiver,
|
|
72
|
+
role: 1,
|
|
73
|
+
},
|
|
74
|
+
{ address: accounts.borrowAccounts.userDestinationLiquidity, role: 1 },
|
|
75
|
+
isSome(accounts.borrowAccounts.referrerTokenState)
|
|
76
|
+
? { address: accounts.borrowAccounts.referrerTokenState.value, role: 1 }
|
|
77
|
+
: { address: programAddress, role: 0 },
|
|
78
|
+
{ address: accounts.borrowAccounts.tokenProgram, role: 0 },
|
|
79
|
+
isSome(accounts.farmsAccounts.obligationFarmUserState)
|
|
80
|
+
? {
|
|
81
|
+
address: accounts.farmsAccounts.obligationFarmUserState.value,
|
|
82
|
+
role: 1,
|
|
83
|
+
}
|
|
84
|
+
: { address: programAddress, role: 0 },
|
|
85
|
+
isSome(accounts.farmsAccounts.reserveFarmState)
|
|
86
|
+
? { address: accounts.farmsAccounts.reserveFarmState.value, role: 1 }
|
|
87
|
+
: { address: programAddress, role: 0 },
|
|
88
|
+
{ address: accounts.farmsProgram, role: 0 },
|
|
89
|
+
{ address: accounts.eventAuthority, role: 0 },
|
|
90
|
+
{ address: accounts.program, role: 0 },
|
|
91
|
+
...remainingAccounts,
|
|
92
|
+
]
|
|
93
|
+
const data = DISCRIMINATOR
|
|
94
|
+
const ix: Instruction = { accounts: keys, programAddress, data }
|
|
95
|
+
return ix
|
|
96
|
+
}
|
|
@@ -19,7 +19,6 @@ export const DISCRIMINATOR = Buffer.from([130, 80, 38, 153, 80, 212, 182, 253])
|
|
|
19
19
|
|
|
20
20
|
export interface IdlMissingTypesArgs {
|
|
21
21
|
reserveFarmKind: types.ReserveFarmKindKind
|
|
22
|
-
assetTier: types.AssetTierKind
|
|
23
22
|
feeCalculation: types.FeeCalculationKind
|
|
24
23
|
reserveStatus: types.ReserveStatusKind
|
|
25
24
|
updateConfigMode: types.UpdateConfigModeKind
|
|
@@ -36,7 +35,6 @@ export interface IdlMissingTypesAccounts {
|
|
|
36
35
|
|
|
37
36
|
export const layout = borsh.struct([
|
|
38
37
|
types.ReserveFarmKind.layout("reserveFarmKind"),
|
|
39
|
-
types.AssetTier.layout("assetTier"),
|
|
40
38
|
types.FeeCalculation.layout("feeCalculation"),
|
|
41
39
|
types.ReserveStatus.layout("reserveStatus"),
|
|
42
40
|
types.UpdateConfigMode.layout("updateConfigMode"),
|
|
@@ -61,7 +59,6 @@ export function idlMissingTypes(
|
|
|
61
59
|
const len = layout.encode(
|
|
62
60
|
{
|
|
63
61
|
reserveFarmKind: args.reserveFarmKind.toEncodable(),
|
|
64
|
-
assetTier: args.assetTier.toEncodable(),
|
|
65
62
|
feeCalculation: args.feeCalculation.toEncodable(),
|
|
66
63
|
reserveStatus: args.reserveStatus.toEncodable(),
|
|
67
64
|
updateConfigMode: args.updateConfigMode.toEncodable(),
|
|
@@ -190,6 +190,25 @@ export type {
|
|
|
190
190
|
SetObligationOrderArgs,
|
|
191
191
|
SetObligationOrderAccounts,
|
|
192
192
|
} from "./setObligationOrder"
|
|
193
|
+
export { setBorrowOrder } from "./setBorrowOrder"
|
|
194
|
+
export type {
|
|
195
|
+
SetBorrowOrderArgs,
|
|
196
|
+
SetBorrowOrderAccounts,
|
|
197
|
+
} from "./setBorrowOrder"
|
|
198
|
+
export { fillBorrowOrder } from "./fillBorrowOrder"
|
|
199
|
+
export type { FillBorrowOrderAccounts } from "./fillBorrowOrder"
|
|
200
|
+
export { enqueueToWithdraw } from "./enqueueToWithdraw"
|
|
201
|
+
export type {
|
|
202
|
+
EnqueueToWithdrawArgs,
|
|
203
|
+
EnqueueToWithdrawAccounts,
|
|
204
|
+
} from "./enqueueToWithdraw"
|
|
205
|
+
export { withdrawQueuedLiquidity } from "./withdrawQueuedLiquidity"
|
|
206
|
+
export type { WithdrawQueuedLiquidityAccounts } from "./withdrawQueuedLiquidity"
|
|
207
|
+
export { recoverInvalidTicketCollateral } from "./recoverInvalidTicketCollateral"
|
|
208
|
+
export type {
|
|
209
|
+
RecoverInvalidTicketCollateralArgs,
|
|
210
|
+
RecoverInvalidTicketCollateralAccounts,
|
|
211
|
+
} from "./recoverInvalidTicketCollateral"
|
|
193
212
|
export { initGlobalConfig } from "./initGlobalConfig"
|
|
194
213
|
export type { InitGlobalConfigAccounts } from "./initGlobalConfig"
|
|
195
214
|
export { updateGlobalConfig } from "./updateGlobalConfig"
|