@kamino-finance/klend-sdk 7.4.0-beta.1 → 7.4.0-beta.2
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 +51 -3
- package/dist/@codegen/klend/accounts/LendingMarket.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/LendingMarket.js +39 -6
- 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.js +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/errors/custom.d.ts +89 -1
- package/dist/@codegen/klend/errors/custom.d.ts.map +1 -1
- package/dist/@codegen/klend/errors/custom.js +155 -1
- package/dist/@codegen/klend/errors/custom.js.map +1 -1
- 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 +4 -0
- package/dist/@codegen/klend/instructions/index.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/index.js +6 -1
- package/dist/@codegen/klend/instructions/index.js.map +1 -1
- 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/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/ObligationLiquidity.d.ts +35 -5
- package/dist/@codegen/klend/types/ObligationLiquidity.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ObligationLiquidity.js +17 -7
- 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/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/UpdateConfigMode.d.ts +33 -7
- package/dist/@codegen/klend/types/UpdateConfigMode.d.ts.map +1 -1
- package/dist/@codegen/klend/types/UpdateConfigMode.js +61 -13
- package/dist/@codegen/klend/types/UpdateConfigMode.js.map +1 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts +52 -0
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts.map +1 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.js +97 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.js.map +1 -1
- package/dist/@codegen/klend/types/index.d.ts +8 -8
- package/dist/@codegen/klend/types/index.d.ts.map +1 -1
- package/dist/@codegen/klend/types/index.js +5 -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/{klend/types/AssetTier.js → kvault/types/ReserveType.js} +24 -48
- 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/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +4 -0
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/market.d.ts +110 -10
- package/dist/classes/market.d.ts.map +1 -1
- package/dist/classes/market.js +165 -13
- 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 +9 -1
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +23 -1
- 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 +581 -54
- package/dist/manager/client_kamino_manager.js +12 -8
- 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/ReserveKind.d.ts +57 -0
- package/dist/utils/ReserveKind.d.ts.map +1 -0
- package/dist/utils/ReserveKind.js +76 -0
- package/dist/utils/ReserveKind.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.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/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 +79 -8
- package/src/@codegen/klend/accounts/Obligation.ts +42 -31
- package/src/@codegen/klend/accounts/Reserve.ts +1 -1
- package/src/@codegen/klend/accounts/UserState.ts +0 -75
- package/src/@codegen/klend/errors/custom.ts +172 -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 +7 -0
- package/src/@codegen/klend/instructions/setBorrowOrder.ts +81 -0
- package/src/@codegen/klend/types/BorrowOrder.ts +267 -0
- package/src/@codegen/klend/types/BorrowOrderConfigArgs.ts +87 -0
- package/src/@codegen/klend/types/ObligationLiquidity.ts +39 -9
- package/src/@codegen/klend/types/ObligationOrder.ts +4 -4
- package/src/@codegen/klend/types/ReserveConfig.ts +72 -9
- package/src/@codegen/klend/types/UpdateConfigMode.ts +73 -13
- package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +120 -0
- package/src/@codegen/klend/types/index.ts +21 -14
- 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/manager.ts +5 -0
- package/src/classes/market.ts +206 -14
- package/src/classes/obligation.ts +9 -7
- package/src/classes/reserve.ts +27 -1
- package/src/classes/utils.ts +8 -0
- package/src/classes/vault.ts +35 -4
- package/src/idl/klend.json +581 -54
- package/src/idl/kvault.json +2336 -299
- package/src/manager/client_kamino_manager.ts +12 -8
- package/src/obligation_orders/price_based.ts +7 -6
- package/src/utils/ReserveKind.ts +94 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/managerTypes.ts +3 -1
- 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
|
@@ -0,0 +1,189 @@
|
|
|
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([33, 81, 51, 167, 1, 253, 151, 173])
|
|
19
|
+
|
|
20
|
+
export interface InvestInVirtualReserveAndFillOrderArgs {
|
|
21
|
+
softMaxLiquidityToInvest: BN
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface InvestInVirtualReserveAndFillOrderAccounts {
|
|
25
|
+
investInVirtualReserve: {
|
|
26
|
+
payer: TransactionSigner
|
|
27
|
+
payerTokenAccount: Address
|
|
28
|
+
vaultState: Address
|
|
29
|
+
tokenVault: Address
|
|
30
|
+
tokenMint: Address
|
|
31
|
+
baseVaultAuthority: Address
|
|
32
|
+
srcCtokenVault: Option<Address>
|
|
33
|
+
srcReserve: Option<Address>
|
|
34
|
+
srcLendingMarket: Option<Address>
|
|
35
|
+
srcLendingMarketAuthority: Option<Address>
|
|
36
|
+
srcReserveLiquiditySupply: Option<Address>
|
|
37
|
+
srcReserveCollateralMint: Option<Address>
|
|
38
|
+
dstCtokenVault: Address
|
|
39
|
+
dstReserve: Address
|
|
40
|
+
dstLendingMarket: Address
|
|
41
|
+
dstLendingMarketAuthority: Address
|
|
42
|
+
dstReserveLiquiditySupply: Address
|
|
43
|
+
dstReserveCollateralMint: Address
|
|
44
|
+
reserveWhitelistEntry: Option<Address>
|
|
45
|
+
klendProgram: Address
|
|
46
|
+
reserveCtokenProgram: Address
|
|
47
|
+
tokenProgram: Address
|
|
48
|
+
instructionSysvarAccount: Address
|
|
49
|
+
}
|
|
50
|
+
fillBorrowOrder: {
|
|
51
|
+
vaultState: Address
|
|
52
|
+
reserve: Address
|
|
53
|
+
tokenMint: Address
|
|
54
|
+
obligation: Address
|
|
55
|
+
borrowReserveLiquidityFeeReceiver: Address
|
|
56
|
+
userDestinationLiquidity: Address
|
|
57
|
+
referrerTokenState: Option<Address>
|
|
58
|
+
obligationFarmUserState: Option<Address>
|
|
59
|
+
reserveFarmState: Option<Address>
|
|
60
|
+
farmProgram: Address
|
|
61
|
+
eventAuthority: Address
|
|
62
|
+
}
|
|
63
|
+
eventAuthority: Address
|
|
64
|
+
program: Address
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export const layout = borsh.struct<InvestInVirtualReserveAndFillOrderArgs>([
|
|
68
|
+
borsh.u64("softMaxLiquidityToInvest"),
|
|
69
|
+
])
|
|
70
|
+
|
|
71
|
+
export function investInVirtualReserveAndFillOrder(
|
|
72
|
+
args: InvestInVirtualReserveAndFillOrderArgs,
|
|
73
|
+
accounts: InvestInVirtualReserveAndFillOrderAccounts,
|
|
74
|
+
remainingAccounts: Array<AccountMeta | AccountSignerMeta> = [],
|
|
75
|
+
programAddress: Address = PROGRAM_ID
|
|
76
|
+
) {
|
|
77
|
+
const keys: Array<AccountMeta | AccountSignerMeta> = [
|
|
78
|
+
{
|
|
79
|
+
address: accounts.investInVirtualReserve.payer.address,
|
|
80
|
+
role: 3,
|
|
81
|
+
signer: accounts.investInVirtualReserve.payer,
|
|
82
|
+
},
|
|
83
|
+
{ address: accounts.investInVirtualReserve.payerTokenAccount, role: 1 },
|
|
84
|
+
{ address: accounts.investInVirtualReserve.vaultState, role: 1 },
|
|
85
|
+
{ address: accounts.investInVirtualReserve.tokenVault, role: 1 },
|
|
86
|
+
{ address: accounts.investInVirtualReserve.tokenMint, role: 1 },
|
|
87
|
+
{ address: accounts.investInVirtualReserve.baseVaultAuthority, role: 1 },
|
|
88
|
+
isSome(accounts.investInVirtualReserve.srcCtokenVault)
|
|
89
|
+
? {
|
|
90
|
+
address: accounts.investInVirtualReserve.srcCtokenVault.value,
|
|
91
|
+
role: 1,
|
|
92
|
+
}
|
|
93
|
+
: { address: programAddress, role: 0 },
|
|
94
|
+
isSome(accounts.investInVirtualReserve.srcReserve)
|
|
95
|
+
? { address: accounts.investInVirtualReserve.srcReserve.value, role: 1 }
|
|
96
|
+
: { address: programAddress, role: 0 },
|
|
97
|
+
isSome(accounts.investInVirtualReserve.srcLendingMarket)
|
|
98
|
+
? {
|
|
99
|
+
address: accounts.investInVirtualReserve.srcLendingMarket.value,
|
|
100
|
+
role: 0,
|
|
101
|
+
}
|
|
102
|
+
: { address: programAddress, role: 0 },
|
|
103
|
+
isSome(accounts.investInVirtualReserve.srcLendingMarketAuthority)
|
|
104
|
+
? {
|
|
105
|
+
address:
|
|
106
|
+
accounts.investInVirtualReserve.srcLendingMarketAuthority.value,
|
|
107
|
+
role: 0,
|
|
108
|
+
}
|
|
109
|
+
: { address: programAddress, role: 0 },
|
|
110
|
+
isSome(accounts.investInVirtualReserve.srcReserveLiquiditySupply)
|
|
111
|
+
? {
|
|
112
|
+
address:
|
|
113
|
+
accounts.investInVirtualReserve.srcReserveLiquiditySupply.value,
|
|
114
|
+
role: 1,
|
|
115
|
+
}
|
|
116
|
+
: { address: programAddress, role: 0 },
|
|
117
|
+
isSome(accounts.investInVirtualReserve.srcReserveCollateralMint)
|
|
118
|
+
? {
|
|
119
|
+
address:
|
|
120
|
+
accounts.investInVirtualReserve.srcReserveCollateralMint.value,
|
|
121
|
+
role: 1,
|
|
122
|
+
}
|
|
123
|
+
: { address: programAddress, role: 0 },
|
|
124
|
+
{ address: accounts.investInVirtualReserve.dstCtokenVault, role: 1 },
|
|
125
|
+
{ address: accounts.investInVirtualReserve.dstReserve, role: 1 },
|
|
126
|
+
{ address: accounts.investInVirtualReserve.dstLendingMarket, role: 0 },
|
|
127
|
+
{
|
|
128
|
+
address: accounts.investInVirtualReserve.dstLendingMarketAuthority,
|
|
129
|
+
role: 0,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
address: accounts.investInVirtualReserve.dstReserveLiquiditySupply,
|
|
133
|
+
role: 1,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
address: accounts.investInVirtualReserve.dstReserveCollateralMint,
|
|
137
|
+
role: 1,
|
|
138
|
+
},
|
|
139
|
+
isSome(accounts.investInVirtualReserve.reserveWhitelistEntry)
|
|
140
|
+
? {
|
|
141
|
+
address: accounts.investInVirtualReserve.reserveWhitelistEntry.value,
|
|
142
|
+
role: 0,
|
|
143
|
+
}
|
|
144
|
+
: { address: programAddress, role: 0 },
|
|
145
|
+
{ address: accounts.investInVirtualReserve.klendProgram, role: 0 },
|
|
146
|
+
{ address: accounts.investInVirtualReserve.reserveCtokenProgram, role: 0 },
|
|
147
|
+
{ address: accounts.investInVirtualReserve.tokenProgram, role: 0 },
|
|
148
|
+
{
|
|
149
|
+
address: accounts.investInVirtualReserve.instructionSysvarAccount,
|
|
150
|
+
role: 0,
|
|
151
|
+
},
|
|
152
|
+
{ address: accounts.fillBorrowOrder.vaultState, role: 0 },
|
|
153
|
+
{ address: accounts.fillBorrowOrder.reserve, role: 1 },
|
|
154
|
+
{ address: accounts.fillBorrowOrder.tokenMint, role: 0 },
|
|
155
|
+
{ address: accounts.fillBorrowOrder.obligation, role: 1 },
|
|
156
|
+
{
|
|
157
|
+
address: accounts.fillBorrowOrder.borrowReserveLiquidityFeeReceiver,
|
|
158
|
+
role: 1,
|
|
159
|
+
},
|
|
160
|
+
{ address: accounts.fillBorrowOrder.userDestinationLiquidity, role: 1 },
|
|
161
|
+
isSome(accounts.fillBorrowOrder.referrerTokenState)
|
|
162
|
+
? { address: accounts.fillBorrowOrder.referrerTokenState.value, role: 1 }
|
|
163
|
+
: { address: programAddress, role: 0 },
|
|
164
|
+
isSome(accounts.fillBorrowOrder.obligationFarmUserState)
|
|
165
|
+
? {
|
|
166
|
+
address: accounts.fillBorrowOrder.obligationFarmUserState.value,
|
|
167
|
+
role: 1,
|
|
168
|
+
}
|
|
169
|
+
: { address: programAddress, role: 0 },
|
|
170
|
+
isSome(accounts.fillBorrowOrder.reserveFarmState)
|
|
171
|
+
? { address: accounts.fillBorrowOrder.reserveFarmState.value, role: 1 }
|
|
172
|
+
: { address: programAddress, role: 0 },
|
|
173
|
+
{ address: accounts.fillBorrowOrder.farmProgram, role: 0 },
|
|
174
|
+
{ address: accounts.fillBorrowOrder.eventAuthority, role: 0 },
|
|
175
|
+
{ address: accounts.eventAuthority, role: 0 },
|
|
176
|
+
{ address: accounts.program, role: 0 },
|
|
177
|
+
...remainingAccounts,
|
|
178
|
+
]
|
|
179
|
+
const buffer = Buffer.alloc(1000)
|
|
180
|
+
const len = layout.encode(
|
|
181
|
+
{
|
|
182
|
+
softMaxLiquidityToInvest: args.softMaxLiquidityToInvest,
|
|
183
|
+
},
|
|
184
|
+
buffer
|
|
185
|
+
)
|
|
186
|
+
const data = Buffer.concat([DISCRIMINATOR, buffer]).slice(0, 8 + len)
|
|
187
|
+
const ix: Instruction = { accounts: keys, programAddress, data }
|
|
188
|
+
return ix
|
|
189
|
+
}
|
|
@@ -0,0 +1,205 @@
|
|
|
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([200, 151, 62, 182, 220, 170, 37, 81])
|
|
19
|
+
|
|
20
|
+
export interface InvestInVirtualReserveAndFillWithdrawalTicketArgs {
|
|
21
|
+
softMaxLiquidityToInvest: BN
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface InvestInVirtualReserveAndFillWithdrawalTicketAccounts {
|
|
25
|
+
investInVirtualReserve: {
|
|
26
|
+
payer: TransactionSigner
|
|
27
|
+
payerTokenAccount: Address
|
|
28
|
+
vaultState: Address
|
|
29
|
+
tokenVault: Address
|
|
30
|
+
tokenMint: Address
|
|
31
|
+
baseVaultAuthority: Address
|
|
32
|
+
srcCtokenVault: Option<Address>
|
|
33
|
+
srcReserve: Option<Address>
|
|
34
|
+
srcLendingMarket: Option<Address>
|
|
35
|
+
srcLendingMarketAuthority: Option<Address>
|
|
36
|
+
srcReserveLiquiditySupply: Option<Address>
|
|
37
|
+
srcReserveCollateralMint: Option<Address>
|
|
38
|
+
dstCtokenVault: Address
|
|
39
|
+
dstReserve: Address
|
|
40
|
+
dstLendingMarket: Address
|
|
41
|
+
dstLendingMarketAuthority: Address
|
|
42
|
+
dstReserveLiquiditySupply: Address
|
|
43
|
+
dstReserveCollateralMint: Address
|
|
44
|
+
reserveWhitelistEntry: Option<Address>
|
|
45
|
+
klendProgram: Address
|
|
46
|
+
reserveCtokenProgram: Address
|
|
47
|
+
tokenProgram: Address
|
|
48
|
+
instructionSysvarAccount: Address
|
|
49
|
+
}
|
|
50
|
+
fillWithdrawalTicket: {
|
|
51
|
+
vaultState: Address
|
|
52
|
+
reserve: Address
|
|
53
|
+
lendingMarketAuthority: Address
|
|
54
|
+
withdrawTicket: Address
|
|
55
|
+
withdrawTicketOwner: Address
|
|
56
|
+
userDestinationLiquidity: Address
|
|
57
|
+
ownerQueuedCollateralVault: Address
|
|
58
|
+
referrerTokenState: Option<Address>
|
|
59
|
+
obligationFarmUserState: Option<Address>
|
|
60
|
+
reserveFarmState: Option<Address>
|
|
61
|
+
farmProgram: Address
|
|
62
|
+
eventAuthority: Address
|
|
63
|
+
associatedTokenProgram: Address
|
|
64
|
+
systemProgram: Address
|
|
65
|
+
}
|
|
66
|
+
eventAuthority: Address
|
|
67
|
+
program: Address
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export const layout =
|
|
71
|
+
borsh.struct<InvestInVirtualReserveAndFillWithdrawalTicketArgs>([
|
|
72
|
+
borsh.u64("softMaxLiquidityToInvest"),
|
|
73
|
+
])
|
|
74
|
+
|
|
75
|
+
export function investInVirtualReserveAndFillWithdrawalTicket(
|
|
76
|
+
args: InvestInVirtualReserveAndFillWithdrawalTicketArgs,
|
|
77
|
+
accounts: InvestInVirtualReserveAndFillWithdrawalTicketAccounts,
|
|
78
|
+
remainingAccounts: Array<AccountMeta | AccountSignerMeta> = [],
|
|
79
|
+
programAddress: Address = PROGRAM_ID
|
|
80
|
+
) {
|
|
81
|
+
const keys: Array<AccountMeta | AccountSignerMeta> = [
|
|
82
|
+
{
|
|
83
|
+
address: accounts.investInVirtualReserve.payer.address,
|
|
84
|
+
role: 3,
|
|
85
|
+
signer: accounts.investInVirtualReserve.payer,
|
|
86
|
+
},
|
|
87
|
+
{ address: accounts.investInVirtualReserve.payerTokenAccount, role: 1 },
|
|
88
|
+
{ address: accounts.investInVirtualReserve.vaultState, role: 1 },
|
|
89
|
+
{ address: accounts.investInVirtualReserve.tokenVault, role: 1 },
|
|
90
|
+
{ address: accounts.investInVirtualReserve.tokenMint, role: 1 },
|
|
91
|
+
{ address: accounts.investInVirtualReserve.baseVaultAuthority, role: 1 },
|
|
92
|
+
isSome(accounts.investInVirtualReserve.srcCtokenVault)
|
|
93
|
+
? {
|
|
94
|
+
address: accounts.investInVirtualReserve.srcCtokenVault.value,
|
|
95
|
+
role: 1,
|
|
96
|
+
}
|
|
97
|
+
: { address: programAddress, role: 0 },
|
|
98
|
+
isSome(accounts.investInVirtualReserve.srcReserve)
|
|
99
|
+
? { address: accounts.investInVirtualReserve.srcReserve.value, role: 1 }
|
|
100
|
+
: { address: programAddress, role: 0 },
|
|
101
|
+
isSome(accounts.investInVirtualReserve.srcLendingMarket)
|
|
102
|
+
? {
|
|
103
|
+
address: accounts.investInVirtualReserve.srcLendingMarket.value,
|
|
104
|
+
role: 0,
|
|
105
|
+
}
|
|
106
|
+
: { address: programAddress, role: 0 },
|
|
107
|
+
isSome(accounts.investInVirtualReserve.srcLendingMarketAuthority)
|
|
108
|
+
? {
|
|
109
|
+
address:
|
|
110
|
+
accounts.investInVirtualReserve.srcLendingMarketAuthority.value,
|
|
111
|
+
role: 0,
|
|
112
|
+
}
|
|
113
|
+
: { address: programAddress, role: 0 },
|
|
114
|
+
isSome(accounts.investInVirtualReserve.srcReserveLiquiditySupply)
|
|
115
|
+
? {
|
|
116
|
+
address:
|
|
117
|
+
accounts.investInVirtualReserve.srcReserveLiquiditySupply.value,
|
|
118
|
+
role: 1,
|
|
119
|
+
}
|
|
120
|
+
: { address: programAddress, role: 0 },
|
|
121
|
+
isSome(accounts.investInVirtualReserve.srcReserveCollateralMint)
|
|
122
|
+
? {
|
|
123
|
+
address:
|
|
124
|
+
accounts.investInVirtualReserve.srcReserveCollateralMint.value,
|
|
125
|
+
role: 1,
|
|
126
|
+
}
|
|
127
|
+
: { address: programAddress, role: 0 },
|
|
128
|
+
{ address: accounts.investInVirtualReserve.dstCtokenVault, role: 1 },
|
|
129
|
+
{ address: accounts.investInVirtualReserve.dstReserve, role: 1 },
|
|
130
|
+
{ address: accounts.investInVirtualReserve.dstLendingMarket, role: 0 },
|
|
131
|
+
{
|
|
132
|
+
address: accounts.investInVirtualReserve.dstLendingMarketAuthority,
|
|
133
|
+
role: 0,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
address: accounts.investInVirtualReserve.dstReserveLiquiditySupply,
|
|
137
|
+
role: 1,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
address: accounts.investInVirtualReserve.dstReserveCollateralMint,
|
|
141
|
+
role: 1,
|
|
142
|
+
},
|
|
143
|
+
isSome(accounts.investInVirtualReserve.reserveWhitelistEntry)
|
|
144
|
+
? {
|
|
145
|
+
address: accounts.investInVirtualReserve.reserveWhitelistEntry.value,
|
|
146
|
+
role: 0,
|
|
147
|
+
}
|
|
148
|
+
: { address: programAddress, role: 0 },
|
|
149
|
+
{ address: accounts.investInVirtualReserve.klendProgram, role: 0 },
|
|
150
|
+
{ address: accounts.investInVirtualReserve.reserveCtokenProgram, role: 0 },
|
|
151
|
+
{ address: accounts.investInVirtualReserve.tokenProgram, role: 0 },
|
|
152
|
+
{
|
|
153
|
+
address: accounts.investInVirtualReserve.instructionSysvarAccount,
|
|
154
|
+
role: 0,
|
|
155
|
+
},
|
|
156
|
+
{ address: accounts.fillWithdrawalTicket.vaultState, role: 0 },
|
|
157
|
+
{ address: accounts.fillWithdrawalTicket.reserve, role: 1 },
|
|
158
|
+
{ address: accounts.fillWithdrawalTicket.lendingMarketAuthority, role: 0 },
|
|
159
|
+
{ address: accounts.fillWithdrawalTicket.withdrawTicket, role: 1 },
|
|
160
|
+
{ address: accounts.fillWithdrawalTicket.withdrawTicketOwner, role: 1 },
|
|
161
|
+
{
|
|
162
|
+
address: accounts.fillWithdrawalTicket.userDestinationLiquidity,
|
|
163
|
+
role: 1,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
address: accounts.fillWithdrawalTicket.ownerQueuedCollateralVault,
|
|
167
|
+
role: 1,
|
|
168
|
+
},
|
|
169
|
+
isSome(accounts.fillWithdrawalTicket.referrerTokenState)
|
|
170
|
+
? {
|
|
171
|
+
address: accounts.fillWithdrawalTicket.referrerTokenState.value,
|
|
172
|
+
role: 1,
|
|
173
|
+
}
|
|
174
|
+
: { address: programAddress, role: 0 },
|
|
175
|
+
isSome(accounts.fillWithdrawalTicket.obligationFarmUserState)
|
|
176
|
+
? {
|
|
177
|
+
address: accounts.fillWithdrawalTicket.obligationFarmUserState.value,
|
|
178
|
+
role: 1,
|
|
179
|
+
}
|
|
180
|
+
: { address: programAddress, role: 0 },
|
|
181
|
+
isSome(accounts.fillWithdrawalTicket.reserveFarmState)
|
|
182
|
+
? {
|
|
183
|
+
address: accounts.fillWithdrawalTicket.reserveFarmState.value,
|
|
184
|
+
role: 1,
|
|
185
|
+
}
|
|
186
|
+
: { address: programAddress, role: 0 },
|
|
187
|
+
{ address: accounts.fillWithdrawalTicket.farmProgram, role: 0 },
|
|
188
|
+
{ address: accounts.fillWithdrawalTicket.eventAuthority, role: 0 },
|
|
189
|
+
{ address: accounts.fillWithdrawalTicket.associatedTokenProgram, role: 0 },
|
|
190
|
+
{ address: accounts.fillWithdrawalTicket.systemProgram, role: 0 },
|
|
191
|
+
{ address: accounts.eventAuthority, role: 0 },
|
|
192
|
+
{ address: accounts.program, role: 0 },
|
|
193
|
+
...remainingAccounts,
|
|
194
|
+
]
|
|
195
|
+
const buffer = Buffer.alloc(1000)
|
|
196
|
+
const len = layout.encode(
|
|
197
|
+
{
|
|
198
|
+
softMaxLiquidityToInvest: args.softMaxLiquidityToInvest,
|
|
199
|
+
},
|
|
200
|
+
buffer
|
|
201
|
+
)
|
|
202
|
+
const data = Buffer.concat([DISCRIMINATOR, buffer]).slice(0, 8 + len)
|
|
203
|
+
const ix: Instruction = { accounts: keys, programAddress, data }
|
|
204
|
+
return ix
|
|
205
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// NOTE: this ix is meant for CPI only, not needed here, it is kept because of codegen
|
|
2
|
+
|
|
3
|
+
// /* eslint-disable @typescript-eslint/no-unused-vars */
|
|
4
|
+
// import {
|
|
5
|
+
// Address,
|
|
6
|
+
// isSome,
|
|
7
|
+
// AccountMeta,
|
|
8
|
+
// AccountSignerMeta,
|
|
9
|
+
// Instruction,
|
|
10
|
+
// Option,
|
|
11
|
+
// TransactionSigner,
|
|
12
|
+
// } from "@solana/kit"
|
|
13
|
+
// /* eslint-enable @typescript-eslint/no-unused-vars */
|
|
14
|
+
// import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
15
|
+
// import * as borsh from "@coral-xyz/borsh" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
16
|
+
// import { borshAddress } from "../utils" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
17
|
+
// import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
18
|
+
// import { PROGRAM_ID } from "../programId"
|
|
19
|
+
|
|
20
|
+
// export const DISCRIMINATOR = Buffer.from([45, 84, 96, 103, 171, 196, 40, 129])
|
|
21
|
+
|
|
22
|
+
// export interface UpdateKlendQueueAccountingArgs {
|
|
23
|
+
// progressEventType: types.WithdrawTicketProgressEventKind
|
|
24
|
+
// burntCtokens: BN
|
|
25
|
+
// receivedLiquidity: BN
|
|
26
|
+
// }
|
|
27
|
+
|
|
28
|
+
// export interface UpdateKlendQueueAccountingAccounts {
|
|
29
|
+
// withdrawTicket: TransactionSigner
|
|
30
|
+
// reserve: Address
|
|
31
|
+
// lendingMarket: Address
|
|
32
|
+
// /** The vault (managed by the klend's withdraw queue) holding the still-queued ctokens. */
|
|
33
|
+
// ownerQueuedCollateralVault: Address
|
|
34
|
+
// /** The token account holding the vault's available tokens. */
|
|
35
|
+
// tokenVault: Address
|
|
36
|
+
// vault: Address
|
|
37
|
+
// }
|
|
38
|
+
|
|
39
|
+
// export const layout = borsh.struct<UpdateKlendQueueAccountingArgs>([
|
|
40
|
+
// types.WithdrawTicketProgressEvent.layout("progressEventType"),
|
|
41
|
+
// borsh.u64("burntCtokens"),
|
|
42
|
+
// borsh.u64("receivedLiquidity"),
|
|
43
|
+
// ])
|
|
44
|
+
|
|
45
|
+
// export function updateKlendQueueAccounting(
|
|
46
|
+
// args: UpdateKlendQueueAccountingArgs,
|
|
47
|
+
// accounts: UpdateKlendQueueAccountingAccounts,
|
|
48
|
+
// remainingAccounts: Array<AccountMeta | AccountSignerMeta> = [],
|
|
49
|
+
// programAddress: Address = PROGRAM_ID
|
|
50
|
+
// ) {
|
|
51
|
+
// const keys: Array<AccountMeta | AccountSignerMeta> = [
|
|
52
|
+
// {
|
|
53
|
+
// address: accounts.withdrawTicket.address,
|
|
54
|
+
// role: 2,
|
|
55
|
+
// signer: accounts.withdrawTicket,
|
|
56
|
+
// },
|
|
57
|
+
// { address: accounts.reserve, role: 0 },
|
|
58
|
+
// { address: accounts.lendingMarket, role: 0 },
|
|
59
|
+
// { address: accounts.ownerQueuedCollateralVault, role: 0 },
|
|
60
|
+
// { address: accounts.tokenVault, role: 0 },
|
|
61
|
+
// { address: accounts.vault, role: 1 },
|
|
62
|
+
// ...remainingAccounts,
|
|
63
|
+
// ]
|
|
64
|
+
// const buffer = Buffer.alloc(1000)
|
|
65
|
+
// const len = layout.encode(
|
|
66
|
+
// {
|
|
67
|
+
// progressEventType: args.progressEventType.toEncodable(),
|
|
68
|
+
// burntCtokens: args.burntCtokens,
|
|
69
|
+
// receivedLiquidity: args.receivedLiquidity,
|
|
70
|
+
// },
|
|
71
|
+
// buffer
|
|
72
|
+
// )
|
|
73
|
+
// const data = Buffer.concat([DISCRIMINATOR, buffer]).slice(0, 8 + len)
|
|
74
|
+
// const ix: Instruction = { accounts: keys, programAddress, data }
|
|
75
|
+
// return ix
|
|
76
|
+
// }
|
|
@@ -20,6 +20,7 @@ export const DISCRIMINATOR = Buffer.from([5, 54, 213, 112, 75, 232, 117, 37])
|
|
|
20
20
|
export interface UpdateReserveAllocationArgs {
|
|
21
21
|
weight: BN
|
|
22
22
|
cap: BN
|
|
23
|
+
reserveType: types.ReserveTypeKind
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
export interface UpdateReserveAllocationAccounts {
|
|
@@ -35,9 +36,10 @@ export interface UpdateReserveAllocationAccounts {
|
|
|
35
36
|
rent: Address
|
|
36
37
|
}
|
|
37
38
|
|
|
38
|
-
export const layout = borsh.struct
|
|
39
|
+
export const layout = borsh.struct([
|
|
39
40
|
borsh.u64("weight"),
|
|
40
41
|
borsh.u64("cap"),
|
|
42
|
+
types.ReserveType.layout("reserveType"),
|
|
41
43
|
])
|
|
42
44
|
|
|
43
45
|
export function updateReserveAllocation(
|
|
@@ -66,6 +68,7 @@ export function updateReserveAllocation(
|
|
|
66
68
|
{
|
|
67
69
|
weight: args.weight,
|
|
68
70
|
cap: args.cap,
|
|
71
|
+
reserveType: args.reserveType.toEncodable(),
|
|
69
72
|
},
|
|
70
73
|
buffer
|
|
71
74
|
)
|