@kamino-finance/klend-sdk 5.0.4 → 5.0.6
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/classes/fraction.d.ts.map +1 -1
- package/dist/classes/fraction.js.map +1 -1
- package/dist/classes/manager.d.ts +38 -4
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +112 -5
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/market.d.ts +4 -0
- package/dist/classes/market.d.ts.map +1 -1
- package/dist/classes/market.js +17 -25
- package/dist/classes/market.js.map +1 -1
- package/dist/classes/obligation.d.ts +3 -4
- package/dist/classes/obligation.d.ts.map +1 -1
- package/dist/classes/obligation.js +96 -27
- 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 +32 -29
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/utils.d.ts +3 -0
- package/dist/classes/utils.d.ts.map +1 -1
- package/dist/classes/utils.js +30 -0
- package/dist/classes/utils.js.map +1 -1
- package/dist/classes/vault.d.ts +12 -8
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +94 -66
- package/dist/classes/vault.js.map +1 -1
- package/dist/client_kamino_manager.d.ts.map +1 -1
- package/dist/client_kamino_manager.js +15 -1
- package/dist/client_kamino_manager.js.map +1 -1
- package/dist/idl.json +27 -2
- package/dist/idl_codegen/accounts/LendingMarket.d.ts +6 -0
- package/dist/idl_codegen/accounts/LendingMarket.d.ts.map +1 -1
- package/dist/idl_codegen/accounts/LendingMarket.js +8 -1
- package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -1
- package/dist/idl_codegen/accounts/Obligation.d.ts +3 -12
- package/dist/idl_codegen/accounts/Obligation.d.ts.map +1 -1
- package/dist/idl_codegen/accounts/Obligation.js +1 -4
- package/dist/idl_codegen/accounts/Obligation.js.map +1 -1
- package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts +20 -0
- package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.d.ts.map +1 -1
- package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js +33 -1
- package/dist/idl_codegen/types/UpdateLendingMarketConfigValue.js.map +1 -1
- package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +13 -0
- package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts.map +1 -1
- package/dist/idl_codegen/types/UpdateLendingMarketMode.js +25 -1
- package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -1
- package/dist/idl_codegen/types/index.d.ts +4 -4
- package/dist/idl_codegen/types/index.d.ts.map +1 -1
- package/dist/idl_codegen/types/index.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts +3 -3
- package/dist/idl_codegen_kamino_vault/accounts/Reserve.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/Reserve.js +22 -18
- package/dist/idl_codegen_kamino_vault/accounts/Reserve.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +45 -15
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +101 -39
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/index.d.ts +4 -4
- package/dist/idl_codegen_kamino_vault/accounts/index.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/index.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/anchor.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/anchor.js +162 -162
- package/dist/idl_codegen_kamino_vault/errors/anchor.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +144 -32
- package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.js +305 -109
- package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/index.d.ts +3 -3
- package/dist/idl_codegen_kamino_vault/errors/index.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/index.js +7 -2
- package/dist/idl_codegen_kamino_vault/errors/index.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts +4 -2
- package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/deposit.js +3 -1
- package/dist/idl_codegen_kamino_vault/instructions/deposit.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.d.ts +13 -0
- package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.js +47 -0
- package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.js.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/index.d.ts +18 -10
- package/dist/idl_codegen_kamino_vault/instructions/index.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/index.js +9 -1
- package/dist/idl_codegen_kamino_vault/instructions/index.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +2 -1
- package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initVault.js +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts +6 -2
- package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/invest.js +9 -1
- package/dist/idl_codegen_kamino_vault/instructions/invest.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.d.ts +7 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.js +16 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateAdmin.js.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.d.ts +14 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js +52 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts +4 -2
- package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/withdraw.js +8 -2
- package/dist/idl_codegen_kamino_vault/instructions/withdraw.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts +23 -0
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js +51 -0
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js.map +1 -0
- package/dist/idl_codegen_kamino_vault/programId.d.ts +1 -1
- package/dist/idl_codegen_kamino_vault/programId.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/programId.js +1 -1
- package/dist/idl_codegen_kamino_vault/programId.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js +4 -1
- package/dist/idl_codegen_kamino_vault/types/BigFractionBytes.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts +1 -1
- package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js +1 -1
- package/dist/idl_codegen_kamino_vault/types/BorrowRateCurve.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts +1 -1
- package/dist/idl_codegen_kamino_vault/types/CurvePoint.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/CurvePoint.js +1 -1
- package/dist/idl_codegen_kamino_vault/types/CurvePoint.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/LastUpdate.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/LastUpdate.js +6 -1
- package/dist/idl_codegen_kamino_vault/types/LastUpdate.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js +1 -1
- package/dist/idl_codegen_kamino_vault/types/PriceHeuristic.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/PythConfiguration.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js +1 -1
- package/dist/idl_codegen_kamino_vault/types/PythConfiguration.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts +3 -3
- package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js +5 -5
- package/dist/idl_codegen_kamino_vault/types/ReserveCollateral.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts +27 -24
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js +59 -53
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/ReserveFees.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveFees.js +5 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveFees.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts +11 -3
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js +25 -17
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js +3 -3
- package/dist/idl_codegen_kamino_vault/types/ScopeConfiguration.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js +1 -1
- package/dist/idl_codegen_kamino_vault/types/SwitchboardConfiguration.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts +3 -3
- package/dist/idl_codegen_kamino_vault/types/TokenInfo.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/TokenInfo.js +11 -11
- package/dist/idl_codegen_kamino_vault/types/TokenInfo.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts +18 -8
- package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js +27 -13
- package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts +110 -0
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js +242 -0
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js.map +1 -0
- package/dist/idl_codegen_kamino_vault/types/index.d.ts +34 -30
- package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/index.js +26 -1
- package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
- package/dist/utils/ObligationType.d.ts.map +1 -1
- package/dist/utils/ObligationType.js.map +1 -1
- package/dist/utils/managerTypes.d.ts.map +1 -1
- package/dist/utils/managerTypes.js.map +1 -1
- package/dist/utils/pubkey.d.ts.map +1 -1
- package/dist/utils/pubkey.js.map +1 -1
- package/dist/utils/rpc.d.ts.map +1 -1
- package/dist/utils/rpc.js +2 -1
- package/dist/utils/rpc.js.map +1 -1
- package/package.json +2 -1
- package/src/classes/fraction.ts +5 -0
- package/src/classes/manager.ts +136 -5
- package/src/classes/market.ts +19 -2
- package/src/classes/obligation.ts +141 -30
- package/src/classes/reserve.ts +70 -41
- package/src/classes/utils.ts +30 -0
- package/src/classes/vault.ts +123 -49
- package/src/client_kamino_manager.ts +19 -1
- package/src/idl_codegen/accounts/LendingMarket.ts +12 -1
- package/src/idl_codegen/accounts/Obligation.ts +3 -12
- package/src/idl_codegen/types/UpdateLendingMarketConfigValue.ts +43 -0
- package/src/idl_codegen/types/UpdateLendingMarketMode.ts +30 -0
- package/src/idl_codegen/types/index.ts +4 -0
- package/src/idl_codegen_kamino_vault/accounts/Reserve.ts +132 -105
- package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +217 -124
- package/src/idl_codegen_kamino_vault/accounts/index.ts +4 -4
- package/src/idl_codegen_kamino_vault/errors/anchor.ts +335 -326
- package/src/idl_codegen_kamino_vault/errors/custom.ts +353 -157
- package/src/idl_codegen_kamino_vault/errors/index.ts +35 -22
- package/src/idl_codegen_kamino_vault/instructions/deposit.ts +33 -25
- package/src/idl_codegen_kamino_vault/instructions/giveUpPendingFees.ts +40 -0
- package/src/idl_codegen_kamino_vault/instructions/index.ts +27 -10
- package/src/idl_codegen_kamino_vault/instructions/initVault.ts +25 -20
- package/src/idl_codegen_kamino_vault/instructions/invest.ts +40 -25
- package/src/idl_codegen_kamino_vault/instructions/updateAdmin.ts +24 -0
- package/src/idl_codegen_kamino_vault/instructions/updateReserveAllocation.ts +24 -24
- package/src/idl_codegen_kamino_vault/instructions/updateVaultConfig.ts +49 -0
- package/src/idl_codegen_kamino_vault/instructions/withdraw.ts +45 -33
- package/src/idl_codegen_kamino_vault/instructions/withdrawPendingFees.ts +75 -0
- package/src/idl_codegen_kamino_vault/programId.ts +5 -3
- package/src/idl_codegen_kamino_vault/types/BigFractionBytes.ts +24 -18
- package/src/idl_codegen_kamino_vault/types/BorrowRateCurve.ts +21 -16
- package/src/idl_codegen_kamino_vault/types/CurvePoint.ts +21 -18
- package/src/idl_codegen_kamino_vault/types/LastUpdate.ts +32 -27
- package/src/idl_codegen_kamino_vault/types/PriceHeuristic.ts +25 -22
- package/src/idl_codegen_kamino_vault/types/PythConfiguration.ts +14 -14
- package/src/idl_codegen_kamino_vault/types/ReserveCollateral.ts +35 -35
- package/src/idl_codegen_kamino_vault/types/ReserveConfig.ts +232 -191
- package/src/idl_codegen_kamino_vault/types/ReserveFees.ts +27 -23
- package/src/idl_codegen_kamino_vault/types/ReserveLiquidity.ts +116 -98
- package/src/idl_codegen_kamino_vault/types/ScopeConfiguration.ts +25 -25
- package/src/idl_codegen_kamino_vault/types/SwitchboardConfiguration.ts +21 -18
- package/src/idl_codegen_kamino_vault/types/TokenInfo.ts +92 -74
- package/src/idl_codegen_kamino_vault/types/VaultAllocation.ts +67 -49
- package/src/idl_codegen_kamino_vault/types/VaultConfigField.ts +270 -0
- package/src/idl_codegen_kamino_vault/types/index.ts +77 -30
- package/src/utils/ObligationType.ts +6 -0
- package/src/utils/managerTypes.ts +1 -0
- package/src/utils/pubkey.ts +2 -0
- package/src/utils/rpc.ts +3 -1
|
@@ -1,136 +1,148 @@
|
|
|
1
|
-
import { PublicKey, Connection } from
|
|
2
|
-
import BN from
|
|
3
|
-
import * as borsh from
|
|
4
|
-
import * as types from
|
|
5
|
-
import { PROGRAM_ID } from
|
|
1
|
+
import { PublicKey, Connection } from "@solana/web3.js"
|
|
2
|
+
import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
3
|
+
import * as borsh from "@coral-xyz/borsh" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
4
|
+
import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
5
|
+
import { PROGRAM_ID } from "../programId"
|
|
6
6
|
|
|
7
7
|
export interface ReserveFields {
|
|
8
8
|
/** Version of the reserve */
|
|
9
|
-
version: BN
|
|
9
|
+
version: BN
|
|
10
10
|
/** Last slot when supply and rates updated */
|
|
11
|
-
lastUpdate: types.LastUpdateFields
|
|
11
|
+
lastUpdate: types.LastUpdateFields
|
|
12
12
|
/** Lending market address */
|
|
13
|
-
lendingMarket: PublicKey
|
|
14
|
-
farmCollateral: PublicKey
|
|
15
|
-
farmDebt: PublicKey
|
|
13
|
+
lendingMarket: PublicKey
|
|
14
|
+
farmCollateral: PublicKey
|
|
15
|
+
farmDebt: PublicKey
|
|
16
16
|
/** Reserve liquidity */
|
|
17
|
-
liquidity: types.ReserveLiquidityFields
|
|
18
|
-
reserveLiquidityPadding: Array<BN
|
|
17
|
+
liquidity: types.ReserveLiquidityFields
|
|
18
|
+
reserveLiquidityPadding: Array<BN>
|
|
19
19
|
/** Reserve collateral */
|
|
20
|
-
collateral: types.ReserveCollateralFields
|
|
21
|
-
reserveCollateralPadding: Array<BN
|
|
20
|
+
collateral: types.ReserveCollateralFields
|
|
21
|
+
reserveCollateralPadding: Array<BN>
|
|
22
22
|
/** Reserve configuration values */
|
|
23
|
-
config: types.ReserveConfigFields
|
|
24
|
-
configPadding: Array<BN
|
|
25
|
-
borrowedAmountOutsideElevationGroup: BN
|
|
23
|
+
config: types.ReserveConfigFields
|
|
24
|
+
configPadding: Array<BN>
|
|
25
|
+
borrowedAmountOutsideElevationGroup: BN
|
|
26
26
|
/**
|
|
27
27
|
* Amount of token borrowed in lamport of debt asset in the given
|
|
28
28
|
* elevation group when this reserve is part of the collaterals.
|
|
29
29
|
*/
|
|
30
|
-
borrowedAmountsAgainstThisReserveInElevationGroups: Array<BN
|
|
31
|
-
padding: Array<BN
|
|
30
|
+
borrowedAmountsAgainstThisReserveInElevationGroups: Array<BN>
|
|
31
|
+
padding: Array<BN>
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
export interface ReserveJSON {
|
|
35
35
|
/** Version of the reserve */
|
|
36
|
-
version: string
|
|
36
|
+
version: string
|
|
37
37
|
/** Last slot when supply and rates updated */
|
|
38
|
-
lastUpdate: types.LastUpdateJSON
|
|
38
|
+
lastUpdate: types.LastUpdateJSON
|
|
39
39
|
/** Lending market address */
|
|
40
|
-
lendingMarket: string
|
|
41
|
-
farmCollateral: string
|
|
42
|
-
farmDebt: string
|
|
40
|
+
lendingMarket: string
|
|
41
|
+
farmCollateral: string
|
|
42
|
+
farmDebt: string
|
|
43
43
|
/** Reserve liquidity */
|
|
44
|
-
liquidity: types.ReserveLiquidityJSON
|
|
45
|
-
reserveLiquidityPadding: Array<string
|
|
44
|
+
liquidity: types.ReserveLiquidityJSON
|
|
45
|
+
reserveLiquidityPadding: Array<string>
|
|
46
46
|
/** Reserve collateral */
|
|
47
|
-
collateral: types.ReserveCollateralJSON
|
|
48
|
-
reserveCollateralPadding: Array<string
|
|
47
|
+
collateral: types.ReserveCollateralJSON
|
|
48
|
+
reserveCollateralPadding: Array<string>
|
|
49
49
|
/** Reserve configuration values */
|
|
50
|
-
config: types.ReserveConfigJSON
|
|
51
|
-
configPadding: Array<string
|
|
52
|
-
borrowedAmountOutsideElevationGroup: string
|
|
50
|
+
config: types.ReserveConfigJSON
|
|
51
|
+
configPadding: Array<string>
|
|
52
|
+
borrowedAmountOutsideElevationGroup: string
|
|
53
53
|
/**
|
|
54
54
|
* Amount of token borrowed in lamport of debt asset in the given
|
|
55
55
|
* elevation group when this reserve is part of the collaterals.
|
|
56
56
|
*/
|
|
57
|
-
borrowedAmountsAgainstThisReserveInElevationGroups: Array<string
|
|
58
|
-
padding: Array<string
|
|
57
|
+
borrowedAmountsAgainstThisReserveInElevationGroups: Array<string>
|
|
58
|
+
padding: Array<string>
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
export class Reserve {
|
|
62
62
|
/** Version of the reserve */
|
|
63
|
-
readonly version: BN
|
|
63
|
+
readonly version: BN
|
|
64
64
|
/** Last slot when supply and rates updated */
|
|
65
|
-
readonly lastUpdate: types.LastUpdate
|
|
65
|
+
readonly lastUpdate: types.LastUpdate
|
|
66
66
|
/** Lending market address */
|
|
67
|
-
readonly lendingMarket: PublicKey
|
|
68
|
-
readonly farmCollateral: PublicKey
|
|
69
|
-
readonly farmDebt: PublicKey
|
|
67
|
+
readonly lendingMarket: PublicKey
|
|
68
|
+
readonly farmCollateral: PublicKey
|
|
69
|
+
readonly farmDebt: PublicKey
|
|
70
70
|
/** Reserve liquidity */
|
|
71
|
-
readonly liquidity: types.ReserveLiquidity
|
|
72
|
-
readonly reserveLiquidityPadding: Array<BN
|
|
71
|
+
readonly liquidity: types.ReserveLiquidity
|
|
72
|
+
readonly reserveLiquidityPadding: Array<BN>
|
|
73
73
|
/** Reserve collateral */
|
|
74
|
-
readonly collateral: types.ReserveCollateral
|
|
75
|
-
readonly reserveCollateralPadding: Array<BN
|
|
74
|
+
readonly collateral: types.ReserveCollateral
|
|
75
|
+
readonly reserveCollateralPadding: Array<BN>
|
|
76
76
|
/** Reserve configuration values */
|
|
77
|
-
readonly config: types.ReserveConfig
|
|
78
|
-
readonly configPadding: Array<BN
|
|
79
|
-
readonly borrowedAmountOutsideElevationGroup: BN
|
|
77
|
+
readonly config: types.ReserveConfig
|
|
78
|
+
readonly configPadding: Array<BN>
|
|
79
|
+
readonly borrowedAmountOutsideElevationGroup: BN
|
|
80
80
|
/**
|
|
81
81
|
* Amount of token borrowed in lamport of debt asset in the given
|
|
82
82
|
* elevation group when this reserve is part of the collaterals.
|
|
83
83
|
*/
|
|
84
|
-
readonly borrowedAmountsAgainstThisReserveInElevationGroups: Array<BN
|
|
85
|
-
readonly padding: Array<BN
|
|
84
|
+
readonly borrowedAmountsAgainstThisReserveInElevationGroups: Array<BN>
|
|
85
|
+
readonly padding: Array<BN>
|
|
86
86
|
|
|
87
|
-
static readonly discriminator = Buffer.from([
|
|
87
|
+
static readonly discriminator = Buffer.from([
|
|
88
|
+
43, 242, 204, 202, 26, 247, 59, 127,
|
|
89
|
+
])
|
|
88
90
|
|
|
89
91
|
static readonly layout = borsh.struct([
|
|
90
|
-
borsh.u64(
|
|
91
|
-
types.LastUpdate.layout(
|
|
92
|
-
borsh.publicKey(
|
|
93
|
-
borsh.publicKey(
|
|
94
|
-
borsh.publicKey(
|
|
95
|
-
types.ReserveLiquidity.layout(
|
|
96
|
-
borsh.array(borsh.u64(), 150,
|
|
97
|
-
types.ReserveCollateral.layout(
|
|
98
|
-
borsh.array(borsh.u64(), 150,
|
|
99
|
-
types.ReserveConfig.layout(
|
|
100
|
-
borsh.array(borsh.u64(), 117,
|
|
101
|
-
borsh.u64(
|
|
102
|
-
borsh.array(
|
|
103
|
-
|
|
104
|
-
|
|
92
|
+
borsh.u64("version"),
|
|
93
|
+
types.LastUpdate.layout("lastUpdate"),
|
|
94
|
+
borsh.publicKey("lendingMarket"),
|
|
95
|
+
borsh.publicKey("farmCollateral"),
|
|
96
|
+
borsh.publicKey("farmDebt"),
|
|
97
|
+
types.ReserveLiquidity.layout("liquidity"),
|
|
98
|
+
borsh.array(borsh.u64(), 150, "reserveLiquidityPadding"),
|
|
99
|
+
types.ReserveCollateral.layout("collateral"),
|
|
100
|
+
borsh.array(borsh.u64(), 150, "reserveCollateralPadding"),
|
|
101
|
+
types.ReserveConfig.layout("config"),
|
|
102
|
+
borsh.array(borsh.u64(), 117, "configPadding"),
|
|
103
|
+
borsh.u64("borrowedAmountOutsideElevationGroup"),
|
|
104
|
+
borsh.array(
|
|
105
|
+
borsh.u64(),
|
|
106
|
+
32,
|
|
107
|
+
"borrowedAmountsAgainstThisReserveInElevationGroups"
|
|
108
|
+
),
|
|
109
|
+
borsh.array(borsh.u64(), 207, "padding"),
|
|
110
|
+
])
|
|
105
111
|
|
|
106
112
|
constructor(fields: ReserveFields) {
|
|
107
|
-
this.version = fields.version
|
|
108
|
-
this.lastUpdate = new types.LastUpdate({ ...fields.lastUpdate })
|
|
109
|
-
this.lendingMarket = fields.lendingMarket
|
|
110
|
-
this.farmCollateral = fields.farmCollateral
|
|
111
|
-
this.farmDebt = fields.farmDebt
|
|
112
|
-
this.liquidity = new types.ReserveLiquidity({ ...fields.liquidity })
|
|
113
|
-
this.reserveLiquidityPadding = fields.reserveLiquidityPadding
|
|
114
|
-
this.collateral = new types.ReserveCollateral({ ...fields.collateral })
|
|
115
|
-
this.reserveCollateralPadding = fields.reserveCollateralPadding
|
|
116
|
-
this.config = new types.ReserveConfig({ ...fields.config })
|
|
117
|
-
this.configPadding = fields.configPadding
|
|
118
|
-
this.borrowedAmountOutsideElevationGroup =
|
|
119
|
-
|
|
120
|
-
this.
|
|
113
|
+
this.version = fields.version
|
|
114
|
+
this.lastUpdate = new types.LastUpdate({ ...fields.lastUpdate })
|
|
115
|
+
this.lendingMarket = fields.lendingMarket
|
|
116
|
+
this.farmCollateral = fields.farmCollateral
|
|
117
|
+
this.farmDebt = fields.farmDebt
|
|
118
|
+
this.liquidity = new types.ReserveLiquidity({ ...fields.liquidity })
|
|
119
|
+
this.reserveLiquidityPadding = fields.reserveLiquidityPadding
|
|
120
|
+
this.collateral = new types.ReserveCollateral({ ...fields.collateral })
|
|
121
|
+
this.reserveCollateralPadding = fields.reserveCollateralPadding
|
|
122
|
+
this.config = new types.ReserveConfig({ ...fields.config })
|
|
123
|
+
this.configPadding = fields.configPadding
|
|
124
|
+
this.borrowedAmountOutsideElevationGroup =
|
|
125
|
+
fields.borrowedAmountOutsideElevationGroup
|
|
126
|
+
this.borrowedAmountsAgainstThisReserveInElevationGroups =
|
|
127
|
+
fields.borrowedAmountsAgainstThisReserveInElevationGroups
|
|
128
|
+
this.padding = fields.padding
|
|
121
129
|
}
|
|
122
130
|
|
|
123
|
-
static async fetch(
|
|
124
|
-
|
|
131
|
+
static async fetch(
|
|
132
|
+
c: Connection,
|
|
133
|
+
address: PublicKey,
|
|
134
|
+
programId: PublicKey = PROGRAM_ID
|
|
135
|
+
): Promise<Reserve | null> {
|
|
136
|
+
const info = await c.getAccountInfo(address)
|
|
125
137
|
|
|
126
138
|
if (info === null) {
|
|
127
|
-
return null
|
|
139
|
+
return null
|
|
128
140
|
}
|
|
129
141
|
if (!info.owner.equals(programId)) {
|
|
130
|
-
throw new Error("account doesn't belong to this program")
|
|
142
|
+
throw new Error("account doesn't belong to this program")
|
|
131
143
|
}
|
|
132
144
|
|
|
133
|
-
return this.decode(info.data)
|
|
145
|
+
return this.decode(info.data)
|
|
134
146
|
}
|
|
135
147
|
|
|
136
148
|
static async fetchMultiple(
|
|
@@ -138,26 +150,26 @@ export class Reserve {
|
|
|
138
150
|
addresses: PublicKey[],
|
|
139
151
|
programId: PublicKey = PROGRAM_ID
|
|
140
152
|
): Promise<Array<Reserve | null>> {
|
|
141
|
-
const infos = await c.getMultipleAccountsInfo(addresses)
|
|
153
|
+
const infos = await c.getMultipleAccountsInfo(addresses)
|
|
142
154
|
|
|
143
155
|
return infos.map((info) => {
|
|
144
156
|
if (info === null) {
|
|
145
|
-
return null
|
|
157
|
+
return null
|
|
146
158
|
}
|
|
147
159
|
if (!info.owner.equals(programId)) {
|
|
148
|
-
throw new Error("account doesn't belong to this program")
|
|
160
|
+
throw new Error("account doesn't belong to this program")
|
|
149
161
|
}
|
|
150
162
|
|
|
151
|
-
return this.decode(info.data)
|
|
152
|
-
})
|
|
163
|
+
return this.decode(info.data)
|
|
164
|
+
})
|
|
153
165
|
}
|
|
154
166
|
|
|
155
167
|
static decode(data: Buffer): Reserve {
|
|
156
168
|
if (!data.slice(0, 8).equals(Reserve.discriminator)) {
|
|
157
|
-
throw new Error(
|
|
169
|
+
throw new Error("invalid account discriminator")
|
|
158
170
|
}
|
|
159
171
|
|
|
160
|
-
const dec = Reserve.layout.decode(data.slice(8))
|
|
172
|
+
const dec = Reserve.layout.decode(data.slice(8))
|
|
161
173
|
|
|
162
174
|
return new Reserve({
|
|
163
175
|
version: dec.version,
|
|
@@ -171,10 +183,12 @@ export class Reserve {
|
|
|
171
183
|
reserveCollateralPadding: dec.reserveCollateralPadding,
|
|
172
184
|
config: types.ReserveConfig.fromDecoded(dec.config),
|
|
173
185
|
configPadding: dec.configPadding,
|
|
174
|
-
borrowedAmountOutsideElevationGroup:
|
|
175
|
-
|
|
186
|
+
borrowedAmountOutsideElevationGroup:
|
|
187
|
+
dec.borrowedAmountOutsideElevationGroup,
|
|
188
|
+
borrowedAmountsAgainstThisReserveInElevationGroups:
|
|
189
|
+
dec.borrowedAmountsAgainstThisReserveInElevationGroups,
|
|
176
190
|
padding: dec.padding,
|
|
177
|
-
})
|
|
191
|
+
})
|
|
178
192
|
}
|
|
179
193
|
|
|
180
194
|
toJSON(): ReserveJSON {
|
|
@@ -185,17 +199,23 @@ export class Reserve {
|
|
|
185
199
|
farmCollateral: this.farmCollateral.toString(),
|
|
186
200
|
farmDebt: this.farmDebt.toString(),
|
|
187
201
|
liquidity: this.liquidity.toJSON(),
|
|
188
|
-
reserveLiquidityPadding: this.reserveLiquidityPadding.map((item) =>
|
|
202
|
+
reserveLiquidityPadding: this.reserveLiquidityPadding.map((item) =>
|
|
203
|
+
item.toString()
|
|
204
|
+
),
|
|
189
205
|
collateral: this.collateral.toJSON(),
|
|
190
|
-
reserveCollateralPadding: this.reserveCollateralPadding.map((item) =>
|
|
206
|
+
reserveCollateralPadding: this.reserveCollateralPadding.map((item) =>
|
|
207
|
+
item.toString()
|
|
208
|
+
),
|
|
191
209
|
config: this.config.toJSON(),
|
|
192
210
|
configPadding: this.configPadding.map((item) => item.toString()),
|
|
193
|
-
borrowedAmountOutsideElevationGroup:
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
211
|
+
borrowedAmountOutsideElevationGroup:
|
|
212
|
+
this.borrowedAmountOutsideElevationGroup.toString(),
|
|
213
|
+
borrowedAmountsAgainstThisReserveInElevationGroups:
|
|
214
|
+
this.borrowedAmountsAgainstThisReserveInElevationGroups.map((item) =>
|
|
215
|
+
item.toString()
|
|
216
|
+
),
|
|
197
217
|
padding: this.padding.map((item) => item.toString()),
|
|
198
|
-
}
|
|
218
|
+
}
|
|
199
219
|
}
|
|
200
220
|
|
|
201
221
|
static fromJSON(obj: ReserveJSON): Reserve {
|
|
@@ -206,16 +226,23 @@ export class Reserve {
|
|
|
206
226
|
farmCollateral: new PublicKey(obj.farmCollateral),
|
|
207
227
|
farmDebt: new PublicKey(obj.farmDebt),
|
|
208
228
|
liquidity: types.ReserveLiquidity.fromJSON(obj.liquidity),
|
|
209
|
-
reserveLiquidityPadding: obj.reserveLiquidityPadding.map(
|
|
229
|
+
reserveLiquidityPadding: obj.reserveLiquidityPadding.map(
|
|
230
|
+
(item) => new BN(item)
|
|
231
|
+
),
|
|
210
232
|
collateral: types.ReserveCollateral.fromJSON(obj.collateral),
|
|
211
|
-
reserveCollateralPadding: obj.reserveCollateralPadding.map(
|
|
233
|
+
reserveCollateralPadding: obj.reserveCollateralPadding.map(
|
|
234
|
+
(item) => new BN(item)
|
|
235
|
+
),
|
|
212
236
|
config: types.ReserveConfig.fromJSON(obj.config),
|
|
213
237
|
configPadding: obj.configPadding.map((item) => new BN(item)),
|
|
214
|
-
borrowedAmountOutsideElevationGroup: new BN(
|
|
215
|
-
|
|
216
|
-
(item) => new BN(item)
|
|
238
|
+
borrowedAmountOutsideElevationGroup: new BN(
|
|
239
|
+
obj.borrowedAmountOutsideElevationGroup
|
|
217
240
|
),
|
|
241
|
+
borrowedAmountsAgainstThisReserveInElevationGroups:
|
|
242
|
+
obj.borrowedAmountsAgainstThisReserveInElevationGroups.map(
|
|
243
|
+
(item) => new BN(item)
|
|
244
|
+
),
|
|
218
245
|
padding: obj.padding.map((item) => new BN(item)),
|
|
219
|
-
})
|
|
246
|
+
})
|
|
220
247
|
}
|
|
221
248
|
}
|