@kamino-finance/klend-sdk 5.0.3 → 5.0.5

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