@voltr/vault-sdk 1.1.0 → 2.0.0

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 (503) hide show
  1. package/dist/extensions/batchFetchers.d.ts +7 -0
  2. package/dist/extensions/batchFetchers.d.ts.map +1 -0
  3. package/dist/extensions/batchFetchers.js +63 -0
  4. package/dist/extensions/batchFetchers.js.map +1 -0
  5. package/dist/extensions/decimal.d.ts +11 -0
  6. package/dist/extensions/decimal.d.ts.map +1 -0
  7. package/dist/extensions/decimal.js +19 -0
  8. package/dist/extensions/decimal.js.map +1 -0
  9. package/dist/extensions/fees.d.ts +6 -0
  10. package/dist/extensions/fees.d.ts.map +1 -0
  11. package/dist/extensions/fees.js +23 -0
  12. package/dist/extensions/fees.js.map +1 -0
  13. package/dist/extensions/index.d.ts +10 -0
  14. package/dist/extensions/index.d.ts.map +1 -0
  15. package/dist/extensions/index.js +26 -0
  16. package/dist/extensions/index.js.map +1 -0
  17. package/dist/extensions/lpEconomics.d.ts +27 -0
  18. package/dist/extensions/lpEconomics.d.ts.map +1 -0
  19. package/dist/extensions/lpEconomics.js +140 -0
  20. package/dist/extensions/lpEconomics.js.map +1 -0
  21. package/dist/extensions/math.d.ts +90 -0
  22. package/dist/extensions/math.d.ts.map +1 -0
  23. package/dist/extensions/math.js +182 -0
  24. package/dist/extensions/math.js.map +1 -0
  25. package/dist/extensions/metadataPda.d.ts +18 -0
  26. package/dist/extensions/metadataPda.d.ts.map +1 -0
  27. package/dist/extensions/metadataPda.js +34 -0
  28. package/dist/extensions/metadataPda.js.map +1 -0
  29. package/dist/extensions/position.d.ts +19 -0
  30. package/dist/extensions/position.d.ts.map +1 -0
  31. package/dist/extensions/position.js +28 -0
  32. package/dist/extensions/position.js.map +1 -0
  33. package/dist/extensions/rpc.d.ts +8 -0
  34. package/dist/extensions/rpc.d.ts.map +1 -0
  35. package/dist/{types/voltr_vault.js → extensions/rpc.js} +1 -0
  36. package/dist/extensions/rpc.js.map +1 -0
  37. package/dist/extensions/withdrawals.d.ts +16 -0
  38. package/dist/extensions/withdrawals.d.ts.map +1 -0
  39. package/dist/extensions/withdrawals.js +59 -0
  40. package/dist/extensions/withdrawals.js.map +1 -0
  41. package/dist/generated/accounts/adaptorAddReceipt.d.ts +57 -0
  42. package/dist/generated/accounts/adaptorAddReceipt.d.ts.map +1 -0
  43. package/dist/generated/accounts/adaptorAddReceipt.js +82 -0
  44. package/dist/generated/accounts/adaptorAddReceipt.js.map +1 -0
  45. package/dist/generated/accounts/directWithdrawInitReceipt.d.ts +60 -0
  46. package/dist/generated/accounts/directWithdrawInitReceipt.d.ts.map +1 -0
  47. package/dist/generated/accounts/directWithdrawInitReceipt.js +95 -0
  48. package/dist/generated/accounts/directWithdrawInitReceipt.js.map +1 -0
  49. package/dist/generated/accounts/index.d.ts +14 -0
  50. package/dist/generated/accounts/index.d.ts.map +1 -0
  51. package/dist/generated/accounts/index.js +30 -0
  52. package/dist/generated/accounts/index.js.map +1 -0
  53. package/dist/generated/accounts/protocol.d.ts +57 -0
  54. package/dist/generated/accounts/protocol.d.ts.map +1 -0
  55. package/dist/generated/accounts/protocol.js +82 -0
  56. package/dist/generated/accounts/protocol.js.map +1 -0
  57. package/dist/generated/accounts/requestWithdrawVaultReceipt.d.ts +43 -0
  58. package/dist/generated/accounts/requestWithdrawVaultReceipt.d.ts.map +1 -0
  59. package/dist/generated/accounts/requestWithdrawVaultReceipt.js +85 -0
  60. package/dist/generated/accounts/requestWithdrawVaultReceipt.js.map +1 -0
  61. package/dist/generated/accounts/strategyInitReceipt.d.ts +69 -0
  62. package/dist/generated/accounts/strategyInitReceipt.d.ts.map +1 -0
  63. package/dist/generated/accounts/strategyInitReceipt.js +91 -0
  64. package/dist/generated/accounts/strategyInitReceipt.js.map +1 -0
  65. package/dist/generated/accounts/vault.d.ts +100 -0
  66. package/dist/generated/accounts/vault.d.ts.map +1 -0
  67. package/dist/generated/accounts/vault.js +105 -0
  68. package/dist/generated/accounts/vault.js.map +1 -0
  69. package/dist/generated/errors/index.d.ts +9 -0
  70. package/dist/generated/errors/index.d.ts.map +1 -0
  71. package/dist/{types → generated/errors}/index.js +9 -2
  72. package/dist/generated/errors/index.js.map +1 -0
  73. package/dist/generated/errors/voltrVault.d.ts +52 -0
  74. package/dist/generated/errors/voltrVault.d.ts.map +1 -0
  75. package/dist/generated/errors/voltrVault.js +77 -0
  76. package/dist/generated/errors/voltrVault.js.map +1 -0
  77. package/dist/generated/index.d.ts +14 -0
  78. package/dist/generated/index.d.ts.map +1 -0
  79. package/dist/generated/index.js +30 -0
  80. package/dist/generated/index.js.map +1 -0
  81. package/dist/generated/instructions/acceptProtocolAdmin.d.ts +47 -0
  82. package/dist/generated/instructions/acceptProtocolAdmin.d.ts.map +1 -0
  83. package/dist/generated/instructions/acceptProtocolAdmin.js +103 -0
  84. package/dist/generated/instructions/acceptProtocolAdmin.js.map +1 -0
  85. package/dist/generated/instructions/acceptVaultAdmin.d.ts +40 -0
  86. package/dist/generated/instructions/acceptVaultAdmin.d.ts.map +1 -0
  87. package/dist/generated/instructions/acceptVaultAdmin.js +75 -0
  88. package/dist/generated/instructions/acceptVaultAdmin.js.map +1 -0
  89. package/dist/generated/instructions/addAdaptor.d.ts +67 -0
  90. package/dist/generated/instructions/addAdaptor.d.ts.map +1 -0
  91. package/dist/generated/instructions/addAdaptor.js +149 -0
  92. package/dist/generated/instructions/addAdaptor.js.map +1 -0
  93. package/dist/generated/instructions/calibrateHighWaterMark.d.ts +63 -0
  94. package/dist/generated/instructions/calibrateHighWaterMark.d.ts.map +1 -0
  95. package/dist/generated/instructions/calibrateHighWaterMark.js +150 -0
  96. package/dist/generated/instructions/calibrateHighWaterMark.js.map +1 -0
  97. package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.d.ts +55 -0
  98. package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.d.ts.map +1 -0
  99. package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.js +121 -0
  100. package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.js.map +1 -0
  101. package/dist/generated/instructions/cancelRequestWithdrawVault.d.ts +84 -0
  102. package/dist/generated/instructions/cancelRequestWithdrawVault.d.ts.map +1 -0
  103. package/dist/generated/instructions/cancelRequestWithdrawVault.js +208 -0
  104. package/dist/generated/instructions/cancelRequestWithdrawVault.js.map +1 -0
  105. package/dist/generated/instructions/closeStrategy.d.ts +67 -0
  106. package/dist/generated/instructions/closeStrategy.d.ts.map +1 -0
  107. package/dist/generated/instructions/closeStrategy.js +149 -0
  108. package/dist/generated/instructions/closeStrategy.js.map +1 -0
  109. package/dist/generated/instructions/createLpMetadata.d.ts +88 -0
  110. package/dist/generated/instructions/createLpMetadata.d.ts.map +1 -0
  111. package/dist/generated/instructions/createLpMetadata.js +194 -0
  112. package/dist/generated/instructions/createLpMetadata.js.map +1 -0
  113. package/dist/generated/instructions/depositStrategy.d.ts +111 -0
  114. package/dist/generated/instructions/depositStrategy.d.ts.map +1 -0
  115. package/dist/generated/instructions/depositStrategy.js +277 -0
  116. package/dist/generated/instructions/depositStrategy.js.map +1 -0
  117. package/dist/generated/instructions/depositVault.d.ts +108 -0
  118. package/dist/generated/instructions/depositVault.d.ts.map +1 -0
  119. package/dist/generated/instructions/depositVault.js +258 -0
  120. package/dist/generated/instructions/depositVault.js.map +1 -0
  121. package/dist/generated/instructions/directWithdrawStrategy.d.ts +125 -0
  122. package/dist/generated/instructions/directWithdrawStrategy.d.ts.map +1 -0
  123. package/dist/generated/instructions/directWithdrawStrategy.js +338 -0
  124. package/dist/generated/instructions/directWithdrawStrategy.js.map +1 -0
  125. package/dist/generated/instructions/directWithdrawStrategyWithTolerance.d.ts +129 -0
  126. package/dist/generated/instructions/directWithdrawStrategyWithTolerance.d.ts.map +1 -0
  127. package/dist/generated/instructions/directWithdrawStrategyWithTolerance.js +338 -0
  128. package/dist/generated/instructions/directWithdrawStrategyWithTolerance.js.map +1 -0
  129. package/dist/generated/instructions/harvestFee.d.ts +87 -0
  130. package/dist/generated/instructions/harvestFee.d.ts.map +1 -0
  131. package/dist/generated/instructions/harvestFee.js +220 -0
  132. package/dist/generated/instructions/harvestFee.js.map +1 -0
  133. package/dist/generated/instructions/index.d.ts +35 -0
  134. package/dist/generated/instructions/index.d.ts.map +1 -0
  135. package/dist/generated/instructions/index.js +51 -0
  136. package/dist/generated/instructions/index.js.map +1 -0
  137. package/dist/generated/instructions/initProtocol.d.ts +60 -0
  138. package/dist/generated/instructions/initProtocol.d.ts.map +1 -0
  139. package/dist/generated/instructions/initProtocol.js +130 -0
  140. package/dist/generated/instructions/initProtocol.js.map +1 -0
  141. package/dist/generated/instructions/initializeDirectWithdrawStrategy.d.ts +92 -0
  142. package/dist/generated/instructions/initializeDirectWithdrawStrategy.d.ts.map +1 -0
  143. package/dist/generated/instructions/initializeDirectWithdrawStrategy.js +214 -0
  144. package/dist/generated/instructions/initializeDirectWithdrawStrategy.js.map +1 -0
  145. package/dist/generated/instructions/initializeStrategy.d.ts +88 -0
  146. package/dist/generated/instructions/initializeStrategy.d.ts.map +1 -0
  147. package/dist/generated/instructions/initializeStrategy.js +210 -0
  148. package/dist/generated/instructions/initializeStrategy.js.map +1 -0
  149. package/dist/generated/instructions/initializeVault.d.ts +172 -0
  150. package/dist/generated/instructions/initializeVault.d.ts.map +1 -0
  151. package/dist/generated/instructions/initializeVault.js +289 -0
  152. package/dist/generated/instructions/initializeVault.js.map +1 -0
  153. package/dist/generated/instructions/instantWithdrawStrategy.d.ts +133 -0
  154. package/dist/generated/instructions/instantWithdrawStrategy.d.ts.map +1 -0
  155. package/dist/generated/instructions/instantWithdrawStrategy.js +320 -0
  156. package/dist/generated/instructions/instantWithdrawStrategy.js.map +1 -0
  157. package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.d.ts +137 -0
  158. package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.d.ts.map +1 -0
  159. package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.js +320 -0
  160. package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.js.map +1 -0
  161. package/dist/generated/instructions/instantWithdrawVault.d.ts +112 -0
  162. package/dist/generated/instructions/instantWithdrawVault.d.ts.map +1 -0
  163. package/dist/generated/instructions/instantWithdrawVault.js +249 -0
  164. package/dist/generated/instructions/instantWithdrawVault.js.map +1 -0
  165. package/dist/generated/instructions/removeAdaptor.d.ts +63 -0
  166. package/dist/generated/instructions/removeAdaptor.d.ts.map +1 -0
  167. package/dist/generated/instructions/removeAdaptor.js +144 -0
  168. package/dist/generated/instructions/removeAdaptor.js.map +1 -0
  169. package/dist/generated/instructions/requestWithdrawVault.d.ts +104 -0
  170. package/dist/generated/instructions/requestWithdrawVault.d.ts.map +1 -0
  171. package/dist/generated/instructions/requestWithdrawVault.js +225 -0
  172. package/dist/generated/instructions/requestWithdrawVault.js.map +1 -0
  173. package/dist/generated/instructions/updateProtocol.d.ts +57 -0
  174. package/dist/generated/instructions/updateProtocol.d.ts.map +1 -0
  175. package/dist/generated/instructions/updateProtocol.js +111 -0
  176. package/dist/generated/instructions/updateProtocol.js.map +1 -0
  177. package/dist/generated/instructions/updateVaultConfig.d.ts +65 -0
  178. package/dist/generated/instructions/updateVaultConfig.d.ts.map +1 -0
  179. package/dist/generated/instructions/updateVaultConfig.js +133 -0
  180. package/dist/generated/instructions/updateVaultConfig.js.map +1 -0
  181. package/dist/generated/instructions/updateVaultProtocolFee.d.ts +65 -0
  182. package/dist/generated/instructions/updateVaultProtocolFee.d.ts.map +1 -0
  183. package/dist/generated/instructions/updateVaultProtocolFee.js +132 -0
  184. package/dist/generated/instructions/updateVaultProtocolFee.js.map +1 -0
  185. package/dist/generated/instructions/withdrawStrategy.d.ts +111 -0
  186. package/dist/generated/instructions/withdrawStrategy.d.ts.map +1 -0
  187. package/dist/generated/instructions/withdrawStrategy.js +277 -0
  188. package/dist/generated/instructions/withdrawStrategy.js.map +1 -0
  189. package/dist/generated/instructions/withdrawVault.d.ts +103 -0
  190. package/dist/generated/instructions/withdrawVault.d.ts.map +1 -0
  191. package/dist/generated/instructions/withdrawVault.js +258 -0
  192. package/dist/generated/instructions/withdrawVault.js.map +1 -0
  193. package/dist/generated/pdas/adaptorAddReceipt.d.ts +16 -0
  194. package/dist/generated/pdas/adaptorAddReceipt.d.ts.map +1 -0
  195. package/dist/generated/pdas/adaptorAddReceipt.js +26 -0
  196. package/dist/generated/pdas/adaptorAddReceipt.js.map +1 -0
  197. package/dist/generated/pdas/directWithdrawInitReceipt.d.ts +16 -0
  198. package/dist/generated/pdas/directWithdrawInitReceipt.d.ts.map +1 -0
  199. package/dist/generated/pdas/directWithdrawInitReceipt.js +26 -0
  200. package/dist/generated/pdas/directWithdrawInitReceipt.js.map +1 -0
  201. package/dist/generated/pdas/index.d.ts +17 -0
  202. package/dist/generated/pdas/index.d.ts.map +1 -0
  203. package/dist/generated/pdas/index.js +33 -0
  204. package/dist/generated/pdas/index.js.map +1 -0
  205. package/dist/generated/pdas/protocol.d.ts +12 -0
  206. package/dist/generated/pdas/protocol.d.ts.map +1 -0
  207. package/dist/generated/pdas/protocol.js +21 -0
  208. package/dist/generated/pdas/protocol.js.map +1 -0
  209. package/dist/generated/pdas/requestWithdrawVaultReceipt.d.ts +16 -0
  210. package/dist/generated/pdas/requestWithdrawVaultReceipt.d.ts.map +1 -0
  211. package/dist/generated/pdas/requestWithdrawVaultReceipt.js +27 -0
  212. package/dist/generated/pdas/requestWithdrawVaultReceipt.js.map +1 -0
  213. package/dist/generated/pdas/strategyInitReceipt.d.ts +16 -0
  214. package/dist/generated/pdas/strategyInitReceipt.d.ts.map +1 -0
  215. package/dist/generated/pdas/strategyInitReceipt.js +26 -0
  216. package/dist/generated/pdas/strategyInitReceipt.js.map +1 -0
  217. package/dist/generated/pdas/vaultAssetIdleAuth.d.ts +15 -0
  218. package/dist/generated/pdas/vaultAssetIdleAuth.d.ts.map +1 -0
  219. package/dist/generated/pdas/vaultAssetIdleAuth.js +25 -0
  220. package/dist/generated/pdas/vaultAssetIdleAuth.js.map +1 -0
  221. package/dist/generated/pdas/vaultLpMint.d.ts +15 -0
  222. package/dist/generated/pdas/vaultLpMint.d.ts.map +1 -0
  223. package/dist/generated/pdas/vaultLpMint.js +24 -0
  224. package/dist/generated/pdas/vaultLpMint.js.map +1 -0
  225. package/dist/generated/pdas/vaultLpMintAuth.d.ts +15 -0
  226. package/dist/generated/pdas/vaultLpMintAuth.d.ts.map +1 -0
  227. package/dist/generated/pdas/vaultLpMintAuth.js +25 -0
  228. package/dist/generated/pdas/vaultLpMintAuth.js.map +1 -0
  229. package/dist/generated/pdas/vaultStrategyAuth.d.ts +16 -0
  230. package/dist/generated/pdas/vaultStrategyAuth.d.ts.map +1 -0
  231. package/dist/generated/pdas/vaultStrategyAuth.js +26 -0
  232. package/dist/generated/pdas/vaultStrategyAuth.js.map +1 -0
  233. package/dist/generated/programs/index.d.ts +9 -0
  234. package/dist/generated/programs/index.d.ts.map +1 -0
  235. package/dist/generated/programs/index.js +25 -0
  236. package/dist/generated/programs/index.js.map +1 -0
  237. package/dist/generated/programs/voltrVault.d.ts +172 -0
  238. package/dist/generated/programs/voltrVault.d.ts.map +1 -0
  239. package/dist/generated/programs/voltrVault.js +447 -0
  240. package/dist/generated/programs/voltrVault.js.map +1 -0
  241. package/dist/generated/types/acceptProtocolAdminEvent.d.ts +24 -0
  242. package/dist/generated/types/acceptProtocolAdminEvent.d.ts.map +1 -0
  243. package/dist/generated/types/acceptProtocolAdminEvent.js +33 -0
  244. package/dist/generated/types/acceptProtocolAdminEvent.js.map +1 -0
  245. package/dist/generated/types/acceptVaultAdminEvent.d.ts +24 -0
  246. package/dist/generated/types/acceptVaultAdminEvent.d.ts.map +1 -0
  247. package/dist/generated/types/acceptVaultAdminEvent.js +33 -0
  248. package/dist/generated/types/acceptVaultAdminEvent.js.map +1 -0
  249. package/dist/generated/types/addAdaptorEvent.d.ts +28 -0
  250. package/dist/generated/types/addAdaptorEvent.d.ts.map +1 -0
  251. package/dist/generated/types/addAdaptorEvent.js +37 -0
  252. package/dist/generated/types/addAdaptorEvent.js.map +1 -0
  253. package/dist/generated/types/calibrateHighWaterMarkEvent.d.ts +34 -0
  254. package/dist/generated/types/calibrateHighWaterMarkEvent.d.ts.map +1 -0
  255. package/dist/generated/types/calibrateHighWaterMarkEvent.js +43 -0
  256. package/dist/generated/types/calibrateHighWaterMarkEvent.js.map +1 -0
  257. package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.d.ts +30 -0
  258. package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.d.ts.map +1 -0
  259. package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.js +39 -0
  260. package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.js.map +1 -0
  261. package/dist/generated/types/cancelRequestWithdrawVaultEvent.d.ts +32 -0
  262. package/dist/generated/types/cancelRequestWithdrawVaultEvent.d.ts.map +1 -0
  263. package/dist/generated/types/cancelRequestWithdrawVaultEvent.js +41 -0
  264. package/dist/generated/types/cancelRequestWithdrawVaultEvent.js.map +1 -0
  265. package/dist/generated/types/closeStrategyEvent.d.ts +26 -0
  266. package/dist/generated/types/closeStrategyEvent.d.ts.map +1 -0
  267. package/dist/generated/types/closeStrategyEvent.js +35 -0
  268. package/dist/generated/types/closeStrategyEvent.js.map +1 -0
  269. package/dist/generated/types/depositStrategyEvent.d.ts +52 -0
  270. package/dist/generated/types/depositStrategyEvent.d.ts.map +1 -0
  271. package/dist/generated/types/depositStrategyEvent.js +61 -0
  272. package/dist/generated/types/depositStrategyEvent.js.map +1 -0
  273. package/dist/generated/types/depositVaultEvent.d.ts +48 -0
  274. package/dist/generated/types/depositVaultEvent.d.ts.map +1 -0
  275. package/dist/generated/types/depositVaultEvent.js +57 -0
  276. package/dist/generated/types/depositVaultEvent.js.map +1 -0
  277. package/dist/generated/types/directWithdrawStrategyEvent.d.ts +62 -0
  278. package/dist/generated/types/directWithdrawStrategyEvent.d.ts.map +1 -0
  279. package/dist/generated/types/directWithdrawStrategyEvent.js +71 -0
  280. package/dist/generated/types/directWithdrawStrategyEvent.js.map +1 -0
  281. package/dist/generated/types/feeConfiguration.d.ts +33 -0
  282. package/dist/generated/types/feeConfiguration.d.ts.map +1 -0
  283. package/dist/generated/types/feeConfiguration.js +43 -0
  284. package/dist/generated/types/feeConfiguration.js.map +1 -0
  285. package/dist/generated/types/feeState.d.ts +32 -0
  286. package/dist/generated/types/feeState.d.ts.map +1 -0
  287. package/dist/generated/types/feeState.js +33 -0
  288. package/dist/generated/types/feeState.js.map +1 -0
  289. package/dist/generated/types/feeUpdate.d.ts +24 -0
  290. package/dist/generated/types/feeUpdate.d.ts.map +1 -0
  291. package/dist/generated/types/feeUpdate.js +29 -0
  292. package/dist/generated/types/feeUpdate.js.map +1 -0
  293. package/dist/generated/types/harvestFeeEvent.d.ts +32 -0
  294. package/dist/generated/types/harvestFeeEvent.d.ts.map +1 -0
  295. package/dist/generated/types/harvestFeeEvent.js +41 -0
  296. package/dist/generated/types/harvestFeeEvent.js.map +1 -0
  297. package/dist/generated/types/highWaterMark.d.ts +28 -0
  298. package/dist/generated/types/highWaterMark.d.ts.map +1 -0
  299. package/dist/generated/types/highWaterMark.js +31 -0
  300. package/dist/generated/types/highWaterMark.js.map +1 -0
  301. package/dist/generated/types/index.d.ts +44 -0
  302. package/dist/generated/types/index.d.ts.map +1 -0
  303. package/dist/generated/types/index.js +60 -0
  304. package/dist/generated/types/index.js.map +1 -0
  305. package/dist/generated/types/initProtocolEvent.d.ts +22 -0
  306. package/dist/generated/types/initProtocolEvent.d.ts.map +1 -0
  307. package/dist/generated/types/initProtocolEvent.js +31 -0
  308. package/dist/generated/types/initProtocolEvent.js.map +1 -0
  309. package/dist/generated/types/initializeDirectWithdrawStrategyEvent.d.ts +34 -0
  310. package/dist/generated/types/initializeDirectWithdrawStrategyEvent.d.ts.map +1 -0
  311. package/dist/generated/types/initializeDirectWithdrawStrategyEvent.js +55 -0
  312. package/dist/generated/types/initializeDirectWithdrawStrategyEvent.js.map +1 -0
  313. package/dist/generated/types/initializeStrategyEvent.d.ts +32 -0
  314. package/dist/generated/types/initializeStrategyEvent.d.ts.map +1 -0
  315. package/dist/generated/types/initializeStrategyEvent.js +41 -0
  316. package/dist/generated/types/initializeStrategyEvent.js.map +1 -0
  317. package/dist/generated/types/initializeVaultEvent.d.ts +56 -0
  318. package/dist/generated/types/initializeVaultEvent.d.ts.map +1 -0
  319. package/dist/generated/types/initializeVaultEvent.js +71 -0
  320. package/dist/generated/types/initializeVaultEvent.js.map +1 -0
  321. package/dist/generated/types/instantWithdrawStrategyEvent.d.ts +68 -0
  322. package/dist/generated/types/instantWithdrawStrategyEvent.d.ts.map +1 -0
  323. package/dist/generated/types/instantWithdrawStrategyEvent.js +77 -0
  324. package/dist/generated/types/instantWithdrawStrategyEvent.js.map +1 -0
  325. package/dist/generated/types/instantWithdrawVaultEvent.d.ts +56 -0
  326. package/dist/generated/types/instantWithdrawVaultEvent.d.ts.map +1 -0
  327. package/dist/generated/types/instantWithdrawVaultEvent.js +65 -0
  328. package/dist/generated/types/instantWithdrawVaultEvent.js.map +1 -0
  329. package/dist/generated/types/lockedProfitState.d.ts +20 -0
  330. package/dist/generated/types/lockedProfitState.d.ts.map +1 -0
  331. package/dist/generated/types/lockedProfitState.js +29 -0
  332. package/dist/generated/types/lockedProfitState.js.map +1 -0
  333. package/dist/generated/types/protocolConfigField.d.ts +17 -0
  334. package/dist/generated/types/protocolConfigField.d.ts.map +1 -0
  335. package/dist/generated/types/protocolConfigField.js +29 -0
  336. package/dist/generated/types/protocolConfigField.js.map +1 -0
  337. package/dist/generated/types/protocolFeeField.d.ts +17 -0
  338. package/dist/generated/types/protocolFeeField.d.ts.map +1 -0
  339. package/dist/generated/types/protocolFeeField.js +29 -0
  340. package/dist/generated/types/protocolFeeField.js.map +1 -0
  341. package/dist/generated/types/removeAdaptorEvent.d.ts +26 -0
  342. package/dist/generated/types/removeAdaptorEvent.d.ts.map +1 -0
  343. package/dist/generated/types/removeAdaptorEvent.js +35 -0
  344. package/dist/generated/types/removeAdaptorEvent.js.map +1 -0
  345. package/dist/generated/types/requestWithdrawVaultEvent.d.ts +44 -0
  346. package/dist/generated/types/requestWithdrawVaultEvent.d.ts.map +1 -0
  347. package/dist/generated/types/requestWithdrawVaultEvent.js +53 -0
  348. package/dist/generated/types/requestWithdrawVaultEvent.js.map +1 -0
  349. package/dist/generated/types/updateProtocolEvent.d.ts +28 -0
  350. package/dist/generated/types/updateProtocolEvent.d.ts.map +1 -0
  351. package/dist/generated/types/updateProtocolEvent.js +37 -0
  352. package/dist/generated/types/updateProtocolEvent.js.map +1 -0
  353. package/dist/generated/types/updateVaultConfigEvent.d.ts +28 -0
  354. package/dist/generated/types/updateVaultConfigEvent.d.ts.map +1 -0
  355. package/dist/generated/types/updateVaultConfigEvent.js +37 -0
  356. package/dist/generated/types/updateVaultConfigEvent.js.map +1 -0
  357. package/dist/generated/types/updateVaultEvent.d.ts +62 -0
  358. package/dist/generated/types/updateVaultEvent.d.ts.map +1 -0
  359. package/dist/generated/types/updateVaultEvent.js +71 -0
  360. package/dist/generated/types/updateVaultEvent.js.map +1 -0
  361. package/dist/generated/types/updateVaultProtocolFeeEvent.d.ts +28 -0
  362. package/dist/generated/types/updateVaultProtocolFeeEvent.d.ts.map +1 -0
  363. package/dist/generated/types/updateVaultProtocolFeeEvent.js +37 -0
  364. package/dist/generated/types/updateVaultProtocolFeeEvent.js.map +1 -0
  365. package/dist/generated/types/vaultAsset.d.ts +36 -0
  366. package/dist/generated/types/vaultAsset.d.ts.map +1 -0
  367. package/dist/generated/types/vaultAsset.js +35 -0
  368. package/dist/generated/types/vaultAsset.js.map +1 -0
  369. package/dist/generated/types/vaultConfigField.d.ts +28 -0
  370. package/dist/generated/types/vaultConfigField.d.ts.map +1 -0
  371. package/dist/generated/types/vaultConfigField.js +40 -0
  372. package/dist/generated/types/vaultConfigField.js.map +1 -0
  373. package/dist/generated/types/vaultConfiguration.d.ts +40 -0
  374. package/dist/generated/types/vaultConfiguration.d.ts.map +1 -0
  375. package/dist/generated/types/vaultConfiguration.js +37 -0
  376. package/dist/generated/types/vaultConfiguration.js.map +1 -0
  377. package/dist/generated/types/vaultLp.d.ts +23 -0
  378. package/dist/generated/types/vaultLp.d.ts.map +1 -0
  379. package/dist/generated/types/vaultLp.js +33 -0
  380. package/dist/generated/types/vaultLp.js.map +1 -0
  381. package/dist/generated/types/withdrawStrategyEvent.d.ts +52 -0
  382. package/dist/generated/types/withdrawStrategyEvent.d.ts.map +1 -0
  383. package/dist/generated/types/withdrawStrategyEvent.js +61 -0
  384. package/dist/generated/types/withdrawStrategyEvent.js.map +1 -0
  385. package/dist/generated/types/withdrawVaultEvent.d.ts +50 -0
  386. package/dist/generated/types/withdrawVaultEvent.d.ts.map +1 -0
  387. package/dist/generated/types/withdrawVaultEvent.js +59 -0
  388. package/dist/generated/types/withdrawVaultEvent.js.map +1 -0
  389. package/dist/index.d.ts +3 -4
  390. package/dist/index.d.ts.map +1 -0
  391. package/dist/index.js +3 -4
  392. package/dist/index.js.map +1 -0
  393. package/package.json +31 -27
  394. package/src/extensions/batchFetchers.ts +121 -0
  395. package/src/extensions/decimal.ts +15 -0
  396. package/src/extensions/fees.ts +36 -0
  397. package/src/extensions/index.ts +9 -0
  398. package/src/extensions/lpEconomics.ts +225 -0
  399. package/src/extensions/math.ts +338 -0
  400. package/src/extensions/metadataPda.ts +47 -0
  401. package/src/extensions/position.ts +54 -0
  402. package/src/extensions/rpc.ts +17 -0
  403. package/src/extensions/withdrawals.ts +113 -0
  404. package/src/generated/accounts/adaptorAddReceipt.ts +194 -0
  405. package/src/generated/accounts/directWithdrawInitReceipt.ts +235 -0
  406. package/src/generated/accounts/index.ts +14 -0
  407. package/src/generated/accounts/protocol.ts +176 -0
  408. package/src/generated/accounts/requestWithdrawVaultReceipt.ts +197 -0
  409. package/src/generated/accounts/strategyInitReceipt.ts +221 -0
  410. package/src/generated/accounts/vault.ts +274 -0
  411. package/src/generated/errors/index.ts +9 -0
  412. package/src/generated/errors/voltrVault.ts +112 -0
  413. package/src/generated/index.ts +14 -0
  414. package/src/generated/instructions/acceptProtocolAdmin.ts +248 -0
  415. package/src/generated/instructions/acceptVaultAdmin.ts +187 -0
  416. package/src/generated/instructions/addAdaptor.ts +391 -0
  417. package/src/generated/instructions/calibrateHighWaterMark.ts +394 -0
  418. package/src/generated/instructions/calibrateHighWaterMarkUnsafe.ts +311 -0
  419. package/src/generated/instructions/cancelRequestWithdrawVault.ts +546 -0
  420. package/src/generated/instructions/closeStrategy.ts +395 -0
  421. package/src/generated/instructions/createLpMetadata.ts +501 -0
  422. package/src/generated/instructions/depositStrategy.ts +737 -0
  423. package/src/generated/instructions/depositVault.ts +686 -0
  424. package/src/generated/instructions/directWithdrawStrategy.ts +903 -0
  425. package/src/generated/instructions/directWithdrawStrategyWithTolerance.ts +913 -0
  426. package/src/generated/instructions/harvestFee.ts +599 -0
  427. package/src/generated/instructions/index.ts +35 -0
  428. package/src/generated/instructions/initProtocol.ts +329 -0
  429. package/src/generated/instructions/initializeDirectWithdrawStrategy.ts +576 -0
  430. package/src/generated/instructions/initializeStrategy.ts +557 -0
  431. package/src/generated/instructions/initializeVault.ts +784 -0
  432. package/src/generated/instructions/instantWithdrawStrategy.ts +870 -0
  433. package/src/generated/instructions/instantWithdrawStrategyWithTolerance.ts +878 -0
  434. package/src/generated/instructions/instantWithdrawVault.ts +670 -0
  435. package/src/generated/instructions/removeAdaptor.ts +371 -0
  436. package/src/generated/instructions/requestWithdrawVault.ts +608 -0
  437. package/src/generated/instructions/updateProtocol.ts +270 -0
  438. package/src/generated/instructions/updateVaultConfig.ts +343 -0
  439. package/src/generated/instructions/updateVaultProtocolFee.ts +344 -0
  440. package/src/generated/instructions/withdrawStrategy.ts +737 -0
  441. package/src/generated/instructions/withdrawVault.ts +685 -0
  442. package/src/generated/pdas/adaptorAddReceipt.ts +42 -0
  443. package/src/generated/pdas/directWithdrawInitReceipt.ts +42 -0
  444. package/src/generated/pdas/index.ts +17 -0
  445. package/src/generated/pdas/protocol.ts +30 -0
  446. package/src/generated/pdas/requestWithdrawVaultReceipt.ts +43 -0
  447. package/src/generated/pdas/strategyInitReceipt.ts +42 -0
  448. package/src/generated/pdas/vaultAssetIdleAuth.ts +40 -0
  449. package/src/generated/pdas/vaultLpMint.ts +39 -0
  450. package/src/generated/pdas/vaultLpMintAuth.ts +40 -0
  451. package/src/generated/pdas/vaultStrategyAuth.ts +42 -0
  452. package/src/generated/programs/index.ts +9 -0
  453. package/src/generated/programs/voltrVault.ts +1261 -0
  454. package/src/generated/types/acceptProtocolAdminEvent.ts +63 -0
  455. package/src/generated/types/acceptVaultAdminEvent.ts +63 -0
  456. package/src/generated/types/addAdaptorEvent.ts +68 -0
  457. package/src/generated/types/calibrateHighWaterMarkEvent.ts +85 -0
  458. package/src/generated/types/calibrateHighWaterMarkUnsafeEvent.ts +77 -0
  459. package/src/generated/types/cancelRequestWithdrawVaultEvent.ts +81 -0
  460. package/src/generated/types/closeStrategyEvent.ts +67 -0
  461. package/src/generated/types/depositStrategyEvent.ts +121 -0
  462. package/src/generated/types/depositVaultEvent.ts +113 -0
  463. package/src/generated/types/directWithdrawStrategyEvent.ts +141 -0
  464. package/src/generated/types/feeConfiguration.ts +84 -0
  465. package/src/generated/types/feeState.ts +67 -0
  466. package/src/generated/types/feeUpdate.ts +50 -0
  467. package/src/generated/types/harvestFeeEvent.ts +76 -0
  468. package/src/generated/types/highWaterMark.ts +66 -0
  469. package/src/generated/types/index.ts +44 -0
  470. package/src/generated/types/initProtocolEvent.ts +61 -0
  471. package/src/generated/types/initializeDirectWithdrawStrategyEvent.ts +104 -0
  472. package/src/generated/types/initializeStrategyEvent.ts +81 -0
  473. package/src/generated/types/initializeVaultEvent.ts +141 -0
  474. package/src/generated/types/instantWithdrawStrategyEvent.ts +155 -0
  475. package/src/generated/types/instantWithdrawVaultEvent.ts +131 -0
  476. package/src/generated/types/lockedProfitState.ts +52 -0
  477. package/src/generated/types/protocolConfigField.ts +41 -0
  478. package/src/generated/types/protocolFeeField.ts +41 -0
  479. package/src/generated/types/removeAdaptorEvent.ts +67 -0
  480. package/src/generated/types/requestWithdrawVaultEvent.ts +107 -0
  481. package/src/generated/types/updateProtocolEvent.ts +77 -0
  482. package/src/generated/types/updateVaultConfigEvent.ts +77 -0
  483. package/src/generated/types/updateVaultEvent.ts +141 -0
  484. package/src/generated/types/updateVaultProtocolFeeEvent.ts +79 -0
  485. package/src/generated/types/vaultAsset.ts +81 -0
  486. package/src/generated/types/vaultConfigField.ts +52 -0
  487. package/src/generated/types/vaultConfiguration.ts +87 -0
  488. package/src/generated/types/vaultLp.ts +61 -0
  489. package/src/generated/types/withdrawStrategyEvent.ts +121 -0
  490. package/src/generated/types/withdrawVaultEvent.ts +117 -0
  491. package/src/index.ts +2 -0
  492. package/README.md +0 -453
  493. package/dist/client.d.ts +0 -1544
  494. package/dist/client.js +0 -1962
  495. package/dist/constants.d.ts +0 -20
  496. package/dist/constants.js +0 -27
  497. package/dist/decimals.d.ts +0 -3
  498. package/dist/decimals.js +0 -10
  499. package/dist/idl/voltr_vault.json +0 -9029
  500. package/dist/types/index.d.ts +0 -2
  501. package/dist/types/vault.d.ts +0 -70
  502. package/dist/types/vault.js +0 -29
  503. package/dist/types/voltr_vault.d.ts +0 -9035
@@ -0,0 +1,784 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+
9
+ import {
10
+ addDecoderSizePrefix,
11
+ addEncoderSizePrefix,
12
+ combineCodec,
13
+ fixDecoderSize,
14
+ fixEncoderSize,
15
+ getBytesDecoder,
16
+ getBytesEncoder,
17
+ getStructDecoder,
18
+ getStructEncoder,
19
+ getU16Decoder,
20
+ getU16Encoder,
21
+ getU32Decoder,
22
+ getU32Encoder,
23
+ getU64Decoder,
24
+ getU64Encoder,
25
+ getUtf8Decoder,
26
+ getUtf8Encoder,
27
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
28
+ SolanaError,
29
+ transformEncoder,
30
+ type AccountMeta,
31
+ type AccountSignerMeta,
32
+ type Address,
33
+ type Codec,
34
+ type Decoder,
35
+ type Encoder,
36
+ type Instruction,
37
+ type InstructionWithAccounts,
38
+ type InstructionWithData,
39
+ type ReadonlyAccount,
40
+ type ReadonlyUint8Array,
41
+ type TransactionSigner,
42
+ type WritableAccount,
43
+ type WritableSignerAccount,
44
+ } from "@solana/kit";
45
+ import {
46
+ getAccountMetaFactory,
47
+ getAddressFromResolvedInstructionAccount,
48
+ type ResolvedInstructionAccount,
49
+ } from "@solana/program-client-core";
50
+ import {
51
+ findProtocolPda,
52
+ findVaultAssetIdleAuthPda,
53
+ findVaultLpMintAuthPda,
54
+ findVaultLpMintPda,
55
+ } from "../pdas";
56
+ import { VOLTR_VAULT_PROGRAM_ADDRESS } from "../programs";
57
+
58
+ export const INITIALIZE_VAULT_DISCRIMINATOR = new Uint8Array([
59
+ 48, 191, 163, 44, 71, 129, 63, 164,
60
+ ]);
61
+
62
+ export function getInitializeVaultDiscriminatorBytes() {
63
+ return fixEncoderSize(getBytesEncoder(), 8).encode(
64
+ INITIALIZE_VAULT_DISCRIMINATOR,
65
+ );
66
+ }
67
+
68
+ export type InitializeVaultInstruction<
69
+ TProgram extends string = typeof VOLTR_VAULT_PROGRAM_ADDRESS,
70
+ TAccountPayer extends string | AccountMeta<string> = string,
71
+ TAccountManager extends string | AccountMeta<string> = string,
72
+ TAccountAdmin extends string | AccountMeta<string> = string,
73
+ TAccountProtocol extends string | AccountMeta<string> = string,
74
+ TAccountVault extends string | AccountMeta<string> = string,
75
+ TAccountVaultLpMint extends string | AccountMeta<string> = string,
76
+ TAccountVaultAssetMint extends string | AccountMeta<string> = string,
77
+ TAccountVaultAssetIdleAta extends string | AccountMeta<string> = string,
78
+ TAccountVaultLpMintAuth extends string | AccountMeta<string> = string,
79
+ TAccountVaultAssetIdleAuth extends string | AccountMeta<string> = string,
80
+ TAccountClock extends string | AccountMeta<string> =
81
+ "SysvarC1ock11111111111111111111111111111111",
82
+ TAccountRent extends string | AccountMeta<string> =
83
+ "SysvarRent111111111111111111111111111111111",
84
+ TAccountAssociatedTokenProgram extends string | AccountMeta<string> =
85
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
86
+ TAccountAssetTokenProgram extends string | AccountMeta<string> = string,
87
+ TAccountLpTokenProgram extends string | AccountMeta<string> =
88
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
89
+ TAccountSystemProgram extends string | AccountMeta<string> =
90
+ "11111111111111111111111111111111",
91
+ TRemainingAccounts extends readonly AccountMeta<string>[] = [],
92
+ > = Instruction<TProgram> &
93
+ InstructionWithData<ReadonlyUint8Array> &
94
+ InstructionWithAccounts<
95
+ [
96
+ TAccountPayer extends string
97
+ ? WritableSignerAccount<TAccountPayer> &
98
+ AccountSignerMeta<TAccountPayer>
99
+ : TAccountPayer,
100
+ TAccountManager extends string
101
+ ? ReadonlyAccount<TAccountManager>
102
+ : TAccountManager,
103
+ TAccountAdmin extends string
104
+ ? ReadonlyAccount<TAccountAdmin>
105
+ : TAccountAdmin,
106
+ TAccountProtocol extends string
107
+ ? ReadonlyAccount<TAccountProtocol>
108
+ : TAccountProtocol,
109
+ TAccountVault extends string
110
+ ? WritableSignerAccount<TAccountVault> &
111
+ AccountSignerMeta<TAccountVault>
112
+ : TAccountVault,
113
+ TAccountVaultLpMint extends string
114
+ ? WritableAccount<TAccountVaultLpMint>
115
+ : TAccountVaultLpMint,
116
+ TAccountVaultAssetMint extends string
117
+ ? ReadonlyAccount<TAccountVaultAssetMint>
118
+ : TAccountVaultAssetMint,
119
+ TAccountVaultAssetIdleAta extends string
120
+ ? WritableAccount<TAccountVaultAssetIdleAta>
121
+ : TAccountVaultAssetIdleAta,
122
+ TAccountVaultLpMintAuth extends string
123
+ ? ReadonlyAccount<TAccountVaultLpMintAuth>
124
+ : TAccountVaultLpMintAuth,
125
+ TAccountVaultAssetIdleAuth extends string
126
+ ? ReadonlyAccount<TAccountVaultAssetIdleAuth>
127
+ : TAccountVaultAssetIdleAuth,
128
+ TAccountClock extends string
129
+ ? ReadonlyAccount<TAccountClock>
130
+ : TAccountClock,
131
+ TAccountRent extends string
132
+ ? ReadonlyAccount<TAccountRent>
133
+ : TAccountRent,
134
+ TAccountAssociatedTokenProgram extends string
135
+ ? ReadonlyAccount<TAccountAssociatedTokenProgram>
136
+ : TAccountAssociatedTokenProgram,
137
+ TAccountAssetTokenProgram extends string
138
+ ? ReadonlyAccount<TAccountAssetTokenProgram>
139
+ : TAccountAssetTokenProgram,
140
+ TAccountLpTokenProgram extends string
141
+ ? ReadonlyAccount<TAccountLpTokenProgram>
142
+ : TAccountLpTokenProgram,
143
+ TAccountSystemProgram extends string
144
+ ? ReadonlyAccount<TAccountSystemProgram>
145
+ : TAccountSystemProgram,
146
+ ...TRemainingAccounts,
147
+ ]
148
+ >;
149
+
150
+ export type InitializeVaultInstructionData = {
151
+ discriminator: ReadonlyUint8Array;
152
+ /** The maximum total amount allowed in the vault. */
153
+ maxCap: bigint;
154
+ /** active from timestamp */
155
+ startAtTs: bigint;
156
+ /** Manager performance fee in basis points (BPS). */
157
+ managerPerformanceFee: number;
158
+ /** Admin performance fee in basis points (BPS). */
159
+ adminPerformanceFee: number;
160
+ /** Manager management fee in basis points (BPS). */
161
+ managerManagementFee: number;
162
+ /** Admin management fee in basis points (BPS). */
163
+ adminManagementFee: number;
164
+ /** The locked profit degradation duration. */
165
+ lockedProfitDegradationDuration: bigint;
166
+ /** The redemption fee in basis points (BPS). */
167
+ redemptionFee: number;
168
+ /** The issuance fee in basis points (BPS). */
169
+ issuanceFee: number;
170
+ /** The waiting period for a withdrawal. */
171
+ withdrawalWaitingPeriod: bigint;
172
+ name: string;
173
+ description: string;
174
+ };
175
+
176
+ export type InitializeVaultInstructionDataArgs = {
177
+ /** The maximum total amount allowed in the vault. */
178
+ maxCap: number | bigint;
179
+ /** active from timestamp */
180
+ startAtTs: number | bigint;
181
+ /** Manager performance fee in basis points (BPS). */
182
+ managerPerformanceFee: number;
183
+ /** Admin performance fee in basis points (BPS). */
184
+ adminPerformanceFee: number;
185
+ /** Manager management fee in basis points (BPS). */
186
+ managerManagementFee: number;
187
+ /** Admin management fee in basis points (BPS). */
188
+ adminManagementFee: number;
189
+ /** The locked profit degradation duration. */
190
+ lockedProfitDegradationDuration: number | bigint;
191
+ /** The redemption fee in basis points (BPS). */
192
+ redemptionFee: number;
193
+ /** The issuance fee in basis points (BPS). */
194
+ issuanceFee: number;
195
+ /** The waiting period for a withdrawal. */
196
+ withdrawalWaitingPeriod: number | bigint;
197
+ name: string;
198
+ description: string;
199
+ };
200
+
201
+ export function getInitializeVaultInstructionDataEncoder(): Encoder<InitializeVaultInstructionDataArgs> {
202
+ return transformEncoder(
203
+ getStructEncoder([
204
+ ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
205
+ ["maxCap", getU64Encoder()],
206
+ ["startAtTs", getU64Encoder()],
207
+ ["managerPerformanceFee", getU16Encoder()],
208
+ ["adminPerformanceFee", getU16Encoder()],
209
+ ["managerManagementFee", getU16Encoder()],
210
+ ["adminManagementFee", getU16Encoder()],
211
+ ["lockedProfitDegradationDuration", getU64Encoder()],
212
+ ["redemptionFee", getU16Encoder()],
213
+ ["issuanceFee", getU16Encoder()],
214
+ ["withdrawalWaitingPeriod", getU64Encoder()],
215
+ ["name", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],
216
+ ["description", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],
217
+ ]),
218
+ (value) => ({ ...value, discriminator: INITIALIZE_VAULT_DISCRIMINATOR }),
219
+ );
220
+ }
221
+
222
+ export function getInitializeVaultInstructionDataDecoder(): Decoder<InitializeVaultInstructionData> {
223
+ return getStructDecoder([
224
+ ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
225
+ ["maxCap", getU64Decoder()],
226
+ ["startAtTs", getU64Decoder()],
227
+ ["managerPerformanceFee", getU16Decoder()],
228
+ ["adminPerformanceFee", getU16Decoder()],
229
+ ["managerManagementFee", getU16Decoder()],
230
+ ["adminManagementFee", getU16Decoder()],
231
+ ["lockedProfitDegradationDuration", getU64Decoder()],
232
+ ["redemptionFee", getU16Decoder()],
233
+ ["issuanceFee", getU16Decoder()],
234
+ ["withdrawalWaitingPeriod", getU64Decoder()],
235
+ ["name", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],
236
+ ["description", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],
237
+ ]);
238
+ }
239
+
240
+ export function getInitializeVaultInstructionDataCodec(): Codec<
241
+ InitializeVaultInstructionDataArgs,
242
+ InitializeVaultInstructionData
243
+ > {
244
+ return combineCodec(
245
+ getInitializeVaultInstructionDataEncoder(),
246
+ getInitializeVaultInstructionDataDecoder(),
247
+ );
248
+ }
249
+
250
+ export type InitializeVaultAsyncInput<
251
+ TAccountPayer extends string = string,
252
+ TAccountManager extends string = string,
253
+ TAccountAdmin extends string = string,
254
+ TAccountProtocol extends string = string,
255
+ TAccountVault extends string = string,
256
+ TAccountVaultLpMint extends string = string,
257
+ TAccountVaultAssetMint extends string = string,
258
+ TAccountVaultAssetIdleAta extends string = string,
259
+ TAccountVaultLpMintAuth extends string = string,
260
+ TAccountVaultAssetIdleAuth extends string = string,
261
+ TAccountClock extends string = string,
262
+ TAccountRent extends string = string,
263
+ TAccountAssociatedTokenProgram extends string = string,
264
+ TAccountAssetTokenProgram extends string = string,
265
+ TAccountLpTokenProgram extends string = string,
266
+ TAccountSystemProgram extends string = string,
267
+ > = {
268
+ payer: TransactionSigner<TAccountPayer>;
269
+ manager: Address<TAccountManager>;
270
+ admin: Address<TAccountAdmin>;
271
+ protocol?: Address<TAccountProtocol>;
272
+ vault: TransactionSigner<TAccountVault>;
273
+ vaultLpMint?: Address<TAccountVaultLpMint>;
274
+ vaultAssetMint: Address<TAccountVaultAssetMint>;
275
+ vaultAssetIdleAta: Address<TAccountVaultAssetIdleAta>;
276
+ vaultLpMintAuth?: Address<TAccountVaultLpMintAuth>;
277
+ vaultAssetIdleAuth?: Address<TAccountVaultAssetIdleAuth>;
278
+ clock?: Address<TAccountClock>;
279
+ rent?: Address<TAccountRent>;
280
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
281
+ assetTokenProgram: Address<TAccountAssetTokenProgram>;
282
+ lpTokenProgram?: Address<TAccountLpTokenProgram>;
283
+ systemProgram?: Address<TAccountSystemProgram>;
284
+ maxCap: InitializeVaultInstructionDataArgs["maxCap"];
285
+ startAtTs: InitializeVaultInstructionDataArgs["startAtTs"];
286
+ managerPerformanceFee: InitializeVaultInstructionDataArgs["managerPerformanceFee"];
287
+ adminPerformanceFee: InitializeVaultInstructionDataArgs["adminPerformanceFee"];
288
+ managerManagementFee: InitializeVaultInstructionDataArgs["managerManagementFee"];
289
+ adminManagementFee: InitializeVaultInstructionDataArgs["adminManagementFee"];
290
+ lockedProfitDegradationDuration: InitializeVaultInstructionDataArgs["lockedProfitDegradationDuration"];
291
+ redemptionFee: InitializeVaultInstructionDataArgs["redemptionFee"];
292
+ issuanceFee: InitializeVaultInstructionDataArgs["issuanceFee"];
293
+ withdrawalWaitingPeriod: InitializeVaultInstructionDataArgs["withdrawalWaitingPeriod"];
294
+ name: InitializeVaultInstructionDataArgs["name"];
295
+ description: InitializeVaultInstructionDataArgs["description"];
296
+ };
297
+
298
+ export async function getInitializeVaultInstructionAsync<
299
+ TAccountPayer extends string,
300
+ TAccountManager extends string,
301
+ TAccountAdmin extends string,
302
+ TAccountProtocol extends string,
303
+ TAccountVault extends string,
304
+ TAccountVaultLpMint extends string,
305
+ TAccountVaultAssetMint extends string,
306
+ TAccountVaultAssetIdleAta extends string,
307
+ TAccountVaultLpMintAuth extends string,
308
+ TAccountVaultAssetIdleAuth extends string,
309
+ TAccountClock extends string,
310
+ TAccountRent extends string,
311
+ TAccountAssociatedTokenProgram extends string,
312
+ TAccountAssetTokenProgram extends string,
313
+ TAccountLpTokenProgram extends string,
314
+ TAccountSystemProgram extends string,
315
+ TProgramAddress extends Address = typeof VOLTR_VAULT_PROGRAM_ADDRESS,
316
+ >(
317
+ input: InitializeVaultAsyncInput<
318
+ TAccountPayer,
319
+ TAccountManager,
320
+ TAccountAdmin,
321
+ TAccountProtocol,
322
+ TAccountVault,
323
+ TAccountVaultLpMint,
324
+ TAccountVaultAssetMint,
325
+ TAccountVaultAssetIdleAta,
326
+ TAccountVaultLpMintAuth,
327
+ TAccountVaultAssetIdleAuth,
328
+ TAccountClock,
329
+ TAccountRent,
330
+ TAccountAssociatedTokenProgram,
331
+ TAccountAssetTokenProgram,
332
+ TAccountLpTokenProgram,
333
+ TAccountSystemProgram
334
+ >,
335
+ config?: { programAddress?: TProgramAddress },
336
+ ): Promise<
337
+ InitializeVaultInstruction<
338
+ TProgramAddress,
339
+ TAccountPayer,
340
+ TAccountManager,
341
+ TAccountAdmin,
342
+ TAccountProtocol,
343
+ TAccountVault,
344
+ TAccountVaultLpMint,
345
+ TAccountVaultAssetMint,
346
+ TAccountVaultAssetIdleAta,
347
+ TAccountVaultLpMintAuth,
348
+ TAccountVaultAssetIdleAuth,
349
+ TAccountClock,
350
+ TAccountRent,
351
+ TAccountAssociatedTokenProgram,
352
+ TAccountAssetTokenProgram,
353
+ TAccountLpTokenProgram,
354
+ TAccountSystemProgram
355
+ >
356
+ > {
357
+ // Program address.
358
+ const programAddress = config?.programAddress ?? VOLTR_VAULT_PROGRAM_ADDRESS;
359
+
360
+ // Original accounts.
361
+ const originalAccounts = {
362
+ payer: { value: input.payer ?? null, isWritable: true },
363
+ manager: { value: input.manager ?? null, isWritable: false },
364
+ admin: { value: input.admin ?? null, isWritable: false },
365
+ protocol: { value: input.protocol ?? null, isWritable: false },
366
+ vault: { value: input.vault ?? null, isWritable: true },
367
+ vaultLpMint: { value: input.vaultLpMint ?? null, isWritable: true },
368
+ vaultAssetMint: { value: input.vaultAssetMint ?? null, isWritable: false },
369
+ vaultAssetIdleAta: {
370
+ value: input.vaultAssetIdleAta ?? null,
371
+ isWritable: true,
372
+ },
373
+ vaultLpMintAuth: {
374
+ value: input.vaultLpMintAuth ?? null,
375
+ isWritable: false,
376
+ },
377
+ vaultAssetIdleAuth: {
378
+ value: input.vaultAssetIdleAuth ?? null,
379
+ isWritable: false,
380
+ },
381
+ clock: { value: input.clock ?? null, isWritable: false },
382
+ rent: { value: input.rent ?? null, isWritable: false },
383
+ associatedTokenProgram: {
384
+ value: input.associatedTokenProgram ?? null,
385
+ isWritable: false,
386
+ },
387
+ assetTokenProgram: {
388
+ value: input.assetTokenProgram ?? null,
389
+ isWritable: false,
390
+ },
391
+ lpTokenProgram: { value: input.lpTokenProgram ?? null, isWritable: false },
392
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
393
+ };
394
+ const accounts = originalAccounts as Record<
395
+ keyof typeof originalAccounts,
396
+ ResolvedInstructionAccount
397
+ >;
398
+
399
+ // Original args.
400
+ const args = { ...input };
401
+
402
+ // Resolve default values.
403
+ if (!accounts.protocol.value) {
404
+ accounts.protocol.value = await findProtocolPda();
405
+ }
406
+ if (!accounts.vaultLpMint.value) {
407
+ accounts.vaultLpMint.value = await findVaultLpMintPda({
408
+ vault: getAddressFromResolvedInstructionAccount(
409
+ "vault",
410
+ accounts.vault.value,
411
+ ),
412
+ });
413
+ }
414
+ if (!accounts.vaultLpMintAuth.value) {
415
+ accounts.vaultLpMintAuth.value = await findVaultLpMintAuthPda({
416
+ vault: getAddressFromResolvedInstructionAccount(
417
+ "vault",
418
+ accounts.vault.value,
419
+ ),
420
+ });
421
+ }
422
+ if (!accounts.vaultAssetIdleAuth.value) {
423
+ accounts.vaultAssetIdleAuth.value = await findVaultAssetIdleAuthPda({
424
+ vault: getAddressFromResolvedInstructionAccount(
425
+ "vault",
426
+ accounts.vault.value,
427
+ ),
428
+ });
429
+ }
430
+ if (!accounts.clock.value) {
431
+ accounts.clock.value =
432
+ "SysvarC1ock11111111111111111111111111111111" as Address<"SysvarC1ock11111111111111111111111111111111">;
433
+ }
434
+ if (!accounts.rent.value) {
435
+ accounts.rent.value =
436
+ "SysvarRent111111111111111111111111111111111" as Address<"SysvarRent111111111111111111111111111111111">;
437
+ }
438
+ if (!accounts.associatedTokenProgram.value) {
439
+ accounts.associatedTokenProgram.value =
440
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" as Address<"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL">;
441
+ }
442
+ if (!accounts.lpTokenProgram.value) {
443
+ accounts.lpTokenProgram.value =
444
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
445
+ }
446
+ if (!accounts.systemProgram.value) {
447
+ accounts.systemProgram.value =
448
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
449
+ }
450
+
451
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
452
+ return Object.freeze({
453
+ accounts: [
454
+ getAccountMeta("payer", accounts.payer),
455
+ getAccountMeta("manager", accounts.manager),
456
+ getAccountMeta("admin", accounts.admin),
457
+ getAccountMeta("protocol", accounts.protocol),
458
+ getAccountMeta("vault", accounts.vault),
459
+ getAccountMeta("vaultLpMint", accounts.vaultLpMint),
460
+ getAccountMeta("vaultAssetMint", accounts.vaultAssetMint),
461
+ getAccountMeta("vaultAssetIdleAta", accounts.vaultAssetIdleAta),
462
+ getAccountMeta("vaultLpMintAuth", accounts.vaultLpMintAuth),
463
+ getAccountMeta("vaultAssetIdleAuth", accounts.vaultAssetIdleAuth),
464
+ getAccountMeta("clock", accounts.clock),
465
+ getAccountMeta("rent", accounts.rent),
466
+ getAccountMeta("associatedTokenProgram", accounts.associatedTokenProgram),
467
+ getAccountMeta("assetTokenProgram", accounts.assetTokenProgram),
468
+ getAccountMeta("lpTokenProgram", accounts.lpTokenProgram),
469
+ getAccountMeta("systemProgram", accounts.systemProgram),
470
+ ],
471
+ data: getInitializeVaultInstructionDataEncoder().encode(
472
+ args as InitializeVaultInstructionDataArgs,
473
+ ),
474
+ programAddress,
475
+ } as InitializeVaultInstruction<
476
+ TProgramAddress,
477
+ TAccountPayer,
478
+ TAccountManager,
479
+ TAccountAdmin,
480
+ TAccountProtocol,
481
+ TAccountVault,
482
+ TAccountVaultLpMint,
483
+ TAccountVaultAssetMint,
484
+ TAccountVaultAssetIdleAta,
485
+ TAccountVaultLpMintAuth,
486
+ TAccountVaultAssetIdleAuth,
487
+ TAccountClock,
488
+ TAccountRent,
489
+ TAccountAssociatedTokenProgram,
490
+ TAccountAssetTokenProgram,
491
+ TAccountLpTokenProgram,
492
+ TAccountSystemProgram
493
+ >);
494
+ }
495
+
496
+ export type InitializeVaultInput<
497
+ TAccountPayer extends string = string,
498
+ TAccountManager extends string = string,
499
+ TAccountAdmin extends string = string,
500
+ TAccountProtocol extends string = string,
501
+ TAccountVault extends string = string,
502
+ TAccountVaultLpMint extends string = string,
503
+ TAccountVaultAssetMint extends string = string,
504
+ TAccountVaultAssetIdleAta extends string = string,
505
+ TAccountVaultLpMintAuth extends string = string,
506
+ TAccountVaultAssetIdleAuth extends string = string,
507
+ TAccountClock extends string = string,
508
+ TAccountRent extends string = string,
509
+ TAccountAssociatedTokenProgram extends string = string,
510
+ TAccountAssetTokenProgram extends string = string,
511
+ TAccountLpTokenProgram extends string = string,
512
+ TAccountSystemProgram extends string = string,
513
+ > = {
514
+ payer: TransactionSigner<TAccountPayer>;
515
+ manager: Address<TAccountManager>;
516
+ admin: Address<TAccountAdmin>;
517
+ protocol: Address<TAccountProtocol>;
518
+ vault: TransactionSigner<TAccountVault>;
519
+ vaultLpMint: Address<TAccountVaultLpMint>;
520
+ vaultAssetMint: Address<TAccountVaultAssetMint>;
521
+ vaultAssetIdleAta: Address<TAccountVaultAssetIdleAta>;
522
+ vaultLpMintAuth: Address<TAccountVaultLpMintAuth>;
523
+ vaultAssetIdleAuth: Address<TAccountVaultAssetIdleAuth>;
524
+ clock?: Address<TAccountClock>;
525
+ rent?: Address<TAccountRent>;
526
+ associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
527
+ assetTokenProgram: Address<TAccountAssetTokenProgram>;
528
+ lpTokenProgram?: Address<TAccountLpTokenProgram>;
529
+ systemProgram?: Address<TAccountSystemProgram>;
530
+ maxCap: InitializeVaultInstructionDataArgs["maxCap"];
531
+ startAtTs: InitializeVaultInstructionDataArgs["startAtTs"];
532
+ managerPerformanceFee: InitializeVaultInstructionDataArgs["managerPerformanceFee"];
533
+ adminPerformanceFee: InitializeVaultInstructionDataArgs["adminPerformanceFee"];
534
+ managerManagementFee: InitializeVaultInstructionDataArgs["managerManagementFee"];
535
+ adminManagementFee: InitializeVaultInstructionDataArgs["adminManagementFee"];
536
+ lockedProfitDegradationDuration: InitializeVaultInstructionDataArgs["lockedProfitDegradationDuration"];
537
+ redemptionFee: InitializeVaultInstructionDataArgs["redemptionFee"];
538
+ issuanceFee: InitializeVaultInstructionDataArgs["issuanceFee"];
539
+ withdrawalWaitingPeriod: InitializeVaultInstructionDataArgs["withdrawalWaitingPeriod"];
540
+ name: InitializeVaultInstructionDataArgs["name"];
541
+ description: InitializeVaultInstructionDataArgs["description"];
542
+ };
543
+
544
+ export function getInitializeVaultInstruction<
545
+ TAccountPayer extends string,
546
+ TAccountManager extends string,
547
+ TAccountAdmin extends string,
548
+ TAccountProtocol extends string,
549
+ TAccountVault extends string,
550
+ TAccountVaultLpMint extends string,
551
+ TAccountVaultAssetMint extends string,
552
+ TAccountVaultAssetIdleAta extends string,
553
+ TAccountVaultLpMintAuth extends string,
554
+ TAccountVaultAssetIdleAuth extends string,
555
+ TAccountClock extends string,
556
+ TAccountRent extends string,
557
+ TAccountAssociatedTokenProgram extends string,
558
+ TAccountAssetTokenProgram extends string,
559
+ TAccountLpTokenProgram extends string,
560
+ TAccountSystemProgram extends string,
561
+ TProgramAddress extends Address = typeof VOLTR_VAULT_PROGRAM_ADDRESS,
562
+ >(
563
+ input: InitializeVaultInput<
564
+ TAccountPayer,
565
+ TAccountManager,
566
+ TAccountAdmin,
567
+ TAccountProtocol,
568
+ TAccountVault,
569
+ TAccountVaultLpMint,
570
+ TAccountVaultAssetMint,
571
+ TAccountVaultAssetIdleAta,
572
+ TAccountVaultLpMintAuth,
573
+ TAccountVaultAssetIdleAuth,
574
+ TAccountClock,
575
+ TAccountRent,
576
+ TAccountAssociatedTokenProgram,
577
+ TAccountAssetTokenProgram,
578
+ TAccountLpTokenProgram,
579
+ TAccountSystemProgram
580
+ >,
581
+ config?: { programAddress?: TProgramAddress },
582
+ ): InitializeVaultInstruction<
583
+ TProgramAddress,
584
+ TAccountPayer,
585
+ TAccountManager,
586
+ TAccountAdmin,
587
+ TAccountProtocol,
588
+ TAccountVault,
589
+ TAccountVaultLpMint,
590
+ TAccountVaultAssetMint,
591
+ TAccountVaultAssetIdleAta,
592
+ TAccountVaultLpMintAuth,
593
+ TAccountVaultAssetIdleAuth,
594
+ TAccountClock,
595
+ TAccountRent,
596
+ TAccountAssociatedTokenProgram,
597
+ TAccountAssetTokenProgram,
598
+ TAccountLpTokenProgram,
599
+ TAccountSystemProgram
600
+ > {
601
+ // Program address.
602
+ const programAddress = config?.programAddress ?? VOLTR_VAULT_PROGRAM_ADDRESS;
603
+
604
+ // Original accounts.
605
+ const originalAccounts = {
606
+ payer: { value: input.payer ?? null, isWritable: true },
607
+ manager: { value: input.manager ?? null, isWritable: false },
608
+ admin: { value: input.admin ?? null, isWritable: false },
609
+ protocol: { value: input.protocol ?? null, isWritable: false },
610
+ vault: { value: input.vault ?? null, isWritable: true },
611
+ vaultLpMint: { value: input.vaultLpMint ?? null, isWritable: true },
612
+ vaultAssetMint: { value: input.vaultAssetMint ?? null, isWritable: false },
613
+ vaultAssetIdleAta: {
614
+ value: input.vaultAssetIdleAta ?? null,
615
+ isWritable: true,
616
+ },
617
+ vaultLpMintAuth: {
618
+ value: input.vaultLpMintAuth ?? null,
619
+ isWritable: false,
620
+ },
621
+ vaultAssetIdleAuth: {
622
+ value: input.vaultAssetIdleAuth ?? null,
623
+ isWritable: false,
624
+ },
625
+ clock: { value: input.clock ?? null, isWritable: false },
626
+ rent: { value: input.rent ?? null, isWritable: false },
627
+ associatedTokenProgram: {
628
+ value: input.associatedTokenProgram ?? null,
629
+ isWritable: false,
630
+ },
631
+ assetTokenProgram: {
632
+ value: input.assetTokenProgram ?? null,
633
+ isWritable: false,
634
+ },
635
+ lpTokenProgram: { value: input.lpTokenProgram ?? null, isWritable: false },
636
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
637
+ };
638
+ const accounts = originalAccounts as Record<
639
+ keyof typeof originalAccounts,
640
+ ResolvedInstructionAccount
641
+ >;
642
+
643
+ // Original args.
644
+ const args = { ...input };
645
+
646
+ // Resolve default values.
647
+ if (!accounts.clock.value) {
648
+ accounts.clock.value =
649
+ "SysvarC1ock11111111111111111111111111111111" as Address<"SysvarC1ock11111111111111111111111111111111">;
650
+ }
651
+ if (!accounts.rent.value) {
652
+ accounts.rent.value =
653
+ "SysvarRent111111111111111111111111111111111" as Address<"SysvarRent111111111111111111111111111111111">;
654
+ }
655
+ if (!accounts.associatedTokenProgram.value) {
656
+ accounts.associatedTokenProgram.value =
657
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" as Address<"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL">;
658
+ }
659
+ if (!accounts.lpTokenProgram.value) {
660
+ accounts.lpTokenProgram.value =
661
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
662
+ }
663
+ if (!accounts.systemProgram.value) {
664
+ accounts.systemProgram.value =
665
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
666
+ }
667
+
668
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
669
+ return Object.freeze({
670
+ accounts: [
671
+ getAccountMeta("payer", accounts.payer),
672
+ getAccountMeta("manager", accounts.manager),
673
+ getAccountMeta("admin", accounts.admin),
674
+ getAccountMeta("protocol", accounts.protocol),
675
+ getAccountMeta("vault", accounts.vault),
676
+ getAccountMeta("vaultLpMint", accounts.vaultLpMint),
677
+ getAccountMeta("vaultAssetMint", accounts.vaultAssetMint),
678
+ getAccountMeta("vaultAssetIdleAta", accounts.vaultAssetIdleAta),
679
+ getAccountMeta("vaultLpMintAuth", accounts.vaultLpMintAuth),
680
+ getAccountMeta("vaultAssetIdleAuth", accounts.vaultAssetIdleAuth),
681
+ getAccountMeta("clock", accounts.clock),
682
+ getAccountMeta("rent", accounts.rent),
683
+ getAccountMeta("associatedTokenProgram", accounts.associatedTokenProgram),
684
+ getAccountMeta("assetTokenProgram", accounts.assetTokenProgram),
685
+ getAccountMeta("lpTokenProgram", accounts.lpTokenProgram),
686
+ getAccountMeta("systemProgram", accounts.systemProgram),
687
+ ],
688
+ data: getInitializeVaultInstructionDataEncoder().encode(
689
+ args as InitializeVaultInstructionDataArgs,
690
+ ),
691
+ programAddress,
692
+ } as InitializeVaultInstruction<
693
+ TProgramAddress,
694
+ TAccountPayer,
695
+ TAccountManager,
696
+ TAccountAdmin,
697
+ TAccountProtocol,
698
+ TAccountVault,
699
+ TAccountVaultLpMint,
700
+ TAccountVaultAssetMint,
701
+ TAccountVaultAssetIdleAta,
702
+ TAccountVaultLpMintAuth,
703
+ TAccountVaultAssetIdleAuth,
704
+ TAccountClock,
705
+ TAccountRent,
706
+ TAccountAssociatedTokenProgram,
707
+ TAccountAssetTokenProgram,
708
+ TAccountLpTokenProgram,
709
+ TAccountSystemProgram
710
+ >);
711
+ }
712
+
713
+ export type ParsedInitializeVaultInstruction<
714
+ TProgram extends string = typeof VOLTR_VAULT_PROGRAM_ADDRESS,
715
+ TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
716
+ > = {
717
+ programAddress: Address<TProgram>;
718
+ accounts: {
719
+ payer: TAccountMetas[0];
720
+ manager: TAccountMetas[1];
721
+ admin: TAccountMetas[2];
722
+ protocol: TAccountMetas[3];
723
+ vault: TAccountMetas[4];
724
+ vaultLpMint: TAccountMetas[5];
725
+ vaultAssetMint: TAccountMetas[6];
726
+ vaultAssetIdleAta: TAccountMetas[7];
727
+ vaultLpMintAuth: TAccountMetas[8];
728
+ vaultAssetIdleAuth: TAccountMetas[9];
729
+ clock: TAccountMetas[10];
730
+ rent: TAccountMetas[11];
731
+ associatedTokenProgram: TAccountMetas[12];
732
+ assetTokenProgram: TAccountMetas[13];
733
+ lpTokenProgram: TAccountMetas[14];
734
+ systemProgram: TAccountMetas[15];
735
+ };
736
+ data: InitializeVaultInstructionData;
737
+ };
738
+
739
+ export function parseInitializeVaultInstruction<
740
+ TProgram extends string,
741
+ TAccountMetas extends readonly AccountMeta[],
742
+ >(
743
+ instruction: Instruction<TProgram> &
744
+ InstructionWithAccounts<TAccountMetas> &
745
+ InstructionWithData<ReadonlyUint8Array>,
746
+ ): ParsedInitializeVaultInstruction<TProgram, TAccountMetas> {
747
+ if (instruction.accounts.length < 16) {
748
+ throw new SolanaError(
749
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
750
+ {
751
+ actualAccountMetas: instruction.accounts.length,
752
+ expectedAccountMetas: 16,
753
+ },
754
+ );
755
+ }
756
+ let accountIndex = 0;
757
+ const getNextAccount = () => {
758
+ const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;
759
+ accountIndex += 1;
760
+ return accountMeta;
761
+ };
762
+ return {
763
+ programAddress: instruction.programAddress,
764
+ accounts: {
765
+ payer: getNextAccount(),
766
+ manager: getNextAccount(),
767
+ admin: getNextAccount(),
768
+ protocol: getNextAccount(),
769
+ vault: getNextAccount(),
770
+ vaultLpMint: getNextAccount(),
771
+ vaultAssetMint: getNextAccount(),
772
+ vaultAssetIdleAta: getNextAccount(),
773
+ vaultLpMintAuth: getNextAccount(),
774
+ vaultAssetIdleAuth: getNextAccount(),
775
+ clock: getNextAccount(),
776
+ rent: getNextAccount(),
777
+ associatedTokenProgram: getNextAccount(),
778
+ assetTokenProgram: getNextAccount(),
779
+ lpTokenProgram: getNextAccount(),
780
+ systemProgram: getNextAccount(),
781
+ },
782
+ data: getInitializeVaultInstructionDataDecoder().decode(instruction.data),
783
+ };
784
+ }