@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
package/src/idl/klend.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
2
|
+
"version": "1.13.1",
|
|
3
3
|
"name": "kamino_lending",
|
|
4
4
|
"instructions": [
|
|
5
5
|
{
|
|
@@ -2980,6 +2980,617 @@
|
|
|
2980
2980
|
}
|
|
2981
2981
|
]
|
|
2982
2982
|
},
|
|
2983
|
+
{
|
|
2984
|
+
"name": "setBorrowOrder",
|
|
2985
|
+
"accounts": [
|
|
2986
|
+
{
|
|
2987
|
+
"name": "owner",
|
|
2988
|
+
"isMut": false,
|
|
2989
|
+
"isSigner": true,
|
|
2990
|
+
"docs": [
|
|
2991
|
+
"The [Self::obligation]'s owner."
|
|
2992
|
+
]
|
|
2993
|
+
},
|
|
2994
|
+
{
|
|
2995
|
+
"name": "obligation",
|
|
2996
|
+
"isMut": true,
|
|
2997
|
+
"isSigner": false,
|
|
2998
|
+
"docs": [
|
|
2999
|
+
"The obligation to set the [BorrowOrder] on."
|
|
3000
|
+
]
|
|
3001
|
+
},
|
|
3002
|
+
{
|
|
3003
|
+
"name": "lendingMarket",
|
|
3004
|
+
"isMut": false,
|
|
3005
|
+
"isSigner": false,
|
|
3006
|
+
"docs": [
|
|
3007
|
+
"The [Self::obligation]'s market - needed only to validate the borrow orders' feature flag."
|
|
3008
|
+
]
|
|
3009
|
+
},
|
|
3010
|
+
{
|
|
3011
|
+
"name": "filledDebtDestination",
|
|
3012
|
+
"isMut": false,
|
|
3013
|
+
"isSigner": false,
|
|
3014
|
+
"docs": [
|
|
3015
|
+
"The [BorrowOrder::filled_debt_destination] to set on order creation. Not editable on order",
|
|
3016
|
+
"updates.",
|
|
3017
|
+
"Ignored when cancelling the order."
|
|
3018
|
+
]
|
|
3019
|
+
},
|
|
3020
|
+
{
|
|
3021
|
+
"name": "debtLiquidityMint",
|
|
3022
|
+
"isMut": false,
|
|
3023
|
+
"isSigner": false,
|
|
3024
|
+
"docs": [
|
|
3025
|
+
"The [BorrowOrder::debt_liquidity_mint] to set on order creation. Not editable on order",
|
|
3026
|
+
"updates.",
|
|
3027
|
+
"Ignored when cancelling the order."
|
|
3028
|
+
]
|
|
3029
|
+
},
|
|
3030
|
+
{
|
|
3031
|
+
"name": "eventAuthority",
|
|
3032
|
+
"isMut": false,
|
|
3033
|
+
"isSigner": false
|
|
3034
|
+
},
|
|
3035
|
+
{
|
|
3036
|
+
"name": "program",
|
|
3037
|
+
"isMut": false,
|
|
3038
|
+
"isSigner": false
|
|
3039
|
+
}
|
|
3040
|
+
],
|
|
3041
|
+
"args": [
|
|
3042
|
+
{
|
|
3043
|
+
"name": "orderConfig",
|
|
3044
|
+
"type": {
|
|
3045
|
+
"defined": "BorrowOrderConfigArgs"
|
|
3046
|
+
}
|
|
3047
|
+
},
|
|
3048
|
+
{
|
|
3049
|
+
"name": "minExpectedCurrentRemainingDebtAmount",
|
|
3050
|
+
"type": "u64"
|
|
3051
|
+
}
|
|
3052
|
+
]
|
|
3053
|
+
},
|
|
3054
|
+
{
|
|
3055
|
+
"name": "fillBorrowOrder",
|
|
3056
|
+
"accounts": [
|
|
3057
|
+
{
|
|
3058
|
+
"name": "borrowAccounts",
|
|
3059
|
+
"accounts": [
|
|
3060
|
+
{
|
|
3061
|
+
"name": "payer",
|
|
3062
|
+
"isMut": false,
|
|
3063
|
+
"isSigner": true
|
|
3064
|
+
},
|
|
3065
|
+
{
|
|
3066
|
+
"name": "obligation",
|
|
3067
|
+
"isMut": true,
|
|
3068
|
+
"isSigner": false,
|
|
3069
|
+
"docs": [
|
|
3070
|
+
"The obligation with a [BorrowOrder]."
|
|
3071
|
+
]
|
|
3072
|
+
},
|
|
3073
|
+
{
|
|
3074
|
+
"name": "lendingMarket",
|
|
3075
|
+
"isMut": false,
|
|
3076
|
+
"isSigner": false,
|
|
3077
|
+
"docs": [
|
|
3078
|
+
"The [Self::obligation]'s market - needed for borrowing-related configuration."
|
|
3079
|
+
]
|
|
3080
|
+
},
|
|
3081
|
+
{
|
|
3082
|
+
"name": "lendingMarketAuthority",
|
|
3083
|
+
"isMut": false,
|
|
3084
|
+
"isSigner": false,
|
|
3085
|
+
"docs": [
|
|
3086
|
+
"The [Self::lending_market]'s authority, needed to transfer the newly-borrowed funds out of",
|
|
3087
|
+
"the [Self::reserve_source_liquidity]."
|
|
3088
|
+
]
|
|
3089
|
+
},
|
|
3090
|
+
{
|
|
3091
|
+
"name": "borrowReserve",
|
|
3092
|
+
"isMut": true,
|
|
3093
|
+
"isSigner": false,
|
|
3094
|
+
"docs": [
|
|
3095
|
+
"The reserve to borrow from.",
|
|
3096
|
+
"",
|
|
3097
|
+
"Its mint must match the asset requested by the [BorrowOrder::debt_liquidity_mint]."
|
|
3098
|
+
]
|
|
3099
|
+
},
|
|
3100
|
+
{
|
|
3101
|
+
"name": "borrowReserveLiquidityMint",
|
|
3102
|
+
"isMut": false,
|
|
3103
|
+
"isSigner": false,
|
|
3104
|
+
"docs": [
|
|
3105
|
+
"The mint of [Self::borrow_reserve] - needed to execute the transfer."
|
|
3106
|
+
]
|
|
3107
|
+
},
|
|
3108
|
+
{
|
|
3109
|
+
"name": "reserveSourceLiquidity",
|
|
3110
|
+
"isMut": true,
|
|
3111
|
+
"isSigner": false,
|
|
3112
|
+
"docs": [
|
|
3113
|
+
"The vault of [Self::borrow_reserve], from which the funds are transferred."
|
|
3114
|
+
]
|
|
3115
|
+
},
|
|
3116
|
+
{
|
|
3117
|
+
"name": "borrowReserveLiquidityFeeReceiver",
|
|
3118
|
+
"isMut": true,
|
|
3119
|
+
"isSigner": false,
|
|
3120
|
+
"docs": [
|
|
3121
|
+
"The fee vault of [Self::borrow_reserve], to which the fees are transferred."
|
|
3122
|
+
]
|
|
3123
|
+
},
|
|
3124
|
+
{
|
|
3125
|
+
"name": "userDestinationLiquidity",
|
|
3126
|
+
"isMut": true,
|
|
3127
|
+
"isSigner": false,
|
|
3128
|
+
"docs": [
|
|
3129
|
+
"The destination token account that should receive the newly borrowed funds.",
|
|
3130
|
+
"",
|
|
3131
|
+
"It must match [BorrowOrder::filled_debt_destination], owner and mint.",
|
|
3132
|
+
"",
|
|
3133
|
+
"**Warning:** An altered destination account will prevent an order from being filled."
|
|
3134
|
+
]
|
|
3135
|
+
},
|
|
3136
|
+
{
|
|
3137
|
+
"name": "referrerTokenState",
|
|
3138
|
+
"isMut": true,
|
|
3139
|
+
"isSigner": false,
|
|
3140
|
+
"isOptional": true,
|
|
3141
|
+
"docs": [
|
|
3142
|
+
"The referrer's account, for accumulating fees - needed if the [Obligation::has_referrer]."
|
|
3143
|
+
]
|
|
3144
|
+
},
|
|
3145
|
+
{
|
|
3146
|
+
"name": "tokenProgram",
|
|
3147
|
+
"isMut": false,
|
|
3148
|
+
"isSigner": false,
|
|
3149
|
+
"docs": [
|
|
3150
|
+
"The token program of [Self::borrow_reserve] - needed to execute the transfer."
|
|
3151
|
+
]
|
|
3152
|
+
}
|
|
3153
|
+
]
|
|
3154
|
+
},
|
|
3155
|
+
{
|
|
3156
|
+
"name": "farmsAccounts",
|
|
3157
|
+
"accounts": [
|
|
3158
|
+
{
|
|
3159
|
+
"name": "obligationFarmUserState",
|
|
3160
|
+
"isMut": true,
|
|
3161
|
+
"isSigner": false,
|
|
3162
|
+
"isOptional": true
|
|
3163
|
+
},
|
|
3164
|
+
{
|
|
3165
|
+
"name": "reserveFarmState",
|
|
3166
|
+
"isMut": true,
|
|
3167
|
+
"isSigner": false,
|
|
3168
|
+
"isOptional": true
|
|
3169
|
+
}
|
|
3170
|
+
]
|
|
3171
|
+
},
|
|
3172
|
+
{
|
|
3173
|
+
"name": "farmsProgram",
|
|
3174
|
+
"isMut": false,
|
|
3175
|
+
"isSigner": false
|
|
3176
|
+
},
|
|
3177
|
+
{
|
|
3178
|
+
"name": "eventAuthority",
|
|
3179
|
+
"isMut": false,
|
|
3180
|
+
"isSigner": false
|
|
3181
|
+
},
|
|
3182
|
+
{
|
|
3183
|
+
"name": "program",
|
|
3184
|
+
"isMut": false,
|
|
3185
|
+
"isSigner": false
|
|
3186
|
+
}
|
|
3187
|
+
],
|
|
3188
|
+
"args": []
|
|
3189
|
+
},
|
|
3190
|
+
{
|
|
3191
|
+
"name": "enqueueToWithdraw",
|
|
3192
|
+
"accounts": [
|
|
3193
|
+
{
|
|
3194
|
+
"name": "owner",
|
|
3195
|
+
"isMut": true,
|
|
3196
|
+
"isSigner": true,
|
|
3197
|
+
"docs": [
|
|
3198
|
+
"The depositor holding ctokens."
|
|
3199
|
+
]
|
|
3200
|
+
},
|
|
3201
|
+
{
|
|
3202
|
+
"name": "lendingMarket",
|
|
3203
|
+
"isMut": false,
|
|
3204
|
+
"isSigner": false
|
|
3205
|
+
},
|
|
3206
|
+
{
|
|
3207
|
+
"name": "lendingMarketAuthority",
|
|
3208
|
+
"isMut": false,
|
|
3209
|
+
"isSigner": false,
|
|
3210
|
+
"docs": [
|
|
3211
|
+
"The market's authority, needed to initialize the [Self::owner_queued_collateral_vault]."
|
|
3212
|
+
]
|
|
3213
|
+
},
|
|
3214
|
+
{
|
|
3215
|
+
"name": "reserve",
|
|
3216
|
+
"isMut": true,
|
|
3217
|
+
"isSigner": false
|
|
3218
|
+
},
|
|
3219
|
+
{
|
|
3220
|
+
"name": "userSourceCollateralTa",
|
|
3221
|
+
"isMut": true,
|
|
3222
|
+
"isSigner": false,
|
|
3223
|
+
"docs": [
|
|
3224
|
+
"The source of collateral to be enqueued."
|
|
3225
|
+
]
|
|
3226
|
+
},
|
|
3227
|
+
{
|
|
3228
|
+
"name": "userDestinationLiquidityTa",
|
|
3229
|
+
"isMut": false,
|
|
3230
|
+
"isSigner": false,
|
|
3231
|
+
"docs": [
|
|
3232
|
+
"The account to which the liquidity should be finally transferred later (to be recorded in",
|
|
3233
|
+
"the ticket)."
|
|
3234
|
+
]
|
|
3235
|
+
},
|
|
3236
|
+
{
|
|
3237
|
+
"name": "reserveLiquidityMint",
|
|
3238
|
+
"isMut": false,
|
|
3239
|
+
"isSigner": false
|
|
3240
|
+
},
|
|
3241
|
+
{
|
|
3242
|
+
"name": "reserveCollateralMint",
|
|
3243
|
+
"isMut": false,
|
|
3244
|
+
"isSigner": false
|
|
3245
|
+
},
|
|
3246
|
+
{
|
|
3247
|
+
"name": "collateralTokenProgram",
|
|
3248
|
+
"isMut": false,
|
|
3249
|
+
"isSigner": false,
|
|
3250
|
+
"docs": [
|
|
3251
|
+
"The collateral's program - needed for invoking the transfer to the vault *and* (implicitly)",
|
|
3252
|
+
"for handling the `init_if_needed`."
|
|
3253
|
+
]
|
|
3254
|
+
},
|
|
3255
|
+
{
|
|
3256
|
+
"name": "withdrawTicket",
|
|
3257
|
+
"isMut": true,
|
|
3258
|
+
"isSigner": false,
|
|
3259
|
+
"docs": [
|
|
3260
|
+
"The new account to be initialized with the issued ticket's data."
|
|
3261
|
+
]
|
|
3262
|
+
},
|
|
3263
|
+
{
|
|
3264
|
+
"name": "ownerQueuedCollateralVault",
|
|
3265
|
+
"isMut": true,
|
|
3266
|
+
"isSigner": false,
|
|
3267
|
+
"docs": [
|
|
3268
|
+
"The per-owner \"this reserve's queued collateral\" vault (in which the collateral will be",
|
|
3269
|
+
"locked)."
|
|
3270
|
+
]
|
|
3271
|
+
},
|
|
3272
|
+
{
|
|
3273
|
+
"name": "systemProgram",
|
|
3274
|
+
"isMut": false,
|
|
3275
|
+
"isSigner": false,
|
|
3276
|
+
"docs": [
|
|
3277
|
+
"The System program - needed only for `init` / `init_if_needed` of the accounts above."
|
|
3278
|
+
]
|
|
3279
|
+
},
|
|
3280
|
+
{
|
|
3281
|
+
"name": "progressCallbackCustomAccount0",
|
|
3282
|
+
"isMut": false,
|
|
3283
|
+
"isSigner": false,
|
|
3284
|
+
"isOptional": true,
|
|
3285
|
+
"docs": [
|
|
3286
|
+
"The first one out of maximum 2 custom accounts that may be required if the optional \"ticket",
|
|
3287
|
+
"progress callback\" is configured for this ticket.",
|
|
3288
|
+
"",
|
|
3289
|
+
"The expected custom accounts are validated based on the `progress_callback_type` instruction",
|
|
3290
|
+
"argument. The currently supported ones are:",
|
|
3291
|
+
"- for [ProgressCallbackType::None] no custom accounts are expected (this is the default",
|
|
3292
|
+
"behavior, when the instruction data is zeroed or absent).",
|
|
3293
|
+
"- for [ProgressCallbackType::KlendQueueAccountingHandlerOnKvault], only the `_0` custom",
|
|
3294
|
+
"account is required:",
|
|
3295
|
+
"- the `_0` custom account must represent the `VaultState` which disinvests from the",
|
|
3296
|
+
"reserve (readonly; needed to be later passed as an input to the Kvault's handler);",
|
|
3297
|
+
"- the `_1` custom account is ignored;",
|
|
3298
|
+
"- the `owner` account (i.e. the signer) must be a Kvault-owned PDA base authority",
|
|
3299
|
+
"associated with the vault indicated by `_0` (needed to prove that Kvault is CPI'ing this",
|
|
3300
|
+
"handler)."
|
|
3301
|
+
]
|
|
3302
|
+
},
|
|
3303
|
+
{
|
|
3304
|
+
"name": "progressCallbackCustomAccount1",
|
|
3305
|
+
"isMut": false,
|
|
3306
|
+
"isSigner": false,
|
|
3307
|
+
"isOptional": true,
|
|
3308
|
+
"docs": [
|
|
3309
|
+
"The second possible account (see the `progress_callback_custom_account_0` above)."
|
|
3310
|
+
]
|
|
3311
|
+
}
|
|
3312
|
+
],
|
|
3313
|
+
"args": [
|
|
3314
|
+
{
|
|
3315
|
+
"name": "collateralAmount",
|
|
3316
|
+
"type": "u64"
|
|
3317
|
+
},
|
|
3318
|
+
{
|
|
3319
|
+
"name": "progressCallbackType",
|
|
3320
|
+
"type": {
|
|
3321
|
+
"defined": "ProgressCallbackType"
|
|
3322
|
+
}
|
|
3323
|
+
}
|
|
3324
|
+
]
|
|
3325
|
+
},
|
|
3326
|
+
{
|
|
3327
|
+
"name": "withdrawQueuedLiquidity",
|
|
3328
|
+
"accounts": [
|
|
3329
|
+
{
|
|
3330
|
+
"name": "payer",
|
|
3331
|
+
"isMut": true,
|
|
3332
|
+
"isSigner": true,
|
|
3333
|
+
"docs": [
|
|
3334
|
+
"The executor of the permissionless tx (not necessarily the ticket owner)."
|
|
3335
|
+
]
|
|
3336
|
+
},
|
|
3337
|
+
{
|
|
3338
|
+
"name": "lendingMarket",
|
|
3339
|
+
"isMut": false,
|
|
3340
|
+
"isSigner": false,
|
|
3341
|
+
"docs": [
|
|
3342
|
+
"The lending market."
|
|
3343
|
+
]
|
|
3344
|
+
},
|
|
3345
|
+
{
|
|
3346
|
+
"name": "lendingMarketAuthority",
|
|
3347
|
+
"isMut": false,
|
|
3348
|
+
"isSigner": false,
|
|
3349
|
+
"docs": [
|
|
3350
|
+
"The market's authority, needed for burning the collateral (from",
|
|
3351
|
+
"[Self::owner_queued_collateral_vault]) and transferring the liquidity (from",
|
|
3352
|
+
"[Self::reserve_liquidity_supply])."
|
|
3353
|
+
]
|
|
3354
|
+
},
|
|
3355
|
+
{
|
|
3356
|
+
"name": "reserve",
|
|
3357
|
+
"isMut": true,
|
|
3358
|
+
"isSigner": false,
|
|
3359
|
+
"docs": [
|
|
3360
|
+
"The reserve."
|
|
3361
|
+
]
|
|
3362
|
+
},
|
|
3363
|
+
{
|
|
3364
|
+
"name": "reserveLiquidityMint",
|
|
3365
|
+
"isMut": false,
|
|
3366
|
+
"isSigner": false,
|
|
3367
|
+
"docs": [
|
|
3368
|
+
"The liquidity mint, needed to invoke the transfer."
|
|
3369
|
+
]
|
|
3370
|
+
},
|
|
3371
|
+
{
|
|
3372
|
+
"name": "reserveCollateralMint",
|
|
3373
|
+
"isMut": true,
|
|
3374
|
+
"isSigner": false,
|
|
3375
|
+
"docs": [
|
|
3376
|
+
"The collateral mint, needed to burn (`mut`!) the queued collateral."
|
|
3377
|
+
]
|
|
3378
|
+
},
|
|
3379
|
+
{
|
|
3380
|
+
"name": "reserveLiquiditySupply",
|
|
3381
|
+
"isMut": true,
|
|
3382
|
+
"isSigner": false,
|
|
3383
|
+
"docs": [
|
|
3384
|
+
"The liquidity supply vault (to withdraw the liquidity from)."
|
|
3385
|
+
]
|
|
3386
|
+
},
|
|
3387
|
+
{
|
|
3388
|
+
"name": "ownerQueuedCollateralVault",
|
|
3389
|
+
"isMut": true,
|
|
3390
|
+
"isSigner": false,
|
|
3391
|
+
"docs": [
|
|
3392
|
+
"The per-owner \"this reserve's queued collateral\" vault (from which the collateral will be",
|
|
3393
|
+
"burnt)."
|
|
3394
|
+
]
|
|
3395
|
+
},
|
|
3396
|
+
{
|
|
3397
|
+
"name": "userDestinationLiquidity",
|
|
3398
|
+
"isMut": true,
|
|
3399
|
+
"isSigner": false,
|
|
3400
|
+
"docs": [
|
|
3401
|
+
"The token account to which the liquidity should be transferred (the one recorded in the",
|
|
3402
|
+
"ticket)."
|
|
3403
|
+
]
|
|
3404
|
+
},
|
|
3405
|
+
{
|
|
3406
|
+
"name": "collateralTokenProgram",
|
|
3407
|
+
"isMut": false,
|
|
3408
|
+
"isSigner": false,
|
|
3409
|
+
"docs": [
|
|
3410
|
+
"The program of [Self::reserve_collateral_mint], needed for transfer."
|
|
3411
|
+
]
|
|
3412
|
+
},
|
|
3413
|
+
{
|
|
3414
|
+
"name": "liquidityTokenProgram",
|
|
3415
|
+
"isMut": false,
|
|
3416
|
+
"isSigner": false,
|
|
3417
|
+
"docs": [
|
|
3418
|
+
"The program of [Self::reserve_liquidity_mint], needed for transfer."
|
|
3419
|
+
]
|
|
3420
|
+
},
|
|
3421
|
+
{
|
|
3422
|
+
"name": "withdrawTicket",
|
|
3423
|
+
"isMut": true,
|
|
3424
|
+
"isSigner": false,
|
|
3425
|
+
"docs": [
|
|
3426
|
+
"The ticket's data itself.",
|
|
3427
|
+
"",
|
|
3428
|
+
"Note: in case of complete withdrawal, this account will be closed. In case of partial",
|
|
3429
|
+
"withdrawal, its [WithdrawTicket::queued_collateral_amount] will simply be reduced, and the",
|
|
3430
|
+
"ticket will maintain its position in the queue."
|
|
3431
|
+
]
|
|
3432
|
+
},
|
|
3433
|
+
{
|
|
3434
|
+
"name": "withdrawTicketOwner",
|
|
3435
|
+
"isMut": true,
|
|
3436
|
+
"isSigner": false,
|
|
3437
|
+
"docs": [
|
|
3438
|
+
"The owner of the [Self::withdraw_ticket]; needed only to return the rent of the",
|
|
3439
|
+
"[WithdrawTicket] account (if it is getting fully-consumed and closed here)."
|
|
3440
|
+
]
|
|
3441
|
+
},
|
|
3442
|
+
{
|
|
3443
|
+
"name": "associatedTokenProgram",
|
|
3444
|
+
"isMut": false,
|
|
3445
|
+
"isSigner": false,
|
|
3446
|
+
"docs": [
|
|
3447
|
+
"The ATA program - needed for potential destination ATA creation."
|
|
3448
|
+
]
|
|
3449
|
+
},
|
|
3450
|
+
{
|
|
3451
|
+
"name": "systemProgram",
|
|
3452
|
+
"isMut": false,
|
|
3453
|
+
"isSigner": false,
|
|
3454
|
+
"docs": [
|
|
3455
|
+
"The System program - needed for potential destination ATA creation."
|
|
3456
|
+
]
|
|
3457
|
+
},
|
|
3458
|
+
{
|
|
3459
|
+
"name": "progressCallbackProgram",
|
|
3460
|
+
"isMut": false,
|
|
3461
|
+
"isSigner": false,
|
|
3462
|
+
"isOptional": true,
|
|
3463
|
+
"docs": [
|
|
3464
|
+
"The progress callback program (if configured by the withdraw ticket)."
|
|
3465
|
+
]
|
|
3466
|
+
},
|
|
3467
|
+
{
|
|
3468
|
+
"name": "progressCallbackCustomAccount0",
|
|
3469
|
+
"isMut": false,
|
|
3470
|
+
"isSigner": false,
|
|
3471
|
+
"isOptional": true,
|
|
3472
|
+
"docs": [
|
|
3473
|
+
"The first one out of maximum 2 custom accounts that may be required if the withdraw ticket",
|
|
3474
|
+
"defines a callback.",
|
|
3475
|
+
"Please note that the constraints defined here do not mention `mut`, but a specific",
|
|
3476
|
+
"[WithdrawTicket::progress_callback_type] may require it."
|
|
3477
|
+
]
|
|
3478
|
+
},
|
|
3479
|
+
{
|
|
3480
|
+
"name": "progressCallbackCustomAccount1",
|
|
3481
|
+
"isMut": false,
|
|
3482
|
+
"isSigner": false,
|
|
3483
|
+
"isOptional": true,
|
|
3484
|
+
"docs": [
|
|
3485
|
+
"The second possibly-required account (see the `progress_callback_custom_account_0` above)."
|
|
3486
|
+
]
|
|
3487
|
+
}
|
|
3488
|
+
],
|
|
3489
|
+
"args": [],
|
|
3490
|
+
"returns": "bool"
|
|
3491
|
+
},
|
|
3492
|
+
{
|
|
3493
|
+
"name": "recoverInvalidTicketCollateral",
|
|
3494
|
+
"accounts": [
|
|
3495
|
+
{
|
|
3496
|
+
"name": "payer",
|
|
3497
|
+
"isMut": false,
|
|
3498
|
+
"isSigner": true,
|
|
3499
|
+
"docs": [
|
|
3500
|
+
"The transaction executor.",
|
|
3501
|
+
"",
|
|
3502
|
+
"This instruction is, in principle, permissionless. However, only the ticket owner can use",
|
|
3503
|
+
"arbitrary token account as destination for recovered collateral. Other signers can only",
|
|
3504
|
+
"transfer the collateral to the ticket owner's ATA (see [Self::user_source_collateral])."
|
|
3505
|
+
]
|
|
3506
|
+
},
|
|
3507
|
+
{
|
|
3508
|
+
"name": "lendingMarket",
|
|
3509
|
+
"isMut": false,
|
|
3510
|
+
"isSigner": false,
|
|
3511
|
+
"docs": [
|
|
3512
|
+
"The lending market."
|
|
3513
|
+
]
|
|
3514
|
+
},
|
|
3515
|
+
{
|
|
3516
|
+
"name": "lendingMarketAuthority",
|
|
3517
|
+
"isMut": false,
|
|
3518
|
+
"isSigner": false,
|
|
3519
|
+
"docs": [
|
|
3520
|
+
"The market's authority, needed for transferring the collateral (from",
|
|
3521
|
+
"[Self::owner_queued_collateral_vault])."
|
|
3522
|
+
]
|
|
3523
|
+
},
|
|
3524
|
+
{
|
|
3525
|
+
"name": "reserve",
|
|
3526
|
+
"isMut": false,
|
|
3527
|
+
"isSigner": false,
|
|
3528
|
+
"docs": [
|
|
3529
|
+
"The reserve, needed only to validate the other accounts."
|
|
3530
|
+
]
|
|
3531
|
+
},
|
|
3532
|
+
{
|
|
3533
|
+
"name": "reserveCollateralMint",
|
|
3534
|
+
"isMut": false,
|
|
3535
|
+
"isSigner": false,
|
|
3536
|
+
"docs": [
|
|
3537
|
+
"The collateral mint, needed to invoke the transfer."
|
|
3538
|
+
]
|
|
3539
|
+
},
|
|
3540
|
+
{
|
|
3541
|
+
"name": "ownerQueuedCollateralVault",
|
|
3542
|
+
"isMut": true,
|
|
3543
|
+
"isSigner": false,
|
|
3544
|
+
"docs": [
|
|
3545
|
+
"The per-owner \"this reserve's queued collateral\" vault (from which the collateral will be",
|
|
3546
|
+
"recovered)."
|
|
3547
|
+
]
|
|
3548
|
+
},
|
|
3549
|
+
{
|
|
3550
|
+
"name": "userSourceCollateral",
|
|
3551
|
+
"isMut": true,
|
|
3552
|
+
"isSigner": false,
|
|
3553
|
+
"docs": [
|
|
3554
|
+
"The ticket's owner token account to which the ticket-locked collateral should be returned.",
|
|
3555
|
+
"",
|
|
3556
|
+
"Only the ticket's owner can indicate an arbitrary token account here. Permissionless",
|
|
3557
|
+
"executors must indicate the ticket's owner ATA."
|
|
3558
|
+
]
|
|
3559
|
+
},
|
|
3560
|
+
{
|
|
3561
|
+
"name": "collateralTokenProgram",
|
|
3562
|
+
"isMut": false,
|
|
3563
|
+
"isSigner": false,
|
|
3564
|
+
"docs": [
|
|
3565
|
+
"The program of [Self::reserve_collateral_mint], needed for transfer."
|
|
3566
|
+
]
|
|
3567
|
+
},
|
|
3568
|
+
{
|
|
3569
|
+
"name": "withdrawTicket",
|
|
3570
|
+
"isMut": true,
|
|
3571
|
+
"isSigner": false,
|
|
3572
|
+
"docs": [
|
|
3573
|
+
"The ticket's account, necessarily marked as [WithdrawTicket::invalid] first (by the",
|
|
3574
|
+
"`handler_withdraw_queued_liquidity`)."
|
|
3575
|
+
]
|
|
3576
|
+
},
|
|
3577
|
+
{
|
|
3578
|
+
"name": "withdrawTicketOwner",
|
|
3579
|
+
"isMut": true,
|
|
3580
|
+
"isSigner": false,
|
|
3581
|
+
"docs": [
|
|
3582
|
+
"The owner of the [Self::withdraw_ticket]; needed only to return the rent of the",
|
|
3583
|
+
"[WithdrawTicket] account."
|
|
3584
|
+
]
|
|
3585
|
+
}
|
|
3586
|
+
],
|
|
3587
|
+
"args": [
|
|
3588
|
+
{
|
|
3589
|
+
"name": "ticketSequenceNumber",
|
|
3590
|
+
"type": "u64"
|
|
3591
|
+
}
|
|
3592
|
+
]
|
|
3593
|
+
},
|
|
2983
3594
|
{
|
|
2984
3595
|
"name": "initGlobalConfig",
|
|
2985
3596
|
"accounts": [
|
|
@@ -3085,12 +3696,6 @@
|
|
|
3085
3696
|
"defined": "ReserveFarmKind"
|
|
3086
3697
|
}
|
|
3087
3698
|
},
|
|
3088
|
-
{
|
|
3089
|
-
"name": "assetTier",
|
|
3090
|
-
"type": {
|
|
3091
|
-
"defined": "AssetTier"
|
|
3092
|
-
}
|
|
3093
|
-
},
|
|
3094
3699
|
{
|
|
3095
3700
|
"name": "feeCalculation",
|
|
3096
3701
|
"type": {
|
|
@@ -3364,7 +3969,8 @@
|
|
|
3364
3969
|
{
|
|
3365
3970
|
"name": "minFullLiquidationValueThreshold",
|
|
3366
3971
|
"docs": [
|
|
3367
|
-
"Minimum liquidation value threshold triggering full liquidation for an obligation"
|
|
3972
|
+
"Minimum liquidation value threshold triggering full liquidation for an obligation, in full",
|
|
3973
|
+
"units of the quote currency (e.g. `2` means \"$2\", not \"2 lamports of USDC\")."
|
|
3368
3974
|
],
|
|
3369
3975
|
"type": "u64"
|
|
3370
3976
|
},
|
|
@@ -3519,28 +4125,122 @@
|
|
|
3519
4125
|
],
|
|
3520
4126
|
"type": "u8"
|
|
3521
4127
|
},
|
|
4128
|
+
{
|
|
4129
|
+
"name": "matureReserveDebtLiquidationEnabled",
|
|
4130
|
+
"docs": [
|
|
4131
|
+
"Whether the debts that reached their reserve's [ReserveConfig::debt_maturity_timestamp] can",
|
|
4132
|
+
"be liquidated."
|
|
4133
|
+
],
|
|
4134
|
+
"type": "u8"
|
|
4135
|
+
},
|
|
4136
|
+
{
|
|
4137
|
+
"name": "obligationBorrowDebtTermLiquidationEnabled",
|
|
4138
|
+
"docs": [
|
|
4139
|
+
"Whether the [Obligation::borrows] that reached their [ReserveConfig::debt_term_seconds] can",
|
|
4140
|
+
"be liquidated."
|
|
4141
|
+
],
|
|
4142
|
+
"type": "u8"
|
|
4143
|
+
},
|
|
4144
|
+
{
|
|
4145
|
+
"name": "borrowOrderCreationEnabled",
|
|
4146
|
+
"docs": [
|
|
4147
|
+
"Whether new borrow orders can be created.",
|
|
4148
|
+
"Note: updating or cancelling existing orders is *not* affected by this flag."
|
|
4149
|
+
],
|
|
4150
|
+
"type": "u8"
|
|
4151
|
+
},
|
|
4152
|
+
{
|
|
4153
|
+
"name": "borrowOrderExecutionEnabled",
|
|
4154
|
+
"docs": [
|
|
4155
|
+
"Whether the existing borrow orders can be filled."
|
|
4156
|
+
],
|
|
4157
|
+
"type": "u8"
|
|
4158
|
+
},
|
|
4159
|
+
{
|
|
4160
|
+
"name": "proposerAuthority",
|
|
4161
|
+
"docs": [
|
|
4162
|
+
"Authority that can propose creating of new reserves but cannot enable them."
|
|
4163
|
+
],
|
|
4164
|
+
"type": "publicKey"
|
|
4165
|
+
},
|
|
4166
|
+
{
|
|
4167
|
+
"name": "withdrawTicketIssuanceEnabled",
|
|
4168
|
+
"docs": [
|
|
4169
|
+
"Whether any new withdraw tickets can be issued (i.e. whether new requests can enter the",
|
|
4170
|
+
"withdraw queue)."
|
|
4171
|
+
],
|
|
4172
|
+
"type": "u8"
|
|
4173
|
+
},
|
|
4174
|
+
{
|
|
4175
|
+
"name": "withdrawTicketRedemptionEnabled",
|
|
4176
|
+
"docs": [
|
|
4177
|
+
"Whether the existing withdraw tickets can be redeemed (i.e. whether the tickets can be used",
|
|
4178
|
+
"to transfer accumulated pending liquidity to destination accounts)."
|
|
4179
|
+
],
|
|
4180
|
+
"type": "u8"
|
|
4181
|
+
},
|
|
4182
|
+
{
|
|
4183
|
+
"name": "obligationBorrowRolloverConfigurationEnabled",
|
|
4184
|
+
"docs": [
|
|
4185
|
+
"Whether the owners can enable the \"fixed term borrow rollover\" on their obligations.",
|
|
4186
|
+
"",
|
|
4187
|
+
"*Note 1:* the actual execution of (different kinds of) rollovers can be disabled by zeroing",
|
|
4188
|
+
"[Self::fixed_rollover_window_duration_seconds] and",
|
|
4189
|
+
"[Self::variable_rollover_window_duration_seconds].",
|
|
4190
|
+
"",
|
|
4191
|
+
"*Note 2:* when this configuration is disabled, the obligation owners can still disable their",
|
|
4192
|
+
"rollover (i.e. set the obligation's flags to zeroes)."
|
|
4193
|
+
],
|
|
4194
|
+
"type": "u8"
|
|
4195
|
+
},
|
|
3522
4196
|
{
|
|
3523
4197
|
"name": "padding2",
|
|
3524
4198
|
"type": {
|
|
3525
4199
|
"array": [
|
|
3526
4200
|
"u8",
|
|
3527
|
-
|
|
4201
|
+
5
|
|
3528
4202
|
]
|
|
3529
4203
|
}
|
|
3530
4204
|
},
|
|
3531
4205
|
{
|
|
3532
|
-
"name": "
|
|
4206
|
+
"name": "minWithdrawQueuedLiquidityValue",
|
|
3533
4207
|
"docs": [
|
|
3534
|
-
"
|
|
4208
|
+
"Minimum value that can be withdrawn in a single `withdraw_queued_liquidity()` call, in full",
|
|
4209
|
+
"units of the quote currency (e.g. `2` means \"$2\", not \"2 lamports of USDC\")."
|
|
3535
4210
|
],
|
|
3536
|
-
"type": "
|
|
4211
|
+
"type": "u64"
|
|
4212
|
+
},
|
|
4213
|
+
{
|
|
4214
|
+
"name": "fixedRolloverWindowDurationSeconds",
|
|
4215
|
+
"docs": [
|
|
4216
|
+
"A configurable time window (right before the end of a fixed debt term) during which an",
|
|
4217
|
+
"auto-rollover into another *fixed* rate/term can happen.",
|
|
4218
|
+
"",
|
|
4219
|
+
"When zeroed, this rollover mode is effectively disabled.",
|
|
4220
|
+
"",
|
|
4221
|
+
"See [FixedTermBorrowRolloverConfig]."
|
|
4222
|
+
],
|
|
4223
|
+
"type": "u64"
|
|
4224
|
+
},
|
|
4225
|
+
{
|
|
4226
|
+
"name": "variableRolloverWindowDurationSeconds",
|
|
4227
|
+
"docs": [
|
|
4228
|
+
"A configurable time window (right before the end of a fixed debt term) during which an",
|
|
4229
|
+
"auto-rollover into a *variable* (indefinite) rate/term can happen.",
|
|
4230
|
+
"",
|
|
4231
|
+
"When zeroed, this rollover mode is effectively disabled.",
|
|
4232
|
+
"",
|
|
4233
|
+
"This will typically be shorter than [Self::fixed_rollover_window_duration_seconds], acting",
|
|
4234
|
+
"as a fallback if a fixed reserve liquidity remains unavailable for considerable time."
|
|
4235
|
+
],
|
|
4236
|
+
"type": "u64"
|
|
3537
4237
|
},
|
|
3538
4238
|
{
|
|
3539
4239
|
"name": "padding1",
|
|
3540
4240
|
"type": {
|
|
3541
4241
|
"array": [
|
|
3542
4242
|
"u64",
|
|
3543
|
-
|
|
4243
|
+
161
|
|
3544
4244
|
]
|
|
3545
4245
|
}
|
|
3546
4246
|
}
|
|
@@ -3648,34 +4348,22 @@
|
|
|
3648
4348
|
],
|
|
3649
4349
|
"type": "u128"
|
|
3650
4350
|
},
|
|
3651
|
-
{
|
|
3652
|
-
"name": "unhealthyBorrowValueSf",
|
|
3653
|
-
"docs": [
|
|
3654
|
-
"The dangerous borrow value at the weighted average liquidation threshold (scaled fraction)"
|
|
3655
|
-
],
|
|
3656
|
-
"type": "u128"
|
|
3657
|
-
},
|
|
3658
|
-
{
|
|
3659
|
-
"name": "depositsAssetTiers",
|
|
3660
|
-
"docs": [
|
|
3661
|
-
"The asset tier of the deposits"
|
|
3662
|
-
],
|
|
3663
|
-
"type": {
|
|
3664
|
-
"array": [
|
|
3665
|
-
"u8",
|
|
3666
|
-
8
|
|
3667
|
-
]
|
|
3668
|
-
}
|
|
4351
|
+
{
|
|
4352
|
+
"name": "unhealthyBorrowValueSf",
|
|
4353
|
+
"docs": [
|
|
4354
|
+
"The dangerous borrow value at the weighted average liquidation threshold (scaled fraction)"
|
|
4355
|
+
],
|
|
4356
|
+
"type": "u128"
|
|
3669
4357
|
},
|
|
3670
4358
|
{
|
|
3671
|
-
"name": "
|
|
4359
|
+
"name": "paddingDeprecatedAssetTiers",
|
|
3672
4360
|
"docs": [
|
|
3673
|
-
"The asset tier of the
|
|
4361
|
+
"The asset tier of the deposits"
|
|
3674
4362
|
],
|
|
3675
4363
|
"type": {
|
|
3676
4364
|
"array": [
|
|
3677
4365
|
"u8",
|
|
3678
|
-
|
|
4366
|
+
13
|
|
3679
4367
|
]
|
|
3680
4368
|
}
|
|
3681
4369
|
},
|
|
@@ -3758,9 +4446,9 @@
|
|
|
3758
4446
|
"type": "u64"
|
|
3759
4447
|
},
|
|
3760
4448
|
{
|
|
3761
|
-
"name": "
|
|
4449
|
+
"name": "obligationOrders",
|
|
3762
4450
|
"docs": [
|
|
3763
|
-
"Owner-defined,
|
|
4451
|
+
"Owner-defined, permissionlessly-executed repay orders.",
|
|
3764
4452
|
"Typical use-cases would be a stop-loss and a take-profit (possibly co-existing)."
|
|
3765
4453
|
],
|
|
3766
4454
|
"type": {
|
|
@@ -3772,12 +4460,22 @@
|
|
|
3772
4460
|
]
|
|
3773
4461
|
}
|
|
3774
4462
|
},
|
|
4463
|
+
{
|
|
4464
|
+
"name": "borrowOrder",
|
|
4465
|
+
"docs": [
|
|
4466
|
+
"Owner-defined, permissionlessly-executed borrow order applicable to this obligation.",
|
|
4467
|
+
"Non-zeroed only on a newly-initialized fixed-rate, fixed-term obligation."
|
|
4468
|
+
],
|
|
4469
|
+
"type": {
|
|
4470
|
+
"defined": "BorrowOrder"
|
|
4471
|
+
}
|
|
4472
|
+
},
|
|
3775
4473
|
{
|
|
3776
4474
|
"name": "padding3",
|
|
3777
4475
|
"type": {
|
|
3778
4476
|
"array": [
|
|
3779
4477
|
"u64",
|
|
3780
|
-
|
|
4478
|
+
73
|
|
3781
4479
|
]
|
|
3782
4480
|
}
|
|
3783
4481
|
}
|
|
@@ -4014,7 +4712,7 @@
|
|
|
4014
4712
|
"type": {
|
|
4015
4713
|
"array": [
|
|
4016
4714
|
"u64",
|
|
4017
|
-
|
|
4715
|
+
114
|
|
4018
4716
|
]
|
|
4019
4717
|
}
|
|
4020
4718
|
},
|
|
@@ -4035,12 +4733,148 @@
|
|
|
4035
4733
|
]
|
|
4036
4734
|
}
|
|
4037
4735
|
},
|
|
4736
|
+
{
|
|
4737
|
+
"name": "withdrawQueue",
|
|
4738
|
+
"docs": [
|
|
4739
|
+
"The tracker of ticket-based withdrawals."
|
|
4740
|
+
],
|
|
4741
|
+
"type": {
|
|
4742
|
+
"defined": "WithdrawQueue"
|
|
4743
|
+
}
|
|
4744
|
+
},
|
|
4038
4745
|
{
|
|
4039
4746
|
"name": "padding",
|
|
4040
4747
|
"type": {
|
|
4041
4748
|
"array": [
|
|
4042
4749
|
"u64",
|
|
4043
|
-
|
|
4750
|
+
204
|
|
4751
|
+
]
|
|
4752
|
+
}
|
|
4753
|
+
}
|
|
4754
|
+
]
|
|
4755
|
+
}
|
|
4756
|
+
},
|
|
4757
|
+
{
|
|
4758
|
+
"name": "WithdrawTicket",
|
|
4759
|
+
"docs": [
|
|
4760
|
+
"A finite-lifecycle account representing a specific depositor's place in the withdraw queue of",
|
|
4761
|
+
"a specific reserve.",
|
|
4762
|
+
"",
|
|
4763
|
+
"The lifecycle:",
|
|
4764
|
+
"1. The depositor holding ctokens wants to withdraw funds from the reserve, and finds out that",
|
|
4765
|
+
"the required amount is not available (due to high utilization).",
|
|
4766
|
+
"2. The depositor calls the `enqueue_to_withdraw` handler.",
|
|
4767
|
+
"3. The handler transfers the depositor's ctokens to the reserve's internal \"pending\" vault.",
|
|
4768
|
+
"4. The handler initializes a new [WithdrawTicket] account, with the next available sequence",
|
|
4769
|
+
"number.",
|
|
4770
|
+
"5. The depositor waits until his ticket is the next expected one for actual withdraw, and until",
|
|
4771
|
+
"the reserve has enough liquidity.",
|
|
4772
|
+
"6. Anyone (the depositor or a bot) calls the permissionless `withdraw_queued_liquidity`",
|
|
4773
|
+
"handler. If the ticket became invalid (e.g. destination account no longer exists), then the",
|
|
4774
|
+
"depositor can call the `recover_invalid_ticket_collateral` handler instead.",
|
|
4775
|
+
"7. The handler transfers the liquidity amount according to the current exchange rate.",
|
|
4776
|
+
"8. The handler closes the ticket account."
|
|
4777
|
+
],
|
|
4778
|
+
"type": {
|
|
4779
|
+
"kind": "struct",
|
|
4780
|
+
"fields": [
|
|
4781
|
+
{
|
|
4782
|
+
"name": "sequenceNumber",
|
|
4783
|
+
"docs": [
|
|
4784
|
+
"This ticket's place in the queue; the same as used for PDA derivation."
|
|
4785
|
+
],
|
|
4786
|
+
"type": "u64"
|
|
4787
|
+
},
|
|
4788
|
+
{
|
|
4789
|
+
"name": "owner",
|
|
4790
|
+
"docs": [
|
|
4791
|
+
"The funds' owner (the user who called the `enqueue_to_withdraw` handler)."
|
|
4792
|
+
],
|
|
4793
|
+
"type": "publicKey"
|
|
4794
|
+
},
|
|
4795
|
+
{
|
|
4796
|
+
"name": "reserve",
|
|
4797
|
+
"docs": [
|
|
4798
|
+
"The reserve to withdraw from."
|
|
4799
|
+
],
|
|
4800
|
+
"type": "publicKey"
|
|
4801
|
+
},
|
|
4802
|
+
{
|
|
4803
|
+
"name": "userDestinationLiquidityTa",
|
|
4804
|
+
"docs": [
|
|
4805
|
+
"The token account to which the finally-available liquidity should be transferred (by the",
|
|
4806
|
+
"`withdraw_queued_liquidity` handler)."
|
|
4807
|
+
],
|
|
4808
|
+
"type": "publicKey"
|
|
4809
|
+
},
|
|
4810
|
+
{
|
|
4811
|
+
"name": "queuedCollateralAmount",
|
|
4812
|
+
"docs": [
|
|
4813
|
+
"The amount of collateral still waiting to be withdrawn using this ticket."
|
|
4814
|
+
],
|
|
4815
|
+
"type": "u64"
|
|
4816
|
+
},
|
|
4817
|
+
{
|
|
4818
|
+
"name": "createdAtTimestamp",
|
|
4819
|
+
"docs": [
|
|
4820
|
+
"The timestamp at which the queue was entered.",
|
|
4821
|
+
"",
|
|
4822
|
+
"This is currently only a piece of metadata, not used by the logic."
|
|
4823
|
+
],
|
|
4824
|
+
"type": "u64"
|
|
4825
|
+
},
|
|
4826
|
+
{
|
|
4827
|
+
"name": "invalid",
|
|
4828
|
+
"docs": [
|
|
4829
|
+
"Whether the ticket has been found to be invalid (e.g. the [Self::user_destination_liquidity]",
|
|
4830
|
+
"has been repurposed) by the `withdraw_queued_liquidity` handler.",
|
|
4831
|
+
"To be specific: valid = `0`, invalid = `1`.",
|
|
4832
|
+
"",
|
|
4833
|
+
"An invalid ticket cannot be made valid again, and can only be passed to the",
|
|
4834
|
+
"`recover_invalid_ticket_collateral` handler."
|
|
4835
|
+
],
|
|
4836
|
+
"type": "u8"
|
|
4837
|
+
},
|
|
4838
|
+
{
|
|
4839
|
+
"name": "progressCallbackType",
|
|
4840
|
+
"docs": [
|
|
4841
|
+
"One of the valid [ProgressCallbackType] representations."
|
|
4842
|
+
],
|
|
4843
|
+
"type": "u8"
|
|
4844
|
+
},
|
|
4845
|
+
{
|
|
4846
|
+
"name": "alignmentPadding",
|
|
4847
|
+
"docs": [
|
|
4848
|
+
"Inner padding, for alignment."
|
|
4849
|
+
],
|
|
4850
|
+
"type": {
|
|
4851
|
+
"array": [
|
|
4852
|
+
"u8",
|
|
4853
|
+
6
|
|
4854
|
+
]
|
|
4855
|
+
}
|
|
4856
|
+
},
|
|
4857
|
+
{
|
|
4858
|
+
"name": "progressCallbackCustomAccounts",
|
|
4859
|
+
"docs": [
|
|
4860
|
+
"The (optional) accounts to be used by [Self::progress_callback_type]s."
|
|
4861
|
+
],
|
|
4862
|
+
"type": {
|
|
4863
|
+
"array": [
|
|
4864
|
+
"publicKey",
|
|
4865
|
+
2
|
|
4866
|
+
]
|
|
4867
|
+
}
|
|
4868
|
+
},
|
|
4869
|
+
{
|
|
4870
|
+
"name": "endPadding",
|
|
4871
|
+
"docs": [
|
|
4872
|
+
"Trailing padding, for future developments."
|
|
4873
|
+
],
|
|
4874
|
+
"type": {
|
|
4875
|
+
"array": [
|
|
4876
|
+
"u64",
|
|
4877
|
+
40
|
|
4044
4878
|
]
|
|
4045
4879
|
}
|
|
4046
4880
|
}
|
|
@@ -4049,6 +4883,33 @@
|
|
|
4049
4883
|
}
|
|
4050
4884
|
],
|
|
4051
4885
|
"types": [
|
|
4886
|
+
{
|
|
4887
|
+
"name": "BorrowOrderConfigArgs",
|
|
4888
|
+
"docs": [
|
|
4889
|
+
"A subset of [BorrowOrderConfig] excluding the accounts passed via [SetBorrowOrder]."
|
|
4890
|
+
],
|
|
4891
|
+
"type": {
|
|
4892
|
+
"kind": "struct",
|
|
4893
|
+
"fields": [
|
|
4894
|
+
{
|
|
4895
|
+
"name": "remainingDebtAmount",
|
|
4896
|
+
"type": "u64"
|
|
4897
|
+
},
|
|
4898
|
+
{
|
|
4899
|
+
"name": "maxBorrowRateBps",
|
|
4900
|
+
"type": "u32"
|
|
4901
|
+
},
|
|
4902
|
+
{
|
|
4903
|
+
"name": "minDebtTermSeconds",
|
|
4904
|
+
"type": "u64"
|
|
4905
|
+
},
|
|
4906
|
+
{
|
|
4907
|
+
"name": "fillableUntilTimestamp",
|
|
4908
|
+
"type": "u64"
|
|
4909
|
+
}
|
|
4910
|
+
]
|
|
4911
|
+
}
|
|
4912
|
+
},
|
|
4052
4913
|
{
|
|
4053
4914
|
"name": "UpdateConfigMode",
|
|
4054
4915
|
"type": {
|
|
@@ -4127,7 +4988,7 @@
|
|
|
4127
4988
|
"name": "UpdateBorrowRateCurve"
|
|
4128
4989
|
},
|
|
4129
4990
|
{
|
|
4130
|
-
"name": "
|
|
4991
|
+
"name": "DeprecatedUpdateEntireReserveConfig"
|
|
4131
4992
|
},
|
|
4132
4993
|
{
|
|
4133
4994
|
"name": "UpdateDebtWithdrawalCap"
|
|
@@ -4154,7 +5015,7 @@
|
|
|
4154
5015
|
"name": "UpdateBorrowFactor"
|
|
4155
5016
|
},
|
|
4156
5017
|
{
|
|
4157
|
-
"name": "
|
|
5018
|
+
"name": "DeprecatedUpdateAssetTier"
|
|
4158
5019
|
},
|
|
4159
5020
|
{
|
|
4160
5021
|
"name": "UpdateElevationGroup"
|
|
@@ -4212,6 +5073,12 @@
|
|
|
4212
5073
|
},
|
|
4213
5074
|
{
|
|
4214
5075
|
"name": "UpdateBlockCTokenUsage"
|
|
5076
|
+
},
|
|
5077
|
+
{
|
|
5078
|
+
"name": "UpdateDebtMaturityTimestamp"
|
|
5079
|
+
},
|
|
5080
|
+
{
|
|
5081
|
+
"name": "UpdateDebtTermSeconds"
|
|
4215
5082
|
}
|
|
4216
5083
|
]
|
|
4217
5084
|
}
|
|
@@ -4375,6 +5242,36 @@
|
|
|
4375
5242
|
},
|
|
4376
5243
|
{
|
|
4377
5244
|
"name": "UpdatePriceTriggeredLiquidationDisabled"
|
|
5245
|
+
},
|
|
5246
|
+
{
|
|
5247
|
+
"name": "UpdateMatureReserveDebtLiquidationEnabled"
|
|
5248
|
+
},
|
|
5249
|
+
{
|
|
5250
|
+
"name": "UpdateObligationBorrowDebtTermLiquidationEnabled"
|
|
5251
|
+
},
|
|
5252
|
+
{
|
|
5253
|
+
"name": "UpdateBorrowOrderCreationEnabled"
|
|
5254
|
+
},
|
|
5255
|
+
{
|
|
5256
|
+
"name": "UpdateBorrowOrderExecutionEnabled"
|
|
5257
|
+
},
|
|
5258
|
+
{
|
|
5259
|
+
"name": "UpdateWithdrawTicketIssuanceEnabled"
|
|
5260
|
+
},
|
|
5261
|
+
{
|
|
5262
|
+
"name": "UpdateWithdrawTicketRedemptionEnabled"
|
|
5263
|
+
},
|
|
5264
|
+
{
|
|
5265
|
+
"name": "UpdateMinWithdrawQueuedLiquidityValue"
|
|
5266
|
+
},
|
|
5267
|
+
{
|
|
5268
|
+
"name": "UpdateFixedRolloverWindowDurationSeconds"
|
|
5269
|
+
},
|
|
5270
|
+
{
|
|
5271
|
+
"name": "UpdateVariableRolloverWindowDurationSeconds"
|
|
5272
|
+
},
|
|
5273
|
+
{
|
|
5274
|
+
"name": "UpdateObligationBorrowRolloverConfigurationEnabled"
|
|
4378
5275
|
}
|
|
4379
5276
|
]
|
|
4380
5277
|
}
|
|
@@ -4402,32 +5299,198 @@
|
|
|
4402
5299
|
"kind": "struct",
|
|
4403
5300
|
"fields": [
|
|
4404
5301
|
{
|
|
4405
|
-
"name": "slot",
|
|
5302
|
+
"name": "slot",
|
|
5303
|
+
"docs": [
|
|
5304
|
+
"Last slot when updated"
|
|
5305
|
+
],
|
|
5306
|
+
"type": "u64"
|
|
5307
|
+
},
|
|
5308
|
+
{
|
|
5309
|
+
"name": "stale",
|
|
5310
|
+
"docs": [
|
|
5311
|
+
"True when marked stale, false when slot updated"
|
|
5312
|
+
],
|
|
5313
|
+
"type": "u8"
|
|
5314
|
+
},
|
|
5315
|
+
{
|
|
5316
|
+
"name": "priceStatus",
|
|
5317
|
+
"docs": [
|
|
5318
|
+
"Status of the prices used to calculate the last update"
|
|
5319
|
+
],
|
|
5320
|
+
"type": "u8"
|
|
5321
|
+
},
|
|
5322
|
+
{
|
|
5323
|
+
"name": "placeholder",
|
|
5324
|
+
"type": {
|
|
5325
|
+
"array": [
|
|
5326
|
+
"u8",
|
|
5327
|
+
6
|
|
5328
|
+
]
|
|
5329
|
+
}
|
|
5330
|
+
}
|
|
5331
|
+
]
|
|
5332
|
+
}
|
|
5333
|
+
},
|
|
5334
|
+
{
|
|
5335
|
+
"name": "ElevationGroup",
|
|
5336
|
+
"type": {
|
|
5337
|
+
"kind": "struct",
|
|
5338
|
+
"fields": [
|
|
5339
|
+
{
|
|
5340
|
+
"name": "maxLiquidationBonusBps",
|
|
5341
|
+
"type": "u16"
|
|
5342
|
+
},
|
|
5343
|
+
{
|
|
5344
|
+
"name": "id",
|
|
5345
|
+
"type": "u8"
|
|
5346
|
+
},
|
|
5347
|
+
{
|
|
5348
|
+
"name": "ltvPct",
|
|
5349
|
+
"type": "u8"
|
|
5350
|
+
},
|
|
5351
|
+
{
|
|
5352
|
+
"name": "liquidationThresholdPct",
|
|
5353
|
+
"type": "u8"
|
|
5354
|
+
},
|
|
5355
|
+
{
|
|
5356
|
+
"name": "allowNewLoans",
|
|
5357
|
+
"type": "u8"
|
|
5358
|
+
},
|
|
5359
|
+
{
|
|
5360
|
+
"name": "maxReservesAsCollateral",
|
|
5361
|
+
"type": "u8"
|
|
5362
|
+
},
|
|
5363
|
+
{
|
|
5364
|
+
"name": "padding0",
|
|
5365
|
+
"type": "u8"
|
|
5366
|
+
},
|
|
5367
|
+
{
|
|
5368
|
+
"name": "debtReserve",
|
|
5369
|
+
"docs": [
|
|
5370
|
+
"Mandatory debt reserve for this elevation group"
|
|
5371
|
+
],
|
|
5372
|
+
"type": "publicKey"
|
|
5373
|
+
},
|
|
5374
|
+
{
|
|
5375
|
+
"name": "padding1",
|
|
5376
|
+
"type": {
|
|
5377
|
+
"array": [
|
|
5378
|
+
"u64",
|
|
5379
|
+
4
|
|
5380
|
+
]
|
|
5381
|
+
}
|
|
5382
|
+
}
|
|
5383
|
+
]
|
|
5384
|
+
}
|
|
5385
|
+
},
|
|
5386
|
+
{
|
|
5387
|
+
"name": "BorrowOrder",
|
|
5388
|
+
"docs": [
|
|
5389
|
+
"A borrow order.",
|
|
5390
|
+
"",
|
|
5391
|
+
"When the [Obligation::borrow_order] is populated (i.e. non-zeroed) on an Obligation, then the",
|
|
5392
|
+
"permissionless \"fill\" operations may borrow liquidity to the owner according to this",
|
|
5393
|
+
"specification."
|
|
5394
|
+
],
|
|
5395
|
+
"type": {
|
|
5396
|
+
"kind": "struct",
|
|
5397
|
+
"fields": [
|
|
5398
|
+
{
|
|
5399
|
+
"name": "debtLiquidityMint",
|
|
5400
|
+
"docs": [
|
|
5401
|
+
"The asset to be borrowed.",
|
|
5402
|
+
"The reserves used for [Obligation::borrows] *must* all provide exactly this asset."
|
|
5403
|
+
],
|
|
5404
|
+
"type": "publicKey"
|
|
5405
|
+
},
|
|
5406
|
+
{
|
|
5407
|
+
"name": "remainingDebtAmount",
|
|
5408
|
+
"docs": [
|
|
5409
|
+
"The amount of debt that still needs to be filled, in lamports."
|
|
5410
|
+
],
|
|
5411
|
+
"type": "u64"
|
|
5412
|
+
},
|
|
5413
|
+
{
|
|
5414
|
+
"name": "filledDebtDestination",
|
|
5415
|
+
"docs": [
|
|
5416
|
+
"The token account owned by the [Obligation::owner] and holding [Self::debt_liquidity_mint],",
|
|
5417
|
+
"where the filled funds should be transferred to."
|
|
5418
|
+
],
|
|
5419
|
+
"type": "publicKey"
|
|
5420
|
+
},
|
|
5421
|
+
{
|
|
5422
|
+
"name": "minDebtTermSeconds",
|
|
5423
|
+
"docs": [
|
|
5424
|
+
"The minimum allowed debt term that the obligation owner agrees to.",
|
|
5425
|
+
"The reserves used to fill this order *cannot* define their debt term *lower* than this.",
|
|
5426
|
+
"",
|
|
5427
|
+
"If zeroed, then only open-term reserves may be used."
|
|
5428
|
+
],
|
|
5429
|
+
"type": "u64"
|
|
5430
|
+
},
|
|
5431
|
+
{
|
|
5432
|
+
"name": "fillableUntilTimestamp",
|
|
4406
5433
|
"docs": [
|
|
4407
|
-
"
|
|
5434
|
+
"The time until which the borrow order can still be filled."
|
|
4408
5435
|
],
|
|
4409
5436
|
"type": "u64"
|
|
4410
5437
|
},
|
|
4411
5438
|
{
|
|
4412
|
-
"name": "
|
|
5439
|
+
"name": "placedAtTimestamp",
|
|
4413
5440
|
"docs": [
|
|
4414
|
-
"
|
|
5441
|
+
"The time at which this order was placed.",
|
|
5442
|
+
"Currently, this is only a piece of metadata."
|
|
4415
5443
|
],
|
|
4416
|
-
"type": "
|
|
5444
|
+
"type": "u64"
|
|
4417
5445
|
},
|
|
4418
5446
|
{
|
|
4419
|
-
"name": "
|
|
5447
|
+
"name": "lastUpdatedAtTimestamp",
|
|
4420
5448
|
"docs": [
|
|
4421
|
-
"
|
|
5449
|
+
"The time at which this order was most-recently updated (including: created).",
|
|
5450
|
+
"Currently, this is only a piece of metadata."
|
|
4422
5451
|
],
|
|
4423
|
-
"type": "
|
|
5452
|
+
"type": "u64"
|
|
4424
5453
|
},
|
|
4425
5454
|
{
|
|
4426
|
-
"name": "
|
|
5455
|
+
"name": "requestedDebtAmount",
|
|
5456
|
+
"docs": [
|
|
5457
|
+
"The amount of debt that was originally requested when this order was most-recently updated.",
|
|
5458
|
+
"In other words: this field holds a value of [Self::remaining_debt_amount] captured at",
|
|
5459
|
+
"[Self::last_updated_at_timestamp].",
|
|
5460
|
+
"Currently, this is only a piece of metadata."
|
|
5461
|
+
],
|
|
5462
|
+
"type": "u64"
|
|
5463
|
+
},
|
|
5464
|
+
{
|
|
5465
|
+
"name": "maxBorrowRateBps",
|
|
5466
|
+
"docs": [
|
|
5467
|
+
"The maximum borrow rate that the obligation owner agrees to.",
|
|
5468
|
+
"The reserves used for [Obligation::borrows] *cannot* define their maximum borrow rate",
|
|
5469
|
+
"*higher* than this."
|
|
5470
|
+
],
|
|
5471
|
+
"type": "u32"
|
|
5472
|
+
},
|
|
5473
|
+
{
|
|
5474
|
+
"name": "padding1",
|
|
5475
|
+
"docs": [
|
|
5476
|
+
"Alignment padding."
|
|
5477
|
+
],
|
|
4427
5478
|
"type": {
|
|
4428
5479
|
"array": [
|
|
4429
5480
|
"u8",
|
|
4430
|
-
|
|
5481
|
+
4
|
|
5482
|
+
]
|
|
5483
|
+
}
|
|
5484
|
+
},
|
|
5485
|
+
{
|
|
5486
|
+
"name": "endPadding",
|
|
5487
|
+
"docs": [
|
|
5488
|
+
"End padding."
|
|
5489
|
+
],
|
|
5490
|
+
"type": {
|
|
5491
|
+
"array": [
|
|
5492
|
+
"u64",
|
|
5493
|
+
5
|
|
4431
5494
|
]
|
|
4432
5495
|
}
|
|
4433
5496
|
}
|
|
@@ -4435,53 +5498,74 @@
|
|
|
4435
5498
|
}
|
|
4436
5499
|
},
|
|
4437
5500
|
{
|
|
4438
|
-
"name": "
|
|
5501
|
+
"name": "FixedTermBorrowRolloverConfig",
|
|
5502
|
+
"docs": [
|
|
5503
|
+
"Settings driving the auto-rollover of an [ObligationLiquidity] that uses a fixed-term [Reserve]",
|
|
5504
|
+
"and approaches the end of its [ReserveConfig::debt_term_seconds].",
|
|
5505
|
+
"",
|
|
5506
|
+
"By its nature (not a special case), the zeroed struct mean \"no auto-rollover\"."
|
|
5507
|
+
],
|
|
4439
5508
|
"type": {
|
|
4440
5509
|
"kind": "struct",
|
|
4441
5510
|
"fields": [
|
|
4442
5511
|
{
|
|
4443
|
-
"name": "
|
|
4444
|
-
"
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
},
|
|
4458
|
-
{
|
|
4459
|
-
"name": "allowNewLoans",
|
|
4460
|
-
"type": "u8"
|
|
4461
|
-
},
|
|
4462
|
-
{
|
|
4463
|
-
"name": "maxReservesAsCollateral",
|
|
5512
|
+
"name": "autoRolloverEnabled",
|
|
5513
|
+
"docs": [
|
|
5514
|
+
"Whether the borrow can be permissionlessly prolonged under the following *joint* conditions:",
|
|
5515
|
+
"",
|
|
5516
|
+
"The reserve used to re-borrow the liquidity must have:",
|
|
5517
|
+
"A) the exact same maximum borrow rate as the current one,",
|
|
5518
|
+
"B) the exact same debt term as the current one,",
|
|
5519
|
+
"C) sufficient available liquidity (including no withdraw tickets waiting in its queue).",
|
|
5520
|
+
"",
|
|
5521
|
+
"The time left until the current debt term expires must be:",
|
|
5522
|
+
"D) less than [LendingMarket::fixed_rollover_window_duration_seconds].",
|
|
5523
|
+
"",
|
|
5524
|
+
"Note: the other settings are only effective when this one is `1`."
|
|
5525
|
+
],
|
|
4464
5526
|
"type": "u8"
|
|
4465
5527
|
},
|
|
4466
5528
|
{
|
|
4467
|
-
"name": "
|
|
5529
|
+
"name": "openTermAllowed",
|
|
5530
|
+
"docs": [
|
|
5531
|
+
"When `1`, partially lifts the condition *B* from [Self::auto_rollover_enabled]: additionally",
|
|
5532
|
+
"allows to use a variable (indefinite) debt term if less than",
|
|
5533
|
+
"[LendingMarket::variable_rollover_window_duration_seconds] is left until expiration.",
|
|
5534
|
+
"",
|
|
5535
|
+
"Note: typically this flag should be used together with [Self::max_borrow_rate_bps] set to",
|
|
5536
|
+
"`u32::MAX` (to denote a variable-rate reserve)."
|
|
5537
|
+
],
|
|
4468
5538
|
"type": "u8"
|
|
4469
5539
|
},
|
|
4470
5540
|
{
|
|
4471
|
-
"name": "
|
|
5541
|
+
"name": "alignmentPadding",
|
|
4472
5542
|
"docs": [
|
|
4473
|
-
"
|
|
5543
|
+
"Internal alignment padding (free to reuse)."
|
|
4474
5544
|
],
|
|
4475
|
-
"type": "publicKey"
|
|
4476
|
-
},
|
|
4477
|
-
{
|
|
4478
|
-
"name": "padding1",
|
|
4479
5545
|
"type": {
|
|
4480
5546
|
"array": [
|
|
4481
|
-
"
|
|
4482
|
-
|
|
5547
|
+
"u8",
|
|
5548
|
+
2
|
|
4483
5549
|
]
|
|
4484
5550
|
}
|
|
5551
|
+
},
|
|
5552
|
+
{
|
|
5553
|
+
"name": "maxBorrowRateBps",
|
|
5554
|
+
"docs": [
|
|
5555
|
+
"A customization setting that can lift the condition *A* from [Self::auto_rollover_enabled]:",
|
|
5556
|
+
"when not zeroed, the rollover may use a reserve with a maximum borrow rate equal or lower",
|
|
5557
|
+
"than the given one."
|
|
5558
|
+
],
|
|
5559
|
+
"type": "u32"
|
|
5560
|
+
},
|
|
5561
|
+
{
|
|
5562
|
+
"name": "minDebtTermSeconds",
|
|
5563
|
+
"docs": [
|
|
5564
|
+
"A customization setting that can lift the condition *B* from [Self::auto_rollover_enabled]:",
|
|
5565
|
+
"when not zeroed, the rollover may use a reserve with a *fixed* debt term equal or longer",
|
|
5566
|
+
"than the given one."
|
|
5567
|
+
],
|
|
5568
|
+
"type": "u64"
|
|
4485
5569
|
}
|
|
4486
5570
|
]
|
|
4487
5571
|
}
|
|
@@ -4578,7 +5662,17 @@
|
|
|
4578
5662
|
}
|
|
4579
5663
|
},
|
|
4580
5664
|
{
|
|
4581
|
-
"name": "
|
|
5665
|
+
"name": "firstBorrowedAtTimestamp",
|
|
5666
|
+
"docs": [
|
|
5667
|
+
"The timestamp at which this debt was taken.",
|
|
5668
|
+
"More specifically: when the *first* borrow operation from this reserve happened.",
|
|
5669
|
+
"This means that:",
|
|
5670
|
+
"- adding debt of the same reserve does *not* change this timestamp,",
|
|
5671
|
+
"- repaying the entire debt of this reserve *does* reset this timestamp.",
|
|
5672
|
+
"",
|
|
5673
|
+
"Note: this field is *not* only metadata: it is used in the logic, e.g. for enforcing the",
|
|
5674
|
+
"fixed-term borrows (i.e. those induced by [ReserveConfig::debt_term_seconds])."
|
|
5675
|
+
],
|
|
4582
5676
|
"type": "u64"
|
|
4583
5677
|
},
|
|
4584
5678
|
{
|
|
@@ -4609,12 +5703,22 @@
|
|
|
4609
5703
|
],
|
|
4610
5704
|
"type": "u64"
|
|
4611
5705
|
},
|
|
5706
|
+
{
|
|
5707
|
+
"name": "fixedTermBorrowRolloverConfig",
|
|
5708
|
+
"docs": [
|
|
5709
|
+
"The user's auto-rollover opt-ins - only effective when this borrow is fixed-term (i.e. its",
|
|
5710
|
+
"reserve has a non-zero [ReserveConfig::debt_term_seconds])."
|
|
5711
|
+
],
|
|
5712
|
+
"type": {
|
|
5713
|
+
"defined": "FixedTermBorrowRolloverConfig"
|
|
5714
|
+
}
|
|
5715
|
+
},
|
|
4612
5716
|
{
|
|
4613
5717
|
"name": "padding2",
|
|
4614
5718
|
"type": {
|
|
4615
5719
|
"array": [
|
|
4616
5720
|
"u64",
|
|
4617
|
-
|
|
5721
|
+
5
|
|
4618
5722
|
]
|
|
4619
5723
|
}
|
|
4620
5724
|
}
|
|
@@ -4625,7 +5729,7 @@
|
|
|
4625
5729
|
"name": "ObligationOrder",
|
|
4626
5730
|
"docs": [
|
|
4627
5731
|
"A single obligation order.",
|
|
4628
|
-
"See [Obligation::
|
|
5732
|
+
"See [Obligation::obligation_orders]."
|
|
4629
5733
|
],
|
|
4630
5734
|
"type": {
|
|
4631
5735
|
"kind": "struct",
|
|
@@ -4722,7 +5826,7 @@
|
|
|
4722
5826
|
{
|
|
4723
5827
|
"name": "padding1",
|
|
4724
5828
|
"docs": [
|
|
4725
|
-
"
|
|
5829
|
+
"Alignment padding.",
|
|
4726
5830
|
"The fields above take up 2+2+1+1 bytes = 48 bits, which means we need 80 bits = 10 bytes to",
|
|
4727
5831
|
"align with `u128`s."
|
|
4728
5832
|
],
|
|
@@ -4749,23 +5853,6 @@
|
|
|
4749
5853
|
]
|
|
4750
5854
|
}
|
|
4751
5855
|
},
|
|
4752
|
-
{
|
|
4753
|
-
"name": "AssetTier",
|
|
4754
|
-
"type": {
|
|
4755
|
-
"kind": "enum",
|
|
4756
|
-
"variants": [
|
|
4757
|
-
{
|
|
4758
|
-
"name": "Regular"
|
|
4759
|
-
},
|
|
4760
|
-
{
|
|
4761
|
-
"name": "IsolatedCollateral"
|
|
4762
|
-
},
|
|
4763
|
-
{
|
|
4764
|
-
"name": "IsolatedDebt"
|
|
4765
|
-
}
|
|
4766
|
-
]
|
|
4767
|
-
}
|
|
4768
|
-
},
|
|
4769
5856
|
{
|
|
4770
5857
|
"name": "BigFractionBytes",
|
|
4771
5858
|
"type": {
|
|
@@ -4875,7 +5962,7 @@
|
|
|
4875
5962
|
"type": "u8"
|
|
4876
5963
|
},
|
|
4877
5964
|
{
|
|
4878
|
-
"name": "
|
|
5965
|
+
"name": "paddingDeprecatedAssetTier",
|
|
4879
5966
|
"docs": [
|
|
4880
5967
|
"Asset tier -> 0 - regular (collateral & debt), 1 - isolated collateral, 2 - isolated debt"
|
|
4881
5968
|
],
|
|
@@ -5129,6 +6216,29 @@
|
|
|
5129
6216
|
"Only relevant when `autodeleverage_enabled == 1`, and must not be 0 in such case."
|
|
5130
6217
|
],
|
|
5131
6218
|
"type": "u64"
|
|
6219
|
+
},
|
|
6220
|
+
{
|
|
6221
|
+
"name": "debtMaturityTimestamp",
|
|
6222
|
+
"docs": [
|
|
6223
|
+
"The timestamp at which all [Obligation::borrows] using this reserve become liquidatable",
|
|
6224
|
+
"(on the same terms as reserve-wide deleveraging).",
|
|
6225
|
+
"Inactive when zeroed (i.e. debt never matures).",
|
|
6226
|
+
"",
|
|
6227
|
+
"Note: this feature is independent of [Self::debt_term_seconds] - the liquidation mechanism",
|
|
6228
|
+
"is based directly on the timestamp defined here, on Reserve's level."
|
|
6229
|
+
],
|
|
6230
|
+
"type": "u64"
|
|
6231
|
+
},
|
|
6232
|
+
{
|
|
6233
|
+
"name": "debtTermSeconds",
|
|
6234
|
+
"docs": [
|
|
6235
|
+
"The duration after which any debt coming from this Reserve must be repaid.",
|
|
6236
|
+
"Inactive when zeroed (i.e. funds can be borrowed indefinitely).",
|
|
6237
|
+
"",
|
|
6238
|
+
"Note: this feature is independent of [Self::debt_maturity_timestamp] - the liquidation",
|
|
6239
|
+
"mechanism is based on the [ObligationLiquidity::first_borrowed_at_timestamp]."
|
|
6240
|
+
],
|
|
6241
|
+
"type": "u64"
|
|
5132
6242
|
}
|
|
5133
6243
|
]
|
|
5134
6244
|
}
|
|
@@ -5224,9 +6334,13 @@
|
|
|
5224
6334
|
"type": "publicKey"
|
|
5225
6335
|
},
|
|
5226
6336
|
{
|
|
5227
|
-
"name": "
|
|
6337
|
+
"name": "totalAvailableAmount",
|
|
5228
6338
|
"docs": [
|
|
5229
|
-
"
|
|
6339
|
+
"Total reserve liquidity available.",
|
|
6340
|
+
"",
|
|
6341
|
+
"Note: not all of this liquidity can be freely used for any purpose. Production code should",
|
|
6342
|
+
"use the specialized getters - see e.g. [Reserve::total_available_liquidity_amount()],",
|
|
6343
|
+
"[Reserve::freely_available_liquidity_amount()]."
|
|
5230
6344
|
],
|
|
5231
6345
|
"type": "u64"
|
|
5232
6346
|
},
|
|
@@ -5356,6 +6470,41 @@
|
|
|
5356
6470
|
]
|
|
5357
6471
|
}
|
|
5358
6472
|
},
|
|
6473
|
+
{
|
|
6474
|
+
"name": "WithdrawQueue",
|
|
6475
|
+
"docs": [
|
|
6476
|
+
"A tracker of ticket-based withdrawals."
|
|
6477
|
+
],
|
|
6478
|
+
"type": {
|
|
6479
|
+
"kind": "struct",
|
|
6480
|
+
"fields": [
|
|
6481
|
+
{
|
|
6482
|
+
"name": "queuedCollateralAmount",
|
|
6483
|
+
"docs": [
|
|
6484
|
+
"The part of [ReserveLiquidity::total_available_amount] locked for ticketed withdrawals."
|
|
6485
|
+
],
|
|
6486
|
+
"type": "u64"
|
|
6487
|
+
},
|
|
6488
|
+
{
|
|
6489
|
+
"name": "nextIssuedTicketSequenceNumber",
|
|
6490
|
+
"docs": [
|
|
6491
|
+
"The sequence number of the next ticket to be issued when enqueueing to withdraw.",
|
|
6492
|
+
"Note: it is also a number of tickets issued so far."
|
|
6493
|
+
],
|
|
6494
|
+
"type": "u64"
|
|
6495
|
+
},
|
|
6496
|
+
{
|
|
6497
|
+
"name": "nextWithdrawableTicketSequenceNumber",
|
|
6498
|
+
"docs": [
|
|
6499
|
+
"The sequence number of the next ticket to be used for actually transferring the withdrawn",
|
|
6500
|
+
"liquidity (assuming it is available in the reserve).",
|
|
6501
|
+
"Note: it is also a number of fully-consumed tickets so far."
|
|
6502
|
+
],
|
|
6503
|
+
"type": "u64"
|
|
6504
|
+
}
|
|
6505
|
+
]
|
|
6506
|
+
}
|
|
6507
|
+
},
|
|
5359
6508
|
{
|
|
5360
6509
|
"name": "WithdrawalCaps",
|
|
5361
6510
|
"docs": [
|
|
@@ -5578,6 +6727,31 @@
|
|
|
5578
6727
|
]
|
|
5579
6728
|
}
|
|
5580
6729
|
},
|
|
6730
|
+
{
|
|
6731
|
+
"name": "ProgressCallbackType",
|
|
6732
|
+
"docs": [
|
|
6733
|
+
"A callback to be notified when the ticket is being processed.",
|
|
6734
|
+
"",
|
|
6735
|
+
"## Why an enum?",
|
|
6736
|
+
"",
|
|
6737
|
+
"Only reliable programs may be used for callbacks (since any error or panic returned from a CPI",
|
|
6738
|
+
"aborts an entire transaction, which would stall the queue progress). Hence, we need a whitelist,",
|
|
6739
|
+
"and the simplest initial implementation is a hardcoded enum. If we want to be able to add new",
|
|
6740
|
+
"whitelist items without SC updates, we can implement such support using a special enum value",
|
|
6741
|
+
"(e.g. `SPECIFIED_BY_PDA = 255`)."
|
|
6742
|
+
],
|
|
6743
|
+
"type": {
|
|
6744
|
+
"kind": "enum",
|
|
6745
|
+
"variants": [
|
|
6746
|
+
{
|
|
6747
|
+
"name": "None"
|
|
6748
|
+
},
|
|
6749
|
+
{
|
|
6750
|
+
"name": "KlendQueueAccountingHandlerOnKvault"
|
|
6751
|
+
}
|
|
6752
|
+
]
|
|
6753
|
+
}
|
|
6754
|
+
},
|
|
5581
6755
|
{
|
|
5582
6756
|
"name": "BorrowRateCurve",
|
|
5583
6757
|
"type": {
|
|
@@ -5614,6 +6788,82 @@
|
|
|
5614
6788
|
}
|
|
5615
6789
|
}
|
|
5616
6790
|
],
|
|
6791
|
+
"events": [
|
|
6792
|
+
{
|
|
6793
|
+
"name": "BorrowOrderCancelEvent",
|
|
6794
|
+
"fields": [
|
|
6795
|
+
{
|
|
6796
|
+
"name": "before",
|
|
6797
|
+
"type": {
|
|
6798
|
+
"defined": "BorrowOrder"
|
|
6799
|
+
},
|
|
6800
|
+
"index": false
|
|
6801
|
+
}
|
|
6802
|
+
]
|
|
6803
|
+
},
|
|
6804
|
+
{
|
|
6805
|
+
"name": "BorrowOrderFullFillEvent",
|
|
6806
|
+
"fields": [
|
|
6807
|
+
{
|
|
6808
|
+
"name": "before",
|
|
6809
|
+
"type": {
|
|
6810
|
+
"defined": "BorrowOrder"
|
|
6811
|
+
},
|
|
6812
|
+
"index": false
|
|
6813
|
+
}
|
|
6814
|
+
]
|
|
6815
|
+
},
|
|
6816
|
+
{
|
|
6817
|
+
"name": "BorrowOrderPartialFillEvent",
|
|
6818
|
+
"fields": [
|
|
6819
|
+
{
|
|
6820
|
+
"name": "before",
|
|
6821
|
+
"type": {
|
|
6822
|
+
"defined": "BorrowOrder"
|
|
6823
|
+
},
|
|
6824
|
+
"index": false
|
|
6825
|
+
},
|
|
6826
|
+
{
|
|
6827
|
+
"name": "after",
|
|
6828
|
+
"type": {
|
|
6829
|
+
"defined": "BorrowOrder"
|
|
6830
|
+
},
|
|
6831
|
+
"index": false
|
|
6832
|
+
}
|
|
6833
|
+
]
|
|
6834
|
+
},
|
|
6835
|
+
{
|
|
6836
|
+
"name": "BorrowOrderPlaceEvent",
|
|
6837
|
+
"fields": [
|
|
6838
|
+
{
|
|
6839
|
+
"name": "after",
|
|
6840
|
+
"type": {
|
|
6841
|
+
"defined": "BorrowOrder"
|
|
6842
|
+
},
|
|
6843
|
+
"index": false
|
|
6844
|
+
}
|
|
6845
|
+
]
|
|
6846
|
+
},
|
|
6847
|
+
{
|
|
6848
|
+
"name": "BorrowOrderUpdateEvent",
|
|
6849
|
+
"fields": [
|
|
6850
|
+
{
|
|
6851
|
+
"name": "before",
|
|
6852
|
+
"type": {
|
|
6853
|
+
"defined": "BorrowOrder"
|
|
6854
|
+
},
|
|
6855
|
+
"index": false
|
|
6856
|
+
},
|
|
6857
|
+
{
|
|
6858
|
+
"name": "after",
|
|
6859
|
+
"type": {
|
|
6860
|
+
"defined": "BorrowOrder"
|
|
6861
|
+
},
|
|
6862
|
+
"index": false
|
|
6863
|
+
}
|
|
6864
|
+
]
|
|
6865
|
+
}
|
|
6866
|
+
],
|
|
5617
6867
|
"errors": [
|
|
5618
6868
|
{
|
|
5619
6869
|
"code": 6000,
|
|
@@ -6279,6 +7529,111 @@
|
|
|
6279
7529
|
"code": 6132,
|
|
6280
7530
|
"name": "CTokenUsageBlocked",
|
|
6281
7531
|
"msg": "CToken minting/redeeming is blocked for this reserve"
|
|
7532
|
+
},
|
|
7533
|
+
{
|
|
7534
|
+
"code": 6133,
|
|
7535
|
+
"name": "CannotUseSameReserve",
|
|
7536
|
+
"msg": "Cannot call ix with same reserve"
|
|
7537
|
+
},
|
|
7538
|
+
{
|
|
7539
|
+
"code": 6134,
|
|
7540
|
+
"name": "TransactionIncludesRestrictedPrograms",
|
|
7541
|
+
"msg": "Transaction includes restricted programs"
|
|
7542
|
+
},
|
|
7543
|
+
{
|
|
7544
|
+
"code": 6135,
|
|
7545
|
+
"name": "BorrowOrderDebtLiquidityMintMismatch",
|
|
7546
|
+
"msg": "There is no borrow order requesting debt in the given asset"
|
|
7547
|
+
},
|
|
7548
|
+
{
|
|
7549
|
+
"code": 6136,
|
|
7550
|
+
"name": "BorrowOrderMaxBorrowRateExceeded",
|
|
7551
|
+
"msg": "Reserve used for fill exceeds the maximum borrow rate specified by the order"
|
|
7552
|
+
},
|
|
7553
|
+
{
|
|
7554
|
+
"code": 6137,
|
|
7555
|
+
"name": "BorrowOrderMinDebtTermInsufficient",
|
|
7556
|
+
"msg": "Reserve used for fill defines a debt term shorter than specified by the order"
|
|
7557
|
+
},
|
|
7558
|
+
{
|
|
7559
|
+
"code": 6138,
|
|
7560
|
+
"name": "BorrowOrderFillTimeLimitExceeded",
|
|
7561
|
+
"msg": "Borrow order can no longer be filled"
|
|
7562
|
+
},
|
|
7563
|
+
{
|
|
7564
|
+
"code": 6139,
|
|
7565
|
+
"name": "ReserveDebtMaturityReached",
|
|
7566
|
+
"msg": "Cannot borrow from a reserve that reached its debt maturity timestamp"
|
|
7567
|
+
},
|
|
7568
|
+
{
|
|
7569
|
+
"code": 6140,
|
|
7570
|
+
"name": "NonUpdatableOrderConfiguration",
|
|
7571
|
+
"msg": "Some piece of the order's configuration cannot be updated (the order should be cancelled and placed again)"
|
|
7572
|
+
},
|
|
7573
|
+
{
|
|
7574
|
+
"code": 6141,
|
|
7575
|
+
"name": "BorrowOrderExecutionDisabled",
|
|
7576
|
+
"msg": "Execution of borrow orders is disabled"
|
|
7577
|
+
},
|
|
7578
|
+
{
|
|
7579
|
+
"code": 6142,
|
|
7580
|
+
"name": "DebtReachedReserveDebtTerm",
|
|
7581
|
+
"msg": "Cannot increase the debt that has reached its end of term configured by the reserve"
|
|
7582
|
+
},
|
|
7583
|
+
{
|
|
7584
|
+
"code": 6143,
|
|
7585
|
+
"name": "ExpectationNotMet",
|
|
7586
|
+
"msg": "The on-chain state does not meet expectation specified by the caller, so the operation must be aborted (to avoid race conditions)"
|
|
7587
|
+
},
|
|
7588
|
+
{
|
|
7589
|
+
"code": 6144,
|
|
7590
|
+
"name": "WithdrawTicketIssuanceDisabled",
|
|
7591
|
+
"msg": "Issuing new withdraw tickets is disabled by the market"
|
|
7592
|
+
},
|
|
7593
|
+
{
|
|
7594
|
+
"code": 6145,
|
|
7595
|
+
"name": "WithdrawTicketRedemptionDisabled",
|
|
7596
|
+
"msg": "Redeeming withdraw tickets is disabled by the market"
|
|
7597
|
+
},
|
|
7598
|
+
{
|
|
7599
|
+
"code": 6146,
|
|
7600
|
+
"name": "WithdrawTicketStillValid",
|
|
7601
|
+
"msg": "Recovering collateral is only available after the withdraw ticket has been marked invalid"
|
|
7602
|
+
},
|
|
7603
|
+
{
|
|
7604
|
+
"code": 6147,
|
|
7605
|
+
"name": "WithdrawTicketRequiresFullRedemption",
|
|
7606
|
+
"msg": "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"
|
|
7607
|
+
},
|
|
7608
|
+
{
|
|
7609
|
+
"code": 6148,
|
|
7610
|
+
"name": "UserTokenBalanceMismatch",
|
|
7611
|
+
"msg": "The user's token account has changed its balance in an unexpected way"
|
|
7612
|
+
},
|
|
7613
|
+
{
|
|
7614
|
+
"code": 6149,
|
|
7615
|
+
"name": "WithdrawQueuedLiquidityValueTooSmall",
|
|
7616
|
+
"msg": "Available liquidity could not satisfy the minimum required ticketed withdrawal value"
|
|
7617
|
+
},
|
|
7618
|
+
{
|
|
7619
|
+
"code": 6150,
|
|
7620
|
+
"name": "InvalidTokenAccountState",
|
|
7621
|
+
"msg": "Token account is in a state preventing the handler's operation (e.g. frozen or delegate)"
|
|
7622
|
+
},
|
|
7623
|
+
{
|
|
7624
|
+
"code": 6151,
|
|
7625
|
+
"name": "WithdrawTicketInvalid",
|
|
7626
|
+
"msg": "Cannot use ticket that was already marked invalid"
|
|
7627
|
+
},
|
|
7628
|
+
{
|
|
7629
|
+
"code": 6152,
|
|
7630
|
+
"name": "InvalidWithdrawTicketProgressCallbackConfig",
|
|
7631
|
+
"msg": "Invalid configuration or required custom accounts for the requested withdraw ticket callback type"
|
|
7632
|
+
},
|
|
7633
|
+
{
|
|
7634
|
+
"code": 6153,
|
|
7635
|
+
"name": "WithdrawTicketProgressCallbackAccountsMissing",
|
|
7636
|
+
"msg": "One or more accounts required by the ticket's configured progress callback are missing"
|
|
6282
7637
|
}
|
|
6283
7638
|
]
|
|
6284
7639
|
}
|