@kamino-finance/klend-sdk 5.2.11 → 5.2.13
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/manager.d.ts +38 -9
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +44 -10
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/types.d.ts +23 -0
- package/dist/classes/types.d.ts.map +1 -0
- package/dist/classes/types.js +3 -0
- package/dist/classes/types.js.map +1 -0
- package/dist/classes/utils.js +2 -2
- package/dist/classes/utils.js.map +1 -1
- package/dist/classes/vault.d.ts +47 -11
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +367 -49
- package/dist/classes/vault.js.map +1 -1
- package/dist/client_kamino_manager.d.ts.map +1 -1
- package/dist/client_kamino_manager.js +62 -12
- package/dist/client_kamino_manager.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/Reserve.js +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +18 -9
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +62 -42
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +112 -80
- package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.js +214 -158
- package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/deposit.js +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/deposit.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/index.d.ts +6 -0
- package/dist/idl_codegen_kamino_vault/instructions/index.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/index.js +7 -1
- package/dist/idl_codegen_kamino_vault/instructions/index.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initVault.js +2 -2
- package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.d.ts +19 -0
- package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.js +58 -0
- package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.js.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts +3 -4
- package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/invest.js +2 -3
- package/dist/idl_codegen_kamino_vault/instructions/invest.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.d.ts +16 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.js +55 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.js.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts +24 -20
- package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/withdraw.js +81 -20
- package/dist/idl_codegen_kamino_vault/instructions/withdraw.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/withdrawFromAvailable.d.ts +21 -0
- package/dist/idl_codegen_kamino_vault/instructions/withdrawFromAvailable.d.ts.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/withdrawFromAvailable.js +55 -0
- package/dist/idl_codegen_kamino_vault/instructions/withdrawFromAvailable.js.map +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts +2 -3
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js +3 -4
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts +78 -20
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js +45 -14
- package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts +16 -16
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js +16 -16
- package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts +5 -5
- package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js +7 -7
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts +46 -7
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js +84 -12
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/index.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.js +10 -1
- package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.js +7 -6
- package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
- package/dist/leverage/operations.d.ts.map +1 -1
- package/dist/leverage/operations.js +12 -8
- package/dist/leverage/operations.js.map +1 -1
- package/dist/leverage/types.d.ts +1 -0
- package/dist/leverage/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/classes/manager.ts +60 -13
- package/src/classes/types.ts +28 -0
- package/src/classes/utils.ts +2 -2
- package/src/classes/vault.ts +527 -54
- package/src/client_kamino_manager.ts +119 -15
- package/src/idl_codegen_kamino_vault/accounts/Reserve.ts +1 -1
- package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +215 -178
- package/src/idl_codegen_kamino_vault/errors/custom.ts +213 -157
- package/src/idl_codegen_kamino_vault/instructions/deposit.ts +2 -2
- package/src/idl_codegen_kamino_vault/instructions/index.ts +15 -0
- package/src/idl_codegen_kamino_vault/instructions/initVault.ts +4 -4
- package/src/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.ts +58 -0
- package/src/idl_codegen_kamino_vault/instructions/invest.ts +5 -7
- package/src/idl_codegen_kamino_vault/instructions/updateSharesMetadata.ts +52 -0
- package/src/idl_codegen_kamino_vault/instructions/updateVaultConfig.ts +1 -1
- package/src/idl_codegen_kamino_vault/instructions/withdraw.ts +106 -40
- package/src/idl_codegen_kamino_vault/instructions/withdrawFromAvailable.ts +56 -0
- package/src/idl_codegen_kamino_vault/instructions/withdrawPendingFees.ts +5 -7
- package/src/idl_codegen_kamino_vault/types/ReserveConfig.ts +100 -28
- package/src/idl_codegen_kamino_vault/types/ReserveLiquidity.ts +25 -24
- package/src/idl_codegen_kamino_vault/types/VaultAllocation.ts +9 -9
- package/src/idl_codegen_kamino_vault/types/VaultConfigField.ts +103 -13
- package/src/idl_codegen_kamino_vault/types/index.ts +8 -2
- package/src/lending_operations/repay_with_collateral_calcs.ts +18 -1
- package/src/lending_operations/repay_with_collateral_operations.ts +9 -7
- package/src/leverage/operations.ts +69 -29
- package/src/leverage/types.ts +1 -0
|
@@ -1,181 +1,204 @@
|
|
|
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 VaultStateFields {
|
|
8
|
-
adminAuthority: PublicKey
|
|
9
|
-
baseVaultAuthority: PublicKey
|
|
10
|
-
baseVaultAuthorityBump: BN
|
|
11
|
-
tokenMint: PublicKey
|
|
12
|
-
tokenMintDecimals: BN
|
|
13
|
-
tokenVault: PublicKey
|
|
14
|
-
tokenProgram: PublicKey
|
|
15
|
-
sharesMint: PublicKey
|
|
16
|
-
sharesMintDecimals: BN
|
|
17
|
-
tokenAvailable: BN
|
|
18
|
-
sharesIssued: BN
|
|
19
|
-
availableCrankFunds: BN
|
|
20
|
-
padding0: BN
|
|
21
|
-
performanceFeeBps: BN
|
|
22
|
-
managementFeeBps: BN
|
|
23
|
-
lastFeeChargeTimestamp: BN
|
|
24
|
-
prevAumSf: BN
|
|
25
|
-
pendingFeesSf: BN
|
|
26
|
-
vaultAllocationStrategy: Array<types.VaultAllocationFields
|
|
27
|
-
minDepositAmount: BN
|
|
28
|
-
minWithdrawAmount: BN
|
|
29
|
-
minInvestAmount: BN
|
|
30
|
-
minInvestDelaySlots: BN
|
|
31
|
-
crankFundFeePerReserve: BN
|
|
32
|
-
pendingAdmin: PublicKey
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
8
|
+
adminAuthority: PublicKey
|
|
9
|
+
baseVaultAuthority: PublicKey
|
|
10
|
+
baseVaultAuthorityBump: BN
|
|
11
|
+
tokenMint: PublicKey
|
|
12
|
+
tokenMintDecimals: BN
|
|
13
|
+
tokenVault: PublicKey
|
|
14
|
+
tokenProgram: PublicKey
|
|
15
|
+
sharesMint: PublicKey
|
|
16
|
+
sharesMintDecimals: BN
|
|
17
|
+
tokenAvailable: BN
|
|
18
|
+
sharesIssued: BN
|
|
19
|
+
availableCrankFunds: BN
|
|
20
|
+
padding0: BN
|
|
21
|
+
performanceFeeBps: BN
|
|
22
|
+
managementFeeBps: BN
|
|
23
|
+
lastFeeChargeTimestamp: BN
|
|
24
|
+
prevAumSf: BN
|
|
25
|
+
pendingFeesSf: BN
|
|
26
|
+
vaultAllocationStrategy: Array<types.VaultAllocationFields>
|
|
27
|
+
minDepositAmount: BN
|
|
28
|
+
minWithdrawAmount: BN
|
|
29
|
+
minInvestAmount: BN
|
|
30
|
+
minInvestDelaySlots: BN
|
|
31
|
+
crankFundFeePerReserve: BN
|
|
32
|
+
pendingAdmin: PublicKey
|
|
33
|
+
cumulativeEarnedInterestSf: BN
|
|
34
|
+
cumulativeMgmtFeesSf: BN
|
|
35
|
+
cumulativePerfFeesSf: BN
|
|
36
|
+
name: Array<number>
|
|
37
|
+
vaultLookupTable: PublicKey
|
|
38
|
+
vaultFarm: PublicKey
|
|
39
|
+
padding2: Array<BN>
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
export interface VaultStateJSON {
|
|
40
|
-
adminAuthority: string
|
|
41
|
-
baseVaultAuthority: string
|
|
42
|
-
baseVaultAuthorityBump: string
|
|
43
|
-
tokenMint: string
|
|
44
|
-
tokenMintDecimals: string
|
|
45
|
-
tokenVault: string
|
|
46
|
-
tokenProgram: string
|
|
47
|
-
sharesMint: string
|
|
48
|
-
sharesMintDecimals: string
|
|
49
|
-
tokenAvailable: string
|
|
50
|
-
sharesIssued: string
|
|
51
|
-
availableCrankFunds: string
|
|
52
|
-
padding0: string
|
|
53
|
-
performanceFeeBps: string
|
|
54
|
-
managementFeeBps: string
|
|
55
|
-
lastFeeChargeTimestamp: string
|
|
56
|
-
prevAumSf: string
|
|
57
|
-
pendingFeesSf: string
|
|
58
|
-
vaultAllocationStrategy: Array<types.VaultAllocationJSON
|
|
59
|
-
minDepositAmount: string
|
|
60
|
-
minWithdrawAmount: string
|
|
61
|
-
minInvestAmount: string
|
|
62
|
-
minInvestDelaySlots: string
|
|
63
|
-
crankFundFeePerReserve: string
|
|
64
|
-
pendingAdmin: string
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
43
|
+
adminAuthority: string
|
|
44
|
+
baseVaultAuthority: string
|
|
45
|
+
baseVaultAuthorityBump: string
|
|
46
|
+
tokenMint: string
|
|
47
|
+
tokenMintDecimals: string
|
|
48
|
+
tokenVault: string
|
|
49
|
+
tokenProgram: string
|
|
50
|
+
sharesMint: string
|
|
51
|
+
sharesMintDecimals: string
|
|
52
|
+
tokenAvailable: string
|
|
53
|
+
sharesIssued: string
|
|
54
|
+
availableCrankFunds: string
|
|
55
|
+
padding0: string
|
|
56
|
+
performanceFeeBps: string
|
|
57
|
+
managementFeeBps: string
|
|
58
|
+
lastFeeChargeTimestamp: string
|
|
59
|
+
prevAumSf: string
|
|
60
|
+
pendingFeesSf: string
|
|
61
|
+
vaultAllocationStrategy: Array<types.VaultAllocationJSON>
|
|
62
|
+
minDepositAmount: string
|
|
63
|
+
minWithdrawAmount: string
|
|
64
|
+
minInvestAmount: string
|
|
65
|
+
minInvestDelaySlots: string
|
|
66
|
+
crankFundFeePerReserve: string
|
|
67
|
+
pendingAdmin: string
|
|
68
|
+
cumulativeEarnedInterestSf: string
|
|
69
|
+
cumulativeMgmtFeesSf: string
|
|
70
|
+
cumulativePerfFeesSf: string
|
|
71
|
+
name: Array<number>
|
|
72
|
+
vaultLookupTable: string
|
|
73
|
+
vaultFarm: string
|
|
74
|
+
padding2: Array<string>
|
|
69
75
|
}
|
|
70
76
|
|
|
71
77
|
export class VaultState {
|
|
72
|
-
readonly adminAuthority: PublicKey
|
|
73
|
-
readonly baseVaultAuthority: PublicKey
|
|
74
|
-
readonly baseVaultAuthorityBump: BN
|
|
75
|
-
readonly tokenMint: PublicKey
|
|
76
|
-
readonly tokenMintDecimals: BN
|
|
77
|
-
readonly tokenVault: PublicKey
|
|
78
|
-
readonly tokenProgram: PublicKey
|
|
79
|
-
readonly sharesMint: PublicKey
|
|
80
|
-
readonly sharesMintDecimals: BN
|
|
81
|
-
readonly tokenAvailable: BN
|
|
82
|
-
readonly sharesIssued: BN
|
|
83
|
-
readonly availableCrankFunds: BN
|
|
84
|
-
readonly padding0: BN
|
|
85
|
-
readonly performanceFeeBps: BN
|
|
86
|
-
readonly managementFeeBps: BN
|
|
87
|
-
readonly lastFeeChargeTimestamp: BN
|
|
88
|
-
readonly prevAumSf: BN
|
|
89
|
-
readonly pendingFeesSf: BN
|
|
90
|
-
readonly vaultAllocationStrategy: Array<types.VaultAllocation
|
|
91
|
-
readonly minDepositAmount: BN
|
|
92
|
-
readonly minWithdrawAmount: BN
|
|
93
|
-
readonly minInvestAmount: BN
|
|
94
|
-
readonly minInvestDelaySlots: BN
|
|
95
|
-
readonly crankFundFeePerReserve: BN
|
|
96
|
-
readonly pendingAdmin: PublicKey
|
|
97
|
-
readonly
|
|
98
|
-
readonly
|
|
99
|
-
readonly
|
|
100
|
-
readonly
|
|
78
|
+
readonly adminAuthority: PublicKey
|
|
79
|
+
readonly baseVaultAuthority: PublicKey
|
|
80
|
+
readonly baseVaultAuthorityBump: BN
|
|
81
|
+
readonly tokenMint: PublicKey
|
|
82
|
+
readonly tokenMintDecimals: BN
|
|
83
|
+
readonly tokenVault: PublicKey
|
|
84
|
+
readonly tokenProgram: PublicKey
|
|
85
|
+
readonly sharesMint: PublicKey
|
|
86
|
+
readonly sharesMintDecimals: BN
|
|
87
|
+
readonly tokenAvailable: BN
|
|
88
|
+
readonly sharesIssued: BN
|
|
89
|
+
readonly availableCrankFunds: BN
|
|
90
|
+
readonly padding0: BN
|
|
91
|
+
readonly performanceFeeBps: BN
|
|
92
|
+
readonly managementFeeBps: BN
|
|
93
|
+
readonly lastFeeChargeTimestamp: BN
|
|
94
|
+
readonly prevAumSf: BN
|
|
95
|
+
readonly pendingFeesSf: BN
|
|
96
|
+
readonly vaultAllocationStrategy: Array<types.VaultAllocation>
|
|
97
|
+
readonly minDepositAmount: BN
|
|
98
|
+
readonly minWithdrawAmount: BN
|
|
99
|
+
readonly minInvestAmount: BN
|
|
100
|
+
readonly minInvestDelaySlots: BN
|
|
101
|
+
readonly crankFundFeePerReserve: BN
|
|
102
|
+
readonly pendingAdmin: PublicKey
|
|
103
|
+
readonly cumulativeEarnedInterestSf: BN
|
|
104
|
+
readonly cumulativeMgmtFeesSf: BN
|
|
105
|
+
readonly cumulativePerfFeesSf: BN
|
|
106
|
+
readonly name: Array<number>
|
|
107
|
+
readonly vaultLookupTable: PublicKey
|
|
108
|
+
readonly vaultFarm: PublicKey
|
|
109
|
+
readonly padding2: Array<BN>
|
|
101
110
|
|
|
102
|
-
static readonly discriminator = Buffer.from([
|
|
111
|
+
static readonly discriminator = Buffer.from([
|
|
112
|
+
228, 196, 82, 165, 98, 210, 235, 152,
|
|
113
|
+
])
|
|
103
114
|
|
|
104
115
|
static readonly layout = borsh.struct([
|
|
105
|
-
borsh.publicKey(
|
|
106
|
-
borsh.publicKey(
|
|
107
|
-
borsh.u64(
|
|
108
|
-
borsh.publicKey(
|
|
109
|
-
borsh.u64(
|
|
110
|
-
borsh.publicKey(
|
|
111
|
-
borsh.publicKey(
|
|
112
|
-
borsh.publicKey(
|
|
113
|
-
borsh.u64(
|
|
114
|
-
borsh.u64(
|
|
115
|
-
borsh.u64(
|
|
116
|
-
borsh.u64(
|
|
117
|
-
borsh.u64(
|
|
118
|
-
borsh.u64(
|
|
119
|
-
borsh.u64(
|
|
120
|
-
borsh.u64(
|
|
121
|
-
borsh.u128(
|
|
122
|
-
borsh.u128(
|
|
123
|
-
borsh.array(types.VaultAllocation.layout(), 10,
|
|
124
|
-
borsh.u64(
|
|
125
|
-
borsh.u64(
|
|
126
|
-
borsh.u64(
|
|
127
|
-
borsh.u64(
|
|
128
|
-
borsh.u64(
|
|
129
|
-
borsh.publicKey(
|
|
130
|
-
borsh.
|
|
131
|
-
borsh.
|
|
132
|
-
borsh.
|
|
133
|
-
borsh.array(borsh.
|
|
134
|
-
|
|
116
|
+
borsh.publicKey("adminAuthority"),
|
|
117
|
+
borsh.publicKey("baseVaultAuthority"),
|
|
118
|
+
borsh.u64("baseVaultAuthorityBump"),
|
|
119
|
+
borsh.publicKey("tokenMint"),
|
|
120
|
+
borsh.u64("tokenMintDecimals"),
|
|
121
|
+
borsh.publicKey("tokenVault"),
|
|
122
|
+
borsh.publicKey("tokenProgram"),
|
|
123
|
+
borsh.publicKey("sharesMint"),
|
|
124
|
+
borsh.u64("sharesMintDecimals"),
|
|
125
|
+
borsh.u64("tokenAvailable"),
|
|
126
|
+
borsh.u64("sharesIssued"),
|
|
127
|
+
borsh.u64("availableCrankFunds"),
|
|
128
|
+
borsh.u64("padding0"),
|
|
129
|
+
borsh.u64("performanceFeeBps"),
|
|
130
|
+
borsh.u64("managementFeeBps"),
|
|
131
|
+
borsh.u64("lastFeeChargeTimestamp"),
|
|
132
|
+
borsh.u128("prevAumSf"),
|
|
133
|
+
borsh.u128("pendingFeesSf"),
|
|
134
|
+
borsh.array(types.VaultAllocation.layout(), 10, "vaultAllocationStrategy"),
|
|
135
|
+
borsh.u64("minDepositAmount"),
|
|
136
|
+
borsh.u64("minWithdrawAmount"),
|
|
137
|
+
borsh.u64("minInvestAmount"),
|
|
138
|
+
borsh.u64("minInvestDelaySlots"),
|
|
139
|
+
borsh.u64("crankFundFeePerReserve"),
|
|
140
|
+
borsh.publicKey("pendingAdmin"),
|
|
141
|
+
borsh.u128("cumulativeEarnedInterestSf"),
|
|
142
|
+
borsh.u128("cumulativeMgmtFeesSf"),
|
|
143
|
+
borsh.u128("cumulativePerfFeesSf"),
|
|
144
|
+
borsh.array(borsh.u8(), 40, "name"),
|
|
145
|
+
borsh.publicKey("vaultLookupTable"),
|
|
146
|
+
borsh.publicKey("vaultFarm"),
|
|
147
|
+
borsh.array(borsh.u128(), 245, "padding2"),
|
|
148
|
+
])
|
|
135
149
|
|
|
136
150
|
constructor(fields: VaultStateFields) {
|
|
137
|
-
this.adminAuthority = fields.adminAuthority
|
|
138
|
-
this.baseVaultAuthority = fields.baseVaultAuthority
|
|
139
|
-
this.baseVaultAuthorityBump = fields.baseVaultAuthorityBump
|
|
140
|
-
this.tokenMint = fields.tokenMint
|
|
141
|
-
this.tokenMintDecimals = fields.tokenMintDecimals
|
|
142
|
-
this.tokenVault = fields.tokenVault
|
|
143
|
-
this.tokenProgram = fields.tokenProgram
|
|
144
|
-
this.sharesMint = fields.sharesMint
|
|
145
|
-
this.sharesMintDecimals = fields.sharesMintDecimals
|
|
146
|
-
this.tokenAvailable = fields.tokenAvailable
|
|
147
|
-
this.sharesIssued = fields.sharesIssued
|
|
148
|
-
this.availableCrankFunds = fields.availableCrankFunds
|
|
149
|
-
this.padding0 = fields.padding0
|
|
150
|
-
this.performanceFeeBps = fields.performanceFeeBps
|
|
151
|
-
this.managementFeeBps = fields.managementFeeBps
|
|
152
|
-
this.lastFeeChargeTimestamp = fields.lastFeeChargeTimestamp
|
|
153
|
-
this.prevAumSf = fields.prevAumSf
|
|
154
|
-
this.pendingFeesSf = fields.pendingFeesSf
|
|
155
|
-
this.vaultAllocationStrategy = fields.vaultAllocationStrategy.map(
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
this.
|
|
159
|
-
this.
|
|
160
|
-
this.
|
|
161
|
-
this.
|
|
162
|
-
this.
|
|
163
|
-
this.
|
|
164
|
-
this.
|
|
165
|
-
this.
|
|
151
|
+
this.adminAuthority = fields.adminAuthority
|
|
152
|
+
this.baseVaultAuthority = fields.baseVaultAuthority
|
|
153
|
+
this.baseVaultAuthorityBump = fields.baseVaultAuthorityBump
|
|
154
|
+
this.tokenMint = fields.tokenMint
|
|
155
|
+
this.tokenMintDecimals = fields.tokenMintDecimals
|
|
156
|
+
this.tokenVault = fields.tokenVault
|
|
157
|
+
this.tokenProgram = fields.tokenProgram
|
|
158
|
+
this.sharesMint = fields.sharesMint
|
|
159
|
+
this.sharesMintDecimals = fields.sharesMintDecimals
|
|
160
|
+
this.tokenAvailable = fields.tokenAvailable
|
|
161
|
+
this.sharesIssued = fields.sharesIssued
|
|
162
|
+
this.availableCrankFunds = fields.availableCrankFunds
|
|
163
|
+
this.padding0 = fields.padding0
|
|
164
|
+
this.performanceFeeBps = fields.performanceFeeBps
|
|
165
|
+
this.managementFeeBps = fields.managementFeeBps
|
|
166
|
+
this.lastFeeChargeTimestamp = fields.lastFeeChargeTimestamp
|
|
167
|
+
this.prevAumSf = fields.prevAumSf
|
|
168
|
+
this.pendingFeesSf = fields.pendingFeesSf
|
|
169
|
+
this.vaultAllocationStrategy = fields.vaultAllocationStrategy.map(
|
|
170
|
+
(item) => new types.VaultAllocation({ ...item })
|
|
171
|
+
)
|
|
172
|
+
this.minDepositAmount = fields.minDepositAmount
|
|
173
|
+
this.minWithdrawAmount = fields.minWithdrawAmount
|
|
174
|
+
this.minInvestAmount = fields.minInvestAmount
|
|
175
|
+
this.minInvestDelaySlots = fields.minInvestDelaySlots
|
|
176
|
+
this.crankFundFeePerReserve = fields.crankFundFeePerReserve
|
|
177
|
+
this.pendingAdmin = fields.pendingAdmin
|
|
178
|
+
this.cumulativeEarnedInterestSf = fields.cumulativeEarnedInterestSf
|
|
179
|
+
this.cumulativeMgmtFeesSf = fields.cumulativeMgmtFeesSf
|
|
180
|
+
this.cumulativePerfFeesSf = fields.cumulativePerfFeesSf
|
|
181
|
+
this.name = fields.name
|
|
182
|
+
this.vaultLookupTable = fields.vaultLookupTable
|
|
183
|
+
this.vaultFarm = fields.vaultFarm
|
|
184
|
+
this.padding2 = fields.padding2
|
|
166
185
|
}
|
|
167
186
|
|
|
168
|
-
static async fetch(
|
|
169
|
-
|
|
187
|
+
static async fetch(
|
|
188
|
+
c: Connection,
|
|
189
|
+
address: PublicKey,
|
|
190
|
+
programId: PublicKey = PROGRAM_ID
|
|
191
|
+
): Promise<VaultState | null> {
|
|
192
|
+
const info = await c.getAccountInfo(address)
|
|
170
193
|
|
|
171
194
|
if (info === null) {
|
|
172
|
-
return null
|
|
195
|
+
return null
|
|
173
196
|
}
|
|
174
197
|
if (!info.owner.equals(programId)) {
|
|
175
|
-
throw new Error("account doesn't belong to this program")
|
|
198
|
+
throw new Error("account doesn't belong to this program")
|
|
176
199
|
}
|
|
177
200
|
|
|
178
|
-
return this.decode(info.data)
|
|
201
|
+
return this.decode(info.data)
|
|
179
202
|
}
|
|
180
203
|
|
|
181
204
|
static async fetchMultiple(
|
|
@@ -183,26 +206,26 @@ export class VaultState {
|
|
|
183
206
|
addresses: PublicKey[],
|
|
184
207
|
programId: PublicKey = PROGRAM_ID
|
|
185
208
|
): Promise<Array<VaultState | null>> {
|
|
186
|
-
const infos = await c.getMultipleAccountsInfo(addresses)
|
|
209
|
+
const infos = await c.getMultipleAccountsInfo(addresses)
|
|
187
210
|
|
|
188
211
|
return infos.map((info) => {
|
|
189
212
|
if (info === null) {
|
|
190
|
-
return null
|
|
213
|
+
return null
|
|
191
214
|
}
|
|
192
215
|
if (!info.owner.equals(programId)) {
|
|
193
|
-
throw new Error("account doesn't belong to this program")
|
|
216
|
+
throw new Error("account doesn't belong to this program")
|
|
194
217
|
}
|
|
195
218
|
|
|
196
|
-
return this.decode(info.data)
|
|
197
|
-
})
|
|
219
|
+
return this.decode(info.data)
|
|
220
|
+
})
|
|
198
221
|
}
|
|
199
222
|
|
|
200
223
|
static decode(data: Buffer): VaultState {
|
|
201
|
-
if (!
|
|
202
|
-
throw new Error(
|
|
224
|
+
if (!data.slice(0, 8).equals(VaultState.discriminator)) {
|
|
225
|
+
throw new Error("invalid account discriminator")
|
|
203
226
|
}
|
|
204
227
|
|
|
205
|
-
const dec = VaultState.layout.decode(data.slice(8))
|
|
228
|
+
const dec = VaultState.layout.decode(data.slice(8))
|
|
206
229
|
|
|
207
230
|
return new VaultState({
|
|
208
231
|
adminAuthority: dec.adminAuthority,
|
|
@@ -224,8 +247,9 @@ export class VaultState {
|
|
|
224
247
|
prevAumSf: dec.prevAumSf,
|
|
225
248
|
pendingFeesSf: dec.pendingFeesSf,
|
|
226
249
|
vaultAllocationStrategy: dec.vaultAllocationStrategy.map(
|
|
227
|
-
(
|
|
228
|
-
|
|
250
|
+
(
|
|
251
|
+
item: any /* eslint-disable-line @typescript-eslint/no-explicit-any */
|
|
252
|
+
) => types.VaultAllocation.fromDecoded(item)
|
|
229
253
|
),
|
|
230
254
|
minDepositAmount: dec.minDepositAmount,
|
|
231
255
|
minWithdrawAmount: dec.minWithdrawAmount,
|
|
@@ -233,11 +257,14 @@ export class VaultState {
|
|
|
233
257
|
minInvestDelaySlots: dec.minInvestDelaySlots,
|
|
234
258
|
crankFundFeePerReserve: dec.crankFundFeePerReserve,
|
|
235
259
|
pendingAdmin: dec.pendingAdmin,
|
|
260
|
+
cumulativeEarnedInterestSf: dec.cumulativeEarnedInterestSf,
|
|
261
|
+
cumulativeMgmtFeesSf: dec.cumulativeMgmtFeesSf,
|
|
262
|
+
cumulativePerfFeesSf: dec.cumulativePerfFeesSf,
|
|
263
|
+
name: dec.name,
|
|
236
264
|
vaultLookupTable: dec.vaultLookupTable,
|
|
237
|
-
|
|
238
|
-
padding1: dec.padding1,
|
|
265
|
+
vaultFarm: dec.vaultFarm,
|
|
239
266
|
padding2: dec.padding2,
|
|
240
|
-
})
|
|
267
|
+
})
|
|
241
268
|
}
|
|
242
269
|
|
|
243
270
|
toJSON(): VaultStateJSON {
|
|
@@ -260,18 +287,23 @@ export class VaultState {
|
|
|
260
287
|
lastFeeChargeTimestamp: this.lastFeeChargeTimestamp.toString(),
|
|
261
288
|
prevAumSf: this.prevAumSf.toString(),
|
|
262
289
|
pendingFeesSf: this.pendingFeesSf.toString(),
|
|
263
|
-
vaultAllocationStrategy: this.vaultAllocationStrategy.map((item) =>
|
|
290
|
+
vaultAllocationStrategy: this.vaultAllocationStrategy.map((item) =>
|
|
291
|
+
item.toJSON()
|
|
292
|
+
),
|
|
264
293
|
minDepositAmount: this.minDepositAmount.toString(),
|
|
265
294
|
minWithdrawAmount: this.minWithdrawAmount.toString(),
|
|
266
295
|
minInvestAmount: this.minInvestAmount.toString(),
|
|
267
296
|
minInvestDelaySlots: this.minInvestDelaySlots.toString(),
|
|
268
297
|
crankFundFeePerReserve: this.crankFundFeePerReserve.toString(),
|
|
269
298
|
pendingAdmin: this.pendingAdmin.toString(),
|
|
299
|
+
cumulativeEarnedInterestSf: this.cumulativeEarnedInterestSf.toString(),
|
|
300
|
+
cumulativeMgmtFeesSf: this.cumulativeMgmtFeesSf.toString(),
|
|
301
|
+
cumulativePerfFeesSf: this.cumulativePerfFeesSf.toString(),
|
|
302
|
+
name: this.name,
|
|
270
303
|
vaultLookupTable: this.vaultLookupTable.toString(),
|
|
271
|
-
|
|
272
|
-
padding1: this.padding1.toString(),
|
|
304
|
+
vaultFarm: this.vaultFarm.toString(),
|
|
273
305
|
padding2: this.padding2.map((item) => item.toString()),
|
|
274
|
-
}
|
|
306
|
+
}
|
|
275
307
|
}
|
|
276
308
|
|
|
277
309
|
static fromJSON(obj: VaultStateJSON): VaultState {
|
|
@@ -294,17 +326,22 @@ export class VaultState {
|
|
|
294
326
|
lastFeeChargeTimestamp: new BN(obj.lastFeeChargeTimestamp),
|
|
295
327
|
prevAumSf: new BN(obj.prevAumSf),
|
|
296
328
|
pendingFeesSf: new BN(obj.pendingFeesSf),
|
|
297
|
-
vaultAllocationStrategy: obj.vaultAllocationStrategy.map((item) =>
|
|
329
|
+
vaultAllocationStrategy: obj.vaultAllocationStrategy.map((item) =>
|
|
330
|
+
types.VaultAllocation.fromJSON(item)
|
|
331
|
+
),
|
|
298
332
|
minDepositAmount: new BN(obj.minDepositAmount),
|
|
299
333
|
minWithdrawAmount: new BN(obj.minWithdrawAmount),
|
|
300
334
|
minInvestAmount: new BN(obj.minInvestAmount),
|
|
301
335
|
minInvestDelaySlots: new BN(obj.minInvestDelaySlots),
|
|
302
336
|
crankFundFeePerReserve: new BN(obj.crankFundFeePerReserve),
|
|
303
337
|
pendingAdmin: new PublicKey(obj.pendingAdmin),
|
|
338
|
+
cumulativeEarnedInterestSf: new BN(obj.cumulativeEarnedInterestSf),
|
|
339
|
+
cumulativeMgmtFeesSf: new BN(obj.cumulativeMgmtFeesSf),
|
|
340
|
+
cumulativePerfFeesSf: new BN(obj.cumulativePerfFeesSf),
|
|
341
|
+
name: obj.name,
|
|
304
342
|
vaultLookupTable: new PublicKey(obj.vaultLookupTable),
|
|
305
|
-
|
|
306
|
-
padding1: new BN(obj.padding1),
|
|
343
|
+
vaultFarm: new PublicKey(obj.vaultFarm),
|
|
307
344
|
padding2: obj.padding2.map((item) => new BN(item)),
|
|
308
|
-
})
|
|
345
|
+
})
|
|
309
346
|
}
|
|
310
347
|
}
|