@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.
Files changed (120) hide show
  1. package/dist/classes/manager.d.ts +38 -9
  2. package/dist/classes/manager.d.ts.map +1 -1
  3. package/dist/classes/manager.js +44 -10
  4. package/dist/classes/manager.js.map +1 -1
  5. package/dist/classes/types.d.ts +23 -0
  6. package/dist/classes/types.d.ts.map +1 -0
  7. package/dist/classes/types.js +3 -0
  8. package/dist/classes/types.js.map +1 -0
  9. package/dist/classes/utils.js +2 -2
  10. package/dist/classes/utils.js.map +1 -1
  11. package/dist/classes/vault.d.ts +47 -11
  12. package/dist/classes/vault.d.ts.map +1 -1
  13. package/dist/classes/vault.js +367 -49
  14. package/dist/classes/vault.js.map +1 -1
  15. package/dist/client_kamino_manager.d.ts.map +1 -1
  16. package/dist/client_kamino_manager.js +62 -12
  17. package/dist/client_kamino_manager.js.map +1 -1
  18. package/dist/idl_codegen_kamino_vault/accounts/Reserve.js +1 -1
  19. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +18 -9
  20. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -1
  21. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +62 -42
  22. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
  23. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +112 -80
  24. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -1
  25. package/dist/idl_codegen_kamino_vault/errors/custom.js +214 -158
  26. package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
  27. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts +1 -1
  28. package/dist/idl_codegen_kamino_vault/instructions/deposit.d.ts.map +1 -1
  29. package/dist/idl_codegen_kamino_vault/instructions/deposit.js +1 -1
  30. package/dist/idl_codegen_kamino_vault/instructions/deposit.js.map +1 -1
  31. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts +6 -0
  32. package/dist/idl_codegen_kamino_vault/instructions/index.d.ts.map +1 -1
  33. package/dist/idl_codegen_kamino_vault/instructions/index.js +7 -1
  34. package/dist/idl_codegen_kamino_vault/instructions/index.js.map +1 -1
  35. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +2 -2
  36. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -1
  37. package/dist/idl_codegen_kamino_vault/instructions/initVault.js +2 -2
  38. package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
  39. package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.d.ts +19 -0
  40. package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.d.ts.map +1 -0
  41. package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.js +58 -0
  42. package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.js.map +1 -0
  43. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts +3 -4
  44. package/dist/idl_codegen_kamino_vault/instructions/invest.d.ts.map +1 -1
  45. package/dist/idl_codegen_kamino_vault/instructions/invest.js +2 -3
  46. package/dist/idl_codegen_kamino_vault/instructions/invest.js.map +1 -1
  47. package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.d.ts +16 -0
  48. package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.d.ts.map +1 -0
  49. package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.js +55 -0
  50. package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.js.map +1 -0
  51. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js +1 -1
  52. package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js.map +1 -1
  53. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts +24 -20
  54. package/dist/idl_codegen_kamino_vault/instructions/withdraw.d.ts.map +1 -1
  55. package/dist/idl_codegen_kamino_vault/instructions/withdraw.js +81 -20
  56. package/dist/idl_codegen_kamino_vault/instructions/withdraw.js.map +1 -1
  57. package/dist/idl_codegen_kamino_vault/instructions/withdrawFromAvailable.d.ts +21 -0
  58. package/dist/idl_codegen_kamino_vault/instructions/withdrawFromAvailable.d.ts.map +1 -0
  59. package/dist/idl_codegen_kamino_vault/instructions/withdrawFromAvailable.js +55 -0
  60. package/dist/idl_codegen_kamino_vault/instructions/withdrawFromAvailable.js.map +1 -0
  61. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts +2 -3
  62. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts.map +1 -1
  63. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js +3 -4
  64. package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js.map +1 -1
  65. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts +78 -20
  66. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.d.ts.map +1 -1
  67. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js +45 -14
  68. package/dist/idl_codegen_kamino_vault/types/ReserveConfig.js.map +1 -1
  69. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts +16 -16
  70. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.d.ts.map +1 -1
  71. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js +16 -16
  72. package/dist/idl_codegen_kamino_vault/types/ReserveLiquidity.js.map +1 -1
  73. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.d.ts +5 -5
  74. package/dist/idl_codegen_kamino_vault/types/VaultAllocation.js +7 -7
  75. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts +46 -7
  76. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts.map +1 -1
  77. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js +84 -12
  78. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js.map +1 -1
  79. package/dist/idl_codegen_kamino_vault/types/index.d.ts +2 -2
  80. package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -1
  81. package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
  82. package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -1
  83. package/dist/lending_operations/repay_with_collateral_calcs.js +10 -1
  84. package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
  85. package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
  86. package/dist/lending_operations/repay_with_collateral_operations.js +7 -6
  87. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  88. package/dist/leverage/operations.d.ts.map +1 -1
  89. package/dist/leverage/operations.js +12 -8
  90. package/dist/leverage/operations.js.map +1 -1
  91. package/dist/leverage/types.d.ts +1 -0
  92. package/dist/leverage/types.d.ts.map +1 -1
  93. package/package.json +1 -1
  94. package/src/classes/manager.ts +60 -13
  95. package/src/classes/types.ts +28 -0
  96. package/src/classes/utils.ts +2 -2
  97. package/src/classes/vault.ts +527 -54
  98. package/src/client_kamino_manager.ts +119 -15
  99. package/src/idl_codegen_kamino_vault/accounts/Reserve.ts +1 -1
  100. package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +215 -178
  101. package/src/idl_codegen_kamino_vault/errors/custom.ts +213 -157
  102. package/src/idl_codegen_kamino_vault/instructions/deposit.ts +2 -2
  103. package/src/idl_codegen_kamino_vault/instructions/index.ts +15 -0
  104. package/src/idl_codegen_kamino_vault/instructions/initVault.ts +4 -4
  105. package/src/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.ts +58 -0
  106. package/src/idl_codegen_kamino_vault/instructions/invest.ts +5 -7
  107. package/src/idl_codegen_kamino_vault/instructions/updateSharesMetadata.ts +52 -0
  108. package/src/idl_codegen_kamino_vault/instructions/updateVaultConfig.ts +1 -1
  109. package/src/idl_codegen_kamino_vault/instructions/withdraw.ts +106 -40
  110. package/src/idl_codegen_kamino_vault/instructions/withdrawFromAvailable.ts +56 -0
  111. package/src/idl_codegen_kamino_vault/instructions/withdrawPendingFees.ts +5 -7
  112. package/src/idl_codegen_kamino_vault/types/ReserveConfig.ts +100 -28
  113. package/src/idl_codegen_kamino_vault/types/ReserveLiquidity.ts +25 -24
  114. package/src/idl_codegen_kamino_vault/types/VaultAllocation.ts +9 -9
  115. package/src/idl_codegen_kamino_vault/types/VaultConfigField.ts +103 -13
  116. package/src/idl_codegen_kamino_vault/types/index.ts +8 -2
  117. package/src/lending_operations/repay_with_collateral_calcs.ts +18 -1
  118. package/src/lending_operations/repay_with_collateral_operations.ts +9 -7
  119. package/src/leverage/operations.ts +69 -29
  120. package/src/leverage/types.ts +1 -0
@@ -1,181 +1,204 @@
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';
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
- vaultLookupTable: PublicKey;
34
- cumulativeNetEarnedYield: BN;
35
- padding1: BN;
36
- padding2: Array<BN>;
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
- vaultLookupTable: string;
66
- cumulativeNetEarnedYield: string;
67
- padding1: string;
68
- padding2: Array<string>;
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 vaultLookupTable: PublicKey;
98
- readonly cumulativeNetEarnedYield: BN;
99
- readonly padding1: BN;
100
- readonly padding2: Array<BN>;
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([228, 196, 82, 165, 98, 210, 235, 152]);
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('adminAuthority'),
106
- borsh.publicKey('baseVaultAuthority'),
107
- borsh.u64('baseVaultAuthorityBump'),
108
- borsh.publicKey('tokenMint'),
109
- borsh.u64('tokenMintDecimals'),
110
- borsh.publicKey('tokenVault'),
111
- borsh.publicKey('tokenProgram'),
112
- borsh.publicKey('sharesMint'),
113
- borsh.u64('sharesMintDecimals'),
114
- borsh.u64('tokenAvailable'),
115
- borsh.u64('sharesIssued'),
116
- borsh.u64('availableCrankFunds'),
117
- borsh.u64('padding0'),
118
- borsh.u64('performanceFeeBps'),
119
- borsh.u64('managementFeeBps'),
120
- borsh.u64('lastFeeChargeTimestamp'),
121
- borsh.u128('prevAumSf'),
122
- borsh.u128('pendingFeesSf'),
123
- borsh.array(types.VaultAllocation.layout(), 10, 'vaultAllocationStrategy'),
124
- borsh.u64('minDepositAmount'),
125
- borsh.u64('minWithdrawAmount'),
126
- borsh.u64('minInvestAmount'),
127
- borsh.u64('minInvestDelaySlots'),
128
- borsh.u64('crankFundFeePerReserve'),
129
- borsh.publicKey('pendingAdmin'),
130
- borsh.publicKey('vaultLookupTable'),
131
- borsh.i128('cumulativeNetEarnedYield'),
132
- borsh.u64('padding1'),
133
- borsh.array(borsh.u128(), 251, 'padding2'),
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((item) => new types.VaultAllocation({ ...item }));
156
- this.minDepositAmount = fields.minDepositAmount;
157
- this.minWithdrawAmount = fields.minWithdrawAmount;
158
- this.minInvestAmount = fields.minInvestAmount;
159
- this.minInvestDelaySlots = fields.minInvestDelaySlots;
160
- this.crankFundFeePerReserve = fields.crankFundFeePerReserve;
161
- this.pendingAdmin = fields.pendingAdmin;
162
- this.vaultLookupTable = fields.vaultLookupTable;
163
- this.cumulativeNetEarnedYield = fields.cumulativeNetEarnedYield;
164
- this.padding1 = fields.padding1;
165
- this.padding2 = fields.padding2;
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(c: Connection, address: PublicKey, programId: PublicKey = PROGRAM_ID): Promise<VaultState | null> {
169
- const info = await c.getAccountInfo(address);
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 (!VaultState.discriminator.equals(data.slice(0, 8))) {
202
- throw new Error('invalid account discriminator');
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
- (item: any /* eslint-disable-line @typescript-eslint/no-explicit-any */) =>
228
- types.VaultAllocation.fromDecoded(item)
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
- cumulativeNetEarnedYield: dec.cumulativeNetEarnedYield,
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) => item.toJSON()),
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
- cumulativeNetEarnedYield: this.cumulativeNetEarnedYield.toString(),
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) => types.VaultAllocation.fromJSON(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
- cumulativeNetEarnedYield: new BN(obj.cumulativeNetEarnedYield),
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
  }