@voltr/vault-sdk 1.1.0 → 2.1.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 (508) 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/events.d.ts +33 -0
  10. package/dist/extensions/events.d.ts.map +1 -0
  11. package/dist/extensions/events.js +203 -0
  12. package/dist/extensions/events.js.map +1 -0
  13. package/dist/extensions/fees.d.ts +6 -0
  14. package/dist/extensions/fees.d.ts.map +1 -0
  15. package/dist/extensions/fees.js +23 -0
  16. package/dist/extensions/fees.js.map +1 -0
  17. package/dist/extensions/index.d.ts +11 -0
  18. package/dist/extensions/index.d.ts.map +1 -0
  19. package/dist/extensions/index.js +27 -0
  20. package/dist/extensions/index.js.map +1 -0
  21. package/dist/extensions/lpEconomics.d.ts +27 -0
  22. package/dist/extensions/lpEconomics.d.ts.map +1 -0
  23. package/dist/extensions/lpEconomics.js +140 -0
  24. package/dist/extensions/lpEconomics.js.map +1 -0
  25. package/dist/extensions/math.d.ts +90 -0
  26. package/dist/extensions/math.d.ts.map +1 -0
  27. package/dist/extensions/math.js +182 -0
  28. package/dist/extensions/math.js.map +1 -0
  29. package/dist/extensions/metadataPda.d.ts +18 -0
  30. package/dist/extensions/metadataPda.d.ts.map +1 -0
  31. package/dist/extensions/metadataPda.js +34 -0
  32. package/dist/extensions/metadataPda.js.map +1 -0
  33. package/dist/extensions/position.d.ts +19 -0
  34. package/dist/extensions/position.d.ts.map +1 -0
  35. package/dist/extensions/position.js +28 -0
  36. package/dist/extensions/position.js.map +1 -0
  37. package/dist/extensions/rpc.d.ts +8 -0
  38. package/dist/extensions/rpc.d.ts.map +1 -0
  39. package/dist/{types/voltr_vault.js → extensions/rpc.js} +1 -0
  40. package/dist/extensions/rpc.js.map +1 -0
  41. package/dist/extensions/withdrawals.d.ts +16 -0
  42. package/dist/extensions/withdrawals.d.ts.map +1 -0
  43. package/dist/extensions/withdrawals.js +59 -0
  44. package/dist/extensions/withdrawals.js.map +1 -0
  45. package/dist/generated/accounts/adaptorAddReceipt.d.ts +57 -0
  46. package/dist/generated/accounts/adaptorAddReceipt.d.ts.map +1 -0
  47. package/dist/generated/accounts/adaptorAddReceipt.js +82 -0
  48. package/dist/generated/accounts/adaptorAddReceipt.js.map +1 -0
  49. package/dist/generated/accounts/directWithdrawInitReceipt.d.ts +60 -0
  50. package/dist/generated/accounts/directWithdrawInitReceipt.d.ts.map +1 -0
  51. package/dist/generated/accounts/directWithdrawInitReceipt.js +95 -0
  52. package/dist/generated/accounts/directWithdrawInitReceipt.js.map +1 -0
  53. package/dist/generated/accounts/index.d.ts +14 -0
  54. package/dist/generated/accounts/index.d.ts.map +1 -0
  55. package/dist/generated/accounts/index.js +30 -0
  56. package/dist/generated/accounts/index.js.map +1 -0
  57. package/dist/generated/accounts/protocol.d.ts +57 -0
  58. package/dist/generated/accounts/protocol.d.ts.map +1 -0
  59. package/dist/generated/accounts/protocol.js +82 -0
  60. package/dist/generated/accounts/protocol.js.map +1 -0
  61. package/dist/generated/accounts/requestWithdrawVaultReceipt.d.ts +43 -0
  62. package/dist/generated/accounts/requestWithdrawVaultReceipt.d.ts.map +1 -0
  63. package/dist/generated/accounts/requestWithdrawVaultReceipt.js +85 -0
  64. package/dist/generated/accounts/requestWithdrawVaultReceipt.js.map +1 -0
  65. package/dist/generated/accounts/strategyInitReceipt.d.ts +69 -0
  66. package/dist/generated/accounts/strategyInitReceipt.d.ts.map +1 -0
  67. package/dist/generated/accounts/strategyInitReceipt.js +91 -0
  68. package/dist/generated/accounts/strategyInitReceipt.js.map +1 -0
  69. package/dist/generated/accounts/vault.d.ts +100 -0
  70. package/dist/generated/accounts/vault.d.ts.map +1 -0
  71. package/dist/generated/accounts/vault.js +105 -0
  72. package/dist/generated/accounts/vault.js.map +1 -0
  73. package/dist/generated/errors/index.d.ts +9 -0
  74. package/dist/generated/errors/index.d.ts.map +1 -0
  75. package/dist/{types → generated/errors}/index.js +9 -2
  76. package/dist/generated/errors/index.js.map +1 -0
  77. package/dist/generated/errors/voltrVault.d.ts +52 -0
  78. package/dist/generated/errors/voltrVault.d.ts.map +1 -0
  79. package/dist/generated/errors/voltrVault.js +77 -0
  80. package/dist/generated/errors/voltrVault.js.map +1 -0
  81. package/dist/generated/index.d.ts +14 -0
  82. package/dist/generated/index.d.ts.map +1 -0
  83. package/dist/generated/index.js +30 -0
  84. package/dist/generated/index.js.map +1 -0
  85. package/dist/generated/instructions/acceptProtocolAdmin.d.ts +47 -0
  86. package/dist/generated/instructions/acceptProtocolAdmin.d.ts.map +1 -0
  87. package/dist/generated/instructions/acceptProtocolAdmin.js +103 -0
  88. package/dist/generated/instructions/acceptProtocolAdmin.js.map +1 -0
  89. package/dist/generated/instructions/acceptVaultAdmin.d.ts +40 -0
  90. package/dist/generated/instructions/acceptVaultAdmin.d.ts.map +1 -0
  91. package/dist/generated/instructions/acceptVaultAdmin.js +75 -0
  92. package/dist/generated/instructions/acceptVaultAdmin.js.map +1 -0
  93. package/dist/generated/instructions/addAdaptor.d.ts +67 -0
  94. package/dist/generated/instructions/addAdaptor.d.ts.map +1 -0
  95. package/dist/generated/instructions/addAdaptor.js +149 -0
  96. package/dist/generated/instructions/addAdaptor.js.map +1 -0
  97. package/dist/generated/instructions/calibrateHighWaterMark.d.ts +63 -0
  98. package/dist/generated/instructions/calibrateHighWaterMark.d.ts.map +1 -0
  99. package/dist/generated/instructions/calibrateHighWaterMark.js +150 -0
  100. package/dist/generated/instructions/calibrateHighWaterMark.js.map +1 -0
  101. package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.d.ts +55 -0
  102. package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.d.ts.map +1 -0
  103. package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.js +121 -0
  104. package/dist/generated/instructions/calibrateHighWaterMarkUnsafe.js.map +1 -0
  105. package/dist/generated/instructions/cancelRequestWithdrawVault.d.ts +84 -0
  106. package/dist/generated/instructions/cancelRequestWithdrawVault.d.ts.map +1 -0
  107. package/dist/generated/instructions/cancelRequestWithdrawVault.js +208 -0
  108. package/dist/generated/instructions/cancelRequestWithdrawVault.js.map +1 -0
  109. package/dist/generated/instructions/closeStrategy.d.ts +67 -0
  110. package/dist/generated/instructions/closeStrategy.d.ts.map +1 -0
  111. package/dist/generated/instructions/closeStrategy.js +149 -0
  112. package/dist/generated/instructions/closeStrategy.js.map +1 -0
  113. package/dist/generated/instructions/createLpMetadata.d.ts +88 -0
  114. package/dist/generated/instructions/createLpMetadata.d.ts.map +1 -0
  115. package/dist/generated/instructions/createLpMetadata.js +194 -0
  116. package/dist/generated/instructions/createLpMetadata.js.map +1 -0
  117. package/dist/generated/instructions/depositStrategy.d.ts +111 -0
  118. package/dist/generated/instructions/depositStrategy.d.ts.map +1 -0
  119. package/dist/generated/instructions/depositStrategy.js +277 -0
  120. package/dist/generated/instructions/depositStrategy.js.map +1 -0
  121. package/dist/generated/instructions/depositVault.d.ts +108 -0
  122. package/dist/generated/instructions/depositVault.d.ts.map +1 -0
  123. package/dist/generated/instructions/depositVault.js +258 -0
  124. package/dist/generated/instructions/depositVault.js.map +1 -0
  125. package/dist/generated/instructions/directWithdrawStrategy.d.ts +125 -0
  126. package/dist/generated/instructions/directWithdrawStrategy.d.ts.map +1 -0
  127. package/dist/generated/instructions/directWithdrawStrategy.js +338 -0
  128. package/dist/generated/instructions/directWithdrawStrategy.js.map +1 -0
  129. package/dist/generated/instructions/directWithdrawStrategyWithTolerance.d.ts +129 -0
  130. package/dist/generated/instructions/directWithdrawStrategyWithTolerance.d.ts.map +1 -0
  131. package/dist/generated/instructions/directWithdrawStrategyWithTolerance.js +338 -0
  132. package/dist/generated/instructions/directWithdrawStrategyWithTolerance.js.map +1 -0
  133. package/dist/generated/instructions/harvestFee.d.ts +87 -0
  134. package/dist/generated/instructions/harvestFee.d.ts.map +1 -0
  135. package/dist/generated/instructions/harvestFee.js +220 -0
  136. package/dist/generated/instructions/harvestFee.js.map +1 -0
  137. package/dist/generated/instructions/index.d.ts +35 -0
  138. package/dist/generated/instructions/index.d.ts.map +1 -0
  139. package/dist/generated/instructions/index.js +51 -0
  140. package/dist/generated/instructions/index.js.map +1 -0
  141. package/dist/generated/instructions/initProtocol.d.ts +60 -0
  142. package/dist/generated/instructions/initProtocol.d.ts.map +1 -0
  143. package/dist/generated/instructions/initProtocol.js +130 -0
  144. package/dist/generated/instructions/initProtocol.js.map +1 -0
  145. package/dist/generated/instructions/initializeDirectWithdrawStrategy.d.ts +92 -0
  146. package/dist/generated/instructions/initializeDirectWithdrawStrategy.d.ts.map +1 -0
  147. package/dist/generated/instructions/initializeDirectWithdrawStrategy.js +214 -0
  148. package/dist/generated/instructions/initializeDirectWithdrawStrategy.js.map +1 -0
  149. package/dist/generated/instructions/initializeStrategy.d.ts +88 -0
  150. package/dist/generated/instructions/initializeStrategy.d.ts.map +1 -0
  151. package/dist/generated/instructions/initializeStrategy.js +210 -0
  152. package/dist/generated/instructions/initializeStrategy.js.map +1 -0
  153. package/dist/generated/instructions/initializeVault.d.ts +172 -0
  154. package/dist/generated/instructions/initializeVault.d.ts.map +1 -0
  155. package/dist/generated/instructions/initializeVault.js +289 -0
  156. package/dist/generated/instructions/initializeVault.js.map +1 -0
  157. package/dist/generated/instructions/instantWithdrawStrategy.d.ts +133 -0
  158. package/dist/generated/instructions/instantWithdrawStrategy.d.ts.map +1 -0
  159. package/dist/generated/instructions/instantWithdrawStrategy.js +320 -0
  160. package/dist/generated/instructions/instantWithdrawStrategy.js.map +1 -0
  161. package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.d.ts +137 -0
  162. package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.d.ts.map +1 -0
  163. package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.js +320 -0
  164. package/dist/generated/instructions/instantWithdrawStrategyWithTolerance.js.map +1 -0
  165. package/dist/generated/instructions/instantWithdrawVault.d.ts +112 -0
  166. package/dist/generated/instructions/instantWithdrawVault.d.ts.map +1 -0
  167. package/dist/generated/instructions/instantWithdrawVault.js +249 -0
  168. package/dist/generated/instructions/instantWithdrawVault.js.map +1 -0
  169. package/dist/generated/instructions/removeAdaptor.d.ts +63 -0
  170. package/dist/generated/instructions/removeAdaptor.d.ts.map +1 -0
  171. package/dist/generated/instructions/removeAdaptor.js +144 -0
  172. package/dist/generated/instructions/removeAdaptor.js.map +1 -0
  173. package/dist/generated/instructions/requestWithdrawVault.d.ts +104 -0
  174. package/dist/generated/instructions/requestWithdrawVault.d.ts.map +1 -0
  175. package/dist/generated/instructions/requestWithdrawVault.js +225 -0
  176. package/dist/generated/instructions/requestWithdrawVault.js.map +1 -0
  177. package/dist/generated/instructions/updateProtocol.d.ts +57 -0
  178. package/dist/generated/instructions/updateProtocol.d.ts.map +1 -0
  179. package/dist/generated/instructions/updateProtocol.js +111 -0
  180. package/dist/generated/instructions/updateProtocol.js.map +1 -0
  181. package/dist/generated/instructions/updateVaultConfig.d.ts +65 -0
  182. package/dist/generated/instructions/updateVaultConfig.d.ts.map +1 -0
  183. package/dist/generated/instructions/updateVaultConfig.js +133 -0
  184. package/dist/generated/instructions/updateVaultConfig.js.map +1 -0
  185. package/dist/generated/instructions/updateVaultProtocolFee.d.ts +65 -0
  186. package/dist/generated/instructions/updateVaultProtocolFee.d.ts.map +1 -0
  187. package/dist/generated/instructions/updateVaultProtocolFee.js +132 -0
  188. package/dist/generated/instructions/updateVaultProtocolFee.js.map +1 -0
  189. package/dist/generated/instructions/withdrawStrategy.d.ts +111 -0
  190. package/dist/generated/instructions/withdrawStrategy.d.ts.map +1 -0
  191. package/dist/generated/instructions/withdrawStrategy.js +277 -0
  192. package/dist/generated/instructions/withdrawStrategy.js.map +1 -0
  193. package/dist/generated/instructions/withdrawVault.d.ts +103 -0
  194. package/dist/generated/instructions/withdrawVault.d.ts.map +1 -0
  195. package/dist/generated/instructions/withdrawVault.js +258 -0
  196. package/dist/generated/instructions/withdrawVault.js.map +1 -0
  197. package/dist/generated/pdas/adaptorAddReceipt.d.ts +16 -0
  198. package/dist/generated/pdas/adaptorAddReceipt.d.ts.map +1 -0
  199. package/dist/generated/pdas/adaptorAddReceipt.js +26 -0
  200. package/dist/generated/pdas/adaptorAddReceipt.js.map +1 -0
  201. package/dist/generated/pdas/directWithdrawInitReceipt.d.ts +16 -0
  202. package/dist/generated/pdas/directWithdrawInitReceipt.d.ts.map +1 -0
  203. package/dist/generated/pdas/directWithdrawInitReceipt.js +26 -0
  204. package/dist/generated/pdas/directWithdrawInitReceipt.js.map +1 -0
  205. package/dist/generated/pdas/index.d.ts +17 -0
  206. package/dist/generated/pdas/index.d.ts.map +1 -0
  207. package/dist/generated/pdas/index.js +33 -0
  208. package/dist/generated/pdas/index.js.map +1 -0
  209. package/dist/generated/pdas/protocol.d.ts +12 -0
  210. package/dist/generated/pdas/protocol.d.ts.map +1 -0
  211. package/dist/generated/pdas/protocol.js +21 -0
  212. package/dist/generated/pdas/protocol.js.map +1 -0
  213. package/dist/generated/pdas/requestWithdrawVaultReceipt.d.ts +16 -0
  214. package/dist/generated/pdas/requestWithdrawVaultReceipt.d.ts.map +1 -0
  215. package/dist/generated/pdas/requestWithdrawVaultReceipt.js +27 -0
  216. package/dist/generated/pdas/requestWithdrawVaultReceipt.js.map +1 -0
  217. package/dist/generated/pdas/strategyInitReceipt.d.ts +16 -0
  218. package/dist/generated/pdas/strategyInitReceipt.d.ts.map +1 -0
  219. package/dist/generated/pdas/strategyInitReceipt.js +26 -0
  220. package/dist/generated/pdas/strategyInitReceipt.js.map +1 -0
  221. package/dist/generated/pdas/vaultAssetIdleAuth.d.ts +15 -0
  222. package/dist/generated/pdas/vaultAssetIdleAuth.d.ts.map +1 -0
  223. package/dist/generated/pdas/vaultAssetIdleAuth.js +25 -0
  224. package/dist/generated/pdas/vaultAssetIdleAuth.js.map +1 -0
  225. package/dist/generated/pdas/vaultLpMint.d.ts +15 -0
  226. package/dist/generated/pdas/vaultLpMint.d.ts.map +1 -0
  227. package/dist/generated/pdas/vaultLpMint.js +24 -0
  228. package/dist/generated/pdas/vaultLpMint.js.map +1 -0
  229. package/dist/generated/pdas/vaultLpMintAuth.d.ts +15 -0
  230. package/dist/generated/pdas/vaultLpMintAuth.d.ts.map +1 -0
  231. package/dist/generated/pdas/vaultLpMintAuth.js +25 -0
  232. package/dist/generated/pdas/vaultLpMintAuth.js.map +1 -0
  233. package/dist/generated/pdas/vaultStrategyAuth.d.ts +16 -0
  234. package/dist/generated/pdas/vaultStrategyAuth.d.ts.map +1 -0
  235. package/dist/generated/pdas/vaultStrategyAuth.js +26 -0
  236. package/dist/generated/pdas/vaultStrategyAuth.js.map +1 -0
  237. package/dist/generated/programs/index.d.ts +9 -0
  238. package/dist/generated/programs/index.d.ts.map +1 -0
  239. package/dist/generated/programs/index.js +25 -0
  240. package/dist/generated/programs/index.js.map +1 -0
  241. package/dist/generated/programs/voltrVault.d.ts +172 -0
  242. package/dist/generated/programs/voltrVault.d.ts.map +1 -0
  243. package/dist/generated/programs/voltrVault.js +447 -0
  244. package/dist/generated/programs/voltrVault.js.map +1 -0
  245. package/dist/generated/types/acceptProtocolAdminEvent.d.ts +24 -0
  246. package/dist/generated/types/acceptProtocolAdminEvent.d.ts.map +1 -0
  247. package/dist/generated/types/acceptProtocolAdminEvent.js +33 -0
  248. package/dist/generated/types/acceptProtocolAdminEvent.js.map +1 -0
  249. package/dist/generated/types/acceptVaultAdminEvent.d.ts +24 -0
  250. package/dist/generated/types/acceptVaultAdminEvent.d.ts.map +1 -0
  251. package/dist/generated/types/acceptVaultAdminEvent.js +33 -0
  252. package/dist/generated/types/acceptVaultAdminEvent.js.map +1 -0
  253. package/dist/generated/types/addAdaptorEvent.d.ts +28 -0
  254. package/dist/generated/types/addAdaptorEvent.d.ts.map +1 -0
  255. package/dist/generated/types/addAdaptorEvent.js +37 -0
  256. package/dist/generated/types/addAdaptorEvent.js.map +1 -0
  257. package/dist/generated/types/calibrateHighWaterMarkEvent.d.ts +34 -0
  258. package/dist/generated/types/calibrateHighWaterMarkEvent.d.ts.map +1 -0
  259. package/dist/generated/types/calibrateHighWaterMarkEvent.js +43 -0
  260. package/dist/generated/types/calibrateHighWaterMarkEvent.js.map +1 -0
  261. package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.d.ts +30 -0
  262. package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.d.ts.map +1 -0
  263. package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.js +39 -0
  264. package/dist/generated/types/calibrateHighWaterMarkUnsafeEvent.js.map +1 -0
  265. package/dist/generated/types/cancelRequestWithdrawVaultEvent.d.ts +32 -0
  266. package/dist/generated/types/cancelRequestWithdrawVaultEvent.d.ts.map +1 -0
  267. package/dist/generated/types/cancelRequestWithdrawVaultEvent.js +41 -0
  268. package/dist/generated/types/cancelRequestWithdrawVaultEvent.js.map +1 -0
  269. package/dist/generated/types/closeStrategyEvent.d.ts +26 -0
  270. package/dist/generated/types/closeStrategyEvent.d.ts.map +1 -0
  271. package/dist/generated/types/closeStrategyEvent.js +35 -0
  272. package/dist/generated/types/closeStrategyEvent.js.map +1 -0
  273. package/dist/generated/types/depositStrategyEvent.d.ts +52 -0
  274. package/dist/generated/types/depositStrategyEvent.d.ts.map +1 -0
  275. package/dist/generated/types/depositStrategyEvent.js +61 -0
  276. package/dist/generated/types/depositStrategyEvent.js.map +1 -0
  277. package/dist/generated/types/depositVaultEvent.d.ts +48 -0
  278. package/dist/generated/types/depositVaultEvent.d.ts.map +1 -0
  279. package/dist/generated/types/depositVaultEvent.js +57 -0
  280. package/dist/generated/types/depositVaultEvent.js.map +1 -0
  281. package/dist/generated/types/directWithdrawStrategyEvent.d.ts +62 -0
  282. package/dist/generated/types/directWithdrawStrategyEvent.d.ts.map +1 -0
  283. package/dist/generated/types/directWithdrawStrategyEvent.js +71 -0
  284. package/dist/generated/types/directWithdrawStrategyEvent.js.map +1 -0
  285. package/dist/generated/types/feeConfiguration.d.ts +33 -0
  286. package/dist/generated/types/feeConfiguration.d.ts.map +1 -0
  287. package/dist/generated/types/feeConfiguration.js +43 -0
  288. package/dist/generated/types/feeConfiguration.js.map +1 -0
  289. package/dist/generated/types/feeState.d.ts +32 -0
  290. package/dist/generated/types/feeState.d.ts.map +1 -0
  291. package/dist/generated/types/feeState.js +33 -0
  292. package/dist/generated/types/feeState.js.map +1 -0
  293. package/dist/generated/types/feeUpdate.d.ts +24 -0
  294. package/dist/generated/types/feeUpdate.d.ts.map +1 -0
  295. package/dist/generated/types/feeUpdate.js +29 -0
  296. package/dist/generated/types/feeUpdate.js.map +1 -0
  297. package/dist/generated/types/harvestFeeEvent.d.ts +32 -0
  298. package/dist/generated/types/harvestFeeEvent.d.ts.map +1 -0
  299. package/dist/generated/types/harvestFeeEvent.js +41 -0
  300. package/dist/generated/types/harvestFeeEvent.js.map +1 -0
  301. package/dist/generated/types/highWaterMark.d.ts +28 -0
  302. package/dist/generated/types/highWaterMark.d.ts.map +1 -0
  303. package/dist/generated/types/highWaterMark.js +31 -0
  304. package/dist/generated/types/highWaterMark.js.map +1 -0
  305. package/dist/generated/types/index.d.ts +44 -0
  306. package/dist/generated/types/index.d.ts.map +1 -0
  307. package/dist/generated/types/index.js +60 -0
  308. package/dist/generated/types/index.js.map +1 -0
  309. package/dist/generated/types/initProtocolEvent.d.ts +22 -0
  310. package/dist/generated/types/initProtocolEvent.d.ts.map +1 -0
  311. package/dist/generated/types/initProtocolEvent.js +31 -0
  312. package/dist/generated/types/initProtocolEvent.js.map +1 -0
  313. package/dist/generated/types/initializeDirectWithdrawStrategyEvent.d.ts +34 -0
  314. package/dist/generated/types/initializeDirectWithdrawStrategyEvent.d.ts.map +1 -0
  315. package/dist/generated/types/initializeDirectWithdrawStrategyEvent.js +55 -0
  316. package/dist/generated/types/initializeDirectWithdrawStrategyEvent.js.map +1 -0
  317. package/dist/generated/types/initializeStrategyEvent.d.ts +32 -0
  318. package/dist/generated/types/initializeStrategyEvent.d.ts.map +1 -0
  319. package/dist/generated/types/initializeStrategyEvent.js +41 -0
  320. package/dist/generated/types/initializeStrategyEvent.js.map +1 -0
  321. package/dist/generated/types/initializeVaultEvent.d.ts +56 -0
  322. package/dist/generated/types/initializeVaultEvent.d.ts.map +1 -0
  323. package/dist/generated/types/initializeVaultEvent.js +71 -0
  324. package/dist/generated/types/initializeVaultEvent.js.map +1 -0
  325. package/dist/generated/types/instantWithdrawStrategyEvent.d.ts +68 -0
  326. package/dist/generated/types/instantWithdrawStrategyEvent.d.ts.map +1 -0
  327. package/dist/generated/types/instantWithdrawStrategyEvent.js +77 -0
  328. package/dist/generated/types/instantWithdrawStrategyEvent.js.map +1 -0
  329. package/dist/generated/types/instantWithdrawVaultEvent.d.ts +56 -0
  330. package/dist/generated/types/instantWithdrawVaultEvent.d.ts.map +1 -0
  331. package/dist/generated/types/instantWithdrawVaultEvent.js +65 -0
  332. package/dist/generated/types/instantWithdrawVaultEvent.js.map +1 -0
  333. package/dist/generated/types/lockedProfitState.d.ts +20 -0
  334. package/dist/generated/types/lockedProfitState.d.ts.map +1 -0
  335. package/dist/generated/types/lockedProfitState.js +29 -0
  336. package/dist/generated/types/lockedProfitState.js.map +1 -0
  337. package/dist/generated/types/protocolConfigField.d.ts +17 -0
  338. package/dist/generated/types/protocolConfigField.d.ts.map +1 -0
  339. package/dist/generated/types/protocolConfigField.js +29 -0
  340. package/dist/generated/types/protocolConfigField.js.map +1 -0
  341. package/dist/generated/types/protocolFeeField.d.ts +17 -0
  342. package/dist/generated/types/protocolFeeField.d.ts.map +1 -0
  343. package/dist/generated/types/protocolFeeField.js +29 -0
  344. package/dist/generated/types/protocolFeeField.js.map +1 -0
  345. package/dist/generated/types/removeAdaptorEvent.d.ts +26 -0
  346. package/dist/generated/types/removeAdaptorEvent.d.ts.map +1 -0
  347. package/dist/generated/types/removeAdaptorEvent.js +35 -0
  348. package/dist/generated/types/removeAdaptorEvent.js.map +1 -0
  349. package/dist/generated/types/requestWithdrawVaultEvent.d.ts +44 -0
  350. package/dist/generated/types/requestWithdrawVaultEvent.d.ts.map +1 -0
  351. package/dist/generated/types/requestWithdrawVaultEvent.js +53 -0
  352. package/dist/generated/types/requestWithdrawVaultEvent.js.map +1 -0
  353. package/dist/generated/types/updateProtocolEvent.d.ts +28 -0
  354. package/dist/generated/types/updateProtocolEvent.d.ts.map +1 -0
  355. package/dist/generated/types/updateProtocolEvent.js +37 -0
  356. package/dist/generated/types/updateProtocolEvent.js.map +1 -0
  357. package/dist/generated/types/updateVaultConfigEvent.d.ts +28 -0
  358. package/dist/generated/types/updateVaultConfigEvent.d.ts.map +1 -0
  359. package/dist/generated/types/updateVaultConfigEvent.js +37 -0
  360. package/dist/generated/types/updateVaultConfigEvent.js.map +1 -0
  361. package/dist/generated/types/updateVaultEvent.d.ts +62 -0
  362. package/dist/generated/types/updateVaultEvent.d.ts.map +1 -0
  363. package/dist/generated/types/updateVaultEvent.js +71 -0
  364. package/dist/generated/types/updateVaultEvent.js.map +1 -0
  365. package/dist/generated/types/updateVaultProtocolFeeEvent.d.ts +28 -0
  366. package/dist/generated/types/updateVaultProtocolFeeEvent.d.ts.map +1 -0
  367. package/dist/generated/types/updateVaultProtocolFeeEvent.js +37 -0
  368. package/dist/generated/types/updateVaultProtocolFeeEvent.js.map +1 -0
  369. package/dist/generated/types/vaultAsset.d.ts +36 -0
  370. package/dist/generated/types/vaultAsset.d.ts.map +1 -0
  371. package/dist/generated/types/vaultAsset.js +35 -0
  372. package/dist/generated/types/vaultAsset.js.map +1 -0
  373. package/dist/generated/types/vaultConfigField.d.ts +28 -0
  374. package/dist/generated/types/vaultConfigField.d.ts.map +1 -0
  375. package/dist/generated/types/vaultConfigField.js +40 -0
  376. package/dist/generated/types/vaultConfigField.js.map +1 -0
  377. package/dist/generated/types/vaultConfiguration.d.ts +40 -0
  378. package/dist/generated/types/vaultConfiguration.d.ts.map +1 -0
  379. package/dist/generated/types/vaultConfiguration.js +37 -0
  380. package/dist/generated/types/vaultConfiguration.js.map +1 -0
  381. package/dist/generated/types/vaultLp.d.ts +23 -0
  382. package/dist/generated/types/vaultLp.d.ts.map +1 -0
  383. package/dist/generated/types/vaultLp.js +33 -0
  384. package/dist/generated/types/vaultLp.js.map +1 -0
  385. package/dist/generated/types/withdrawStrategyEvent.d.ts +52 -0
  386. package/dist/generated/types/withdrawStrategyEvent.d.ts.map +1 -0
  387. package/dist/generated/types/withdrawStrategyEvent.js +61 -0
  388. package/dist/generated/types/withdrawStrategyEvent.js.map +1 -0
  389. package/dist/generated/types/withdrawVaultEvent.d.ts +50 -0
  390. package/dist/generated/types/withdrawVaultEvent.d.ts.map +1 -0
  391. package/dist/generated/types/withdrawVaultEvent.js +59 -0
  392. package/dist/generated/types/withdrawVaultEvent.js.map +1 -0
  393. package/dist/index.d.ts +3 -4
  394. package/dist/index.d.ts.map +1 -0
  395. package/dist/index.js +3 -4
  396. package/dist/index.js.map +1 -0
  397. package/package.json +31 -27
  398. package/src/extensions/batchFetchers.ts +121 -0
  399. package/src/extensions/decimal.ts +15 -0
  400. package/src/extensions/events.ts +328 -0
  401. package/src/extensions/fees.ts +36 -0
  402. package/src/extensions/index.ts +10 -0
  403. package/src/extensions/lpEconomics.ts +225 -0
  404. package/src/extensions/math.ts +338 -0
  405. package/src/extensions/metadataPda.ts +47 -0
  406. package/src/extensions/position.ts +54 -0
  407. package/src/extensions/rpc.ts +17 -0
  408. package/src/extensions/withdrawals.ts +113 -0
  409. package/src/generated/accounts/adaptorAddReceipt.ts +194 -0
  410. package/src/generated/accounts/directWithdrawInitReceipt.ts +235 -0
  411. package/src/generated/accounts/index.ts +14 -0
  412. package/src/generated/accounts/protocol.ts +176 -0
  413. package/src/generated/accounts/requestWithdrawVaultReceipt.ts +197 -0
  414. package/src/generated/accounts/strategyInitReceipt.ts +221 -0
  415. package/src/generated/accounts/vault.ts +274 -0
  416. package/src/generated/errors/index.ts +9 -0
  417. package/src/generated/errors/voltrVault.ts +112 -0
  418. package/src/generated/index.ts +14 -0
  419. package/src/generated/instructions/acceptProtocolAdmin.ts +248 -0
  420. package/src/generated/instructions/acceptVaultAdmin.ts +187 -0
  421. package/src/generated/instructions/addAdaptor.ts +391 -0
  422. package/src/generated/instructions/calibrateHighWaterMark.ts +394 -0
  423. package/src/generated/instructions/calibrateHighWaterMarkUnsafe.ts +311 -0
  424. package/src/generated/instructions/cancelRequestWithdrawVault.ts +546 -0
  425. package/src/generated/instructions/closeStrategy.ts +395 -0
  426. package/src/generated/instructions/createLpMetadata.ts +501 -0
  427. package/src/generated/instructions/depositStrategy.ts +737 -0
  428. package/src/generated/instructions/depositVault.ts +686 -0
  429. package/src/generated/instructions/directWithdrawStrategy.ts +903 -0
  430. package/src/generated/instructions/directWithdrawStrategyWithTolerance.ts +913 -0
  431. package/src/generated/instructions/harvestFee.ts +599 -0
  432. package/src/generated/instructions/index.ts +35 -0
  433. package/src/generated/instructions/initProtocol.ts +329 -0
  434. package/src/generated/instructions/initializeDirectWithdrawStrategy.ts +576 -0
  435. package/src/generated/instructions/initializeStrategy.ts +557 -0
  436. package/src/generated/instructions/initializeVault.ts +784 -0
  437. package/src/generated/instructions/instantWithdrawStrategy.ts +870 -0
  438. package/src/generated/instructions/instantWithdrawStrategyWithTolerance.ts +878 -0
  439. package/src/generated/instructions/instantWithdrawVault.ts +670 -0
  440. package/src/generated/instructions/removeAdaptor.ts +371 -0
  441. package/src/generated/instructions/requestWithdrawVault.ts +608 -0
  442. package/src/generated/instructions/updateProtocol.ts +270 -0
  443. package/src/generated/instructions/updateVaultConfig.ts +343 -0
  444. package/src/generated/instructions/updateVaultProtocolFee.ts +344 -0
  445. package/src/generated/instructions/withdrawStrategy.ts +737 -0
  446. package/src/generated/instructions/withdrawVault.ts +685 -0
  447. package/src/generated/pdas/adaptorAddReceipt.ts +42 -0
  448. package/src/generated/pdas/directWithdrawInitReceipt.ts +42 -0
  449. package/src/generated/pdas/index.ts +17 -0
  450. package/src/generated/pdas/protocol.ts +30 -0
  451. package/src/generated/pdas/requestWithdrawVaultReceipt.ts +43 -0
  452. package/src/generated/pdas/strategyInitReceipt.ts +42 -0
  453. package/src/generated/pdas/vaultAssetIdleAuth.ts +40 -0
  454. package/src/generated/pdas/vaultLpMint.ts +39 -0
  455. package/src/generated/pdas/vaultLpMintAuth.ts +40 -0
  456. package/src/generated/pdas/vaultStrategyAuth.ts +42 -0
  457. package/src/generated/programs/index.ts +9 -0
  458. package/src/generated/programs/voltrVault.ts +1261 -0
  459. package/src/generated/types/acceptProtocolAdminEvent.ts +63 -0
  460. package/src/generated/types/acceptVaultAdminEvent.ts +63 -0
  461. package/src/generated/types/addAdaptorEvent.ts +68 -0
  462. package/src/generated/types/calibrateHighWaterMarkEvent.ts +85 -0
  463. package/src/generated/types/calibrateHighWaterMarkUnsafeEvent.ts +77 -0
  464. package/src/generated/types/cancelRequestWithdrawVaultEvent.ts +81 -0
  465. package/src/generated/types/closeStrategyEvent.ts +67 -0
  466. package/src/generated/types/depositStrategyEvent.ts +121 -0
  467. package/src/generated/types/depositVaultEvent.ts +113 -0
  468. package/src/generated/types/directWithdrawStrategyEvent.ts +141 -0
  469. package/src/generated/types/feeConfiguration.ts +84 -0
  470. package/src/generated/types/feeState.ts +67 -0
  471. package/src/generated/types/feeUpdate.ts +50 -0
  472. package/src/generated/types/harvestFeeEvent.ts +76 -0
  473. package/src/generated/types/highWaterMark.ts +66 -0
  474. package/src/generated/types/index.ts +44 -0
  475. package/src/generated/types/initProtocolEvent.ts +61 -0
  476. package/src/generated/types/initializeDirectWithdrawStrategyEvent.ts +104 -0
  477. package/src/generated/types/initializeStrategyEvent.ts +81 -0
  478. package/src/generated/types/initializeVaultEvent.ts +141 -0
  479. package/src/generated/types/instantWithdrawStrategyEvent.ts +155 -0
  480. package/src/generated/types/instantWithdrawVaultEvent.ts +131 -0
  481. package/src/generated/types/lockedProfitState.ts +52 -0
  482. package/src/generated/types/protocolConfigField.ts +41 -0
  483. package/src/generated/types/protocolFeeField.ts +41 -0
  484. package/src/generated/types/removeAdaptorEvent.ts +67 -0
  485. package/src/generated/types/requestWithdrawVaultEvent.ts +107 -0
  486. package/src/generated/types/updateProtocolEvent.ts +77 -0
  487. package/src/generated/types/updateVaultConfigEvent.ts +77 -0
  488. package/src/generated/types/updateVaultEvent.ts +141 -0
  489. package/src/generated/types/updateVaultProtocolFeeEvent.ts +79 -0
  490. package/src/generated/types/vaultAsset.ts +81 -0
  491. package/src/generated/types/vaultConfigField.ts +52 -0
  492. package/src/generated/types/vaultConfiguration.ts +87 -0
  493. package/src/generated/types/vaultLp.ts +61 -0
  494. package/src/generated/types/withdrawStrategyEvent.ts +121 -0
  495. package/src/generated/types/withdrawVaultEvent.ts +117 -0
  496. package/src/index.ts +2 -0
  497. package/README.md +0 -453
  498. package/dist/client.d.ts +0 -1544
  499. package/dist/client.js +0 -1962
  500. package/dist/constants.d.ts +0 -20
  501. package/dist/constants.js +0 -27
  502. package/dist/decimals.d.ts +0 -3
  503. package/dist/decimals.js +0 -10
  504. package/dist/idl/voltr_vault.json +0 -9029
  505. package/dist/types/index.d.ts +0 -2
  506. package/dist/types/vault.d.ts +0 -70
  507. package/dist/types/vault.js +0 -29
  508. package/dist/types/voltr_vault.d.ts +0 -9035
@@ -0,0 +1,608 @@
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
+ combineCodec,
11
+ fixDecoderSize,
12
+ fixEncoderSize,
13
+ getAddressEncoder,
14
+ getBooleanDecoder,
15
+ getBooleanEncoder,
16
+ getBytesDecoder,
17
+ getBytesEncoder,
18
+ getProgramDerivedAddress,
19
+ getStructDecoder,
20
+ getStructEncoder,
21
+ getU64Decoder,
22
+ getU64Encoder,
23
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
24
+ SolanaError,
25
+ transformEncoder,
26
+ type AccountMeta,
27
+ type AccountSignerMeta,
28
+ type Address,
29
+ type FixedSizeCodec,
30
+ type FixedSizeDecoder,
31
+ type FixedSizeEncoder,
32
+ type Instruction,
33
+ type InstructionWithAccounts,
34
+ type InstructionWithData,
35
+ type ReadonlyAccount,
36
+ type ReadonlySignerAccount,
37
+ type ReadonlyUint8Array,
38
+ type TransactionSigner,
39
+ type WritableAccount,
40
+ type WritableSignerAccount,
41
+ } from "@solana/kit";
42
+ import {
43
+ getAccountMetaFactory,
44
+ getAddressFromResolvedInstructionAccount,
45
+ type ResolvedInstructionAccount,
46
+ } from "@solana/program-client-core";
47
+ import {
48
+ findProtocolPda,
49
+ findRequestWithdrawVaultReceiptPda,
50
+ findVaultLpMintPda,
51
+ } from "../pdas";
52
+ import { VOLTR_VAULT_PROGRAM_ADDRESS } from "../programs";
53
+
54
+ export const REQUEST_WITHDRAW_VAULT_DISCRIMINATOR = new Uint8Array([
55
+ 248, 225, 47, 22, 116, 144, 23, 143,
56
+ ]);
57
+
58
+ export function getRequestWithdrawVaultDiscriminatorBytes() {
59
+ return fixEncoderSize(getBytesEncoder(), 8).encode(
60
+ REQUEST_WITHDRAW_VAULT_DISCRIMINATOR,
61
+ );
62
+ }
63
+
64
+ export type RequestWithdrawVaultInstruction<
65
+ TProgram extends string = typeof VOLTR_VAULT_PROGRAM_ADDRESS,
66
+ TAccountPayer extends string | AccountMeta<string> = string,
67
+ TAccountUserTransferAuthority extends string | AccountMeta<string> = string,
68
+ TAccountProtocol extends string | AccountMeta<string> = string,
69
+ TAccountVault extends string | AccountMeta<string> = string,
70
+ TAccountVaultLpMint extends string | AccountMeta<string> = string,
71
+ TAccountUserLpAta extends string | AccountMeta<string> = string,
72
+ TAccountRequestWithdrawLpAta extends string | AccountMeta<string> = string,
73
+ TAccountRequestWithdrawVaultReceipt extends string | AccountMeta<string> =
74
+ string,
75
+ TAccountLpTokenProgram extends string | AccountMeta<string> =
76
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
77
+ TAccountSystemProgram extends string | AccountMeta<string> =
78
+ "11111111111111111111111111111111",
79
+ TRemainingAccounts extends readonly AccountMeta<string>[] = [],
80
+ > = Instruction<TProgram> &
81
+ InstructionWithData<ReadonlyUint8Array> &
82
+ InstructionWithAccounts<
83
+ [
84
+ TAccountPayer extends string
85
+ ? WritableSignerAccount<TAccountPayer> &
86
+ AccountSignerMeta<TAccountPayer>
87
+ : TAccountPayer,
88
+ TAccountUserTransferAuthority extends string
89
+ ? ReadonlySignerAccount<TAccountUserTransferAuthority> &
90
+ AccountSignerMeta<TAccountUserTransferAuthority>
91
+ : TAccountUserTransferAuthority,
92
+ TAccountProtocol extends string
93
+ ? ReadonlyAccount<TAccountProtocol>
94
+ : TAccountProtocol,
95
+ TAccountVault extends string
96
+ ? ReadonlyAccount<TAccountVault>
97
+ : TAccountVault,
98
+ TAccountVaultLpMint extends string
99
+ ? ReadonlyAccount<TAccountVaultLpMint>
100
+ : TAccountVaultLpMint,
101
+ TAccountUserLpAta extends string
102
+ ? WritableAccount<TAccountUserLpAta>
103
+ : TAccountUserLpAta,
104
+ TAccountRequestWithdrawLpAta extends string
105
+ ? WritableAccount<TAccountRequestWithdrawLpAta>
106
+ : TAccountRequestWithdrawLpAta,
107
+ TAccountRequestWithdrawVaultReceipt extends string
108
+ ? WritableAccount<TAccountRequestWithdrawVaultReceipt>
109
+ : TAccountRequestWithdrawVaultReceipt,
110
+ TAccountLpTokenProgram extends string
111
+ ? ReadonlyAccount<TAccountLpTokenProgram>
112
+ : TAccountLpTokenProgram,
113
+ TAccountSystemProgram extends string
114
+ ? ReadonlyAccount<TAccountSystemProgram>
115
+ : TAccountSystemProgram,
116
+ ...TRemainingAccounts,
117
+ ]
118
+ >;
119
+
120
+ export type RequestWithdrawVaultInstructionData = {
121
+ discriminator: ReadonlyUint8Array;
122
+ amount: bigint;
123
+ isAmountInLp: boolean;
124
+ isWithdrawAll: boolean;
125
+ };
126
+
127
+ export type RequestWithdrawVaultInstructionDataArgs = {
128
+ amount: number | bigint;
129
+ isAmountInLp: boolean;
130
+ isWithdrawAll: boolean;
131
+ };
132
+
133
+ export function getRequestWithdrawVaultInstructionDataEncoder(): FixedSizeEncoder<RequestWithdrawVaultInstructionDataArgs> {
134
+ return transformEncoder(
135
+ getStructEncoder([
136
+ ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
137
+ ["amount", getU64Encoder()],
138
+ ["isAmountInLp", getBooleanEncoder()],
139
+ ["isWithdrawAll", getBooleanEncoder()],
140
+ ]),
141
+ (value) => ({
142
+ ...value,
143
+ discriminator: REQUEST_WITHDRAW_VAULT_DISCRIMINATOR,
144
+ }),
145
+ );
146
+ }
147
+
148
+ export function getRequestWithdrawVaultInstructionDataDecoder(): FixedSizeDecoder<RequestWithdrawVaultInstructionData> {
149
+ return getStructDecoder([
150
+ ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
151
+ ["amount", getU64Decoder()],
152
+ ["isAmountInLp", getBooleanDecoder()],
153
+ ["isWithdrawAll", getBooleanDecoder()],
154
+ ]);
155
+ }
156
+
157
+ export function getRequestWithdrawVaultInstructionDataCodec(): FixedSizeCodec<
158
+ RequestWithdrawVaultInstructionDataArgs,
159
+ RequestWithdrawVaultInstructionData
160
+ > {
161
+ return combineCodec(
162
+ getRequestWithdrawVaultInstructionDataEncoder(),
163
+ getRequestWithdrawVaultInstructionDataDecoder(),
164
+ );
165
+ }
166
+
167
+ export type RequestWithdrawVaultAsyncInput<
168
+ TAccountPayer extends string = string,
169
+ TAccountUserTransferAuthority extends string = string,
170
+ TAccountProtocol extends string = string,
171
+ TAccountVault extends string = string,
172
+ TAccountVaultLpMint extends string = string,
173
+ TAccountUserLpAta extends string = string,
174
+ TAccountRequestWithdrawLpAta extends string = string,
175
+ TAccountRequestWithdrawVaultReceipt extends string = string,
176
+ TAccountLpTokenProgram extends string = string,
177
+ TAccountSystemProgram extends string = string,
178
+ > = {
179
+ /** The payer of the request */
180
+ payer: TransactionSigner<TAccountPayer>;
181
+ /** The authority that owns the LP tokens and wants to redeem them */
182
+ userTransferAuthority: TransactionSigner<TAccountUserTransferAuthority>;
183
+ protocol?: Address<TAccountProtocol>;
184
+ vault: Address<TAccountVault>;
185
+ vaultLpMint?: Address<TAccountVaultLpMint>;
186
+ /** The user's LP token account from which LP tokens will be burned. */
187
+ userLpAta?: Address<TAccountUserLpAta>;
188
+ /** The request's associated token account for LP. */
189
+ requestWithdrawLpAta?: Address<TAccountRequestWithdrawLpAta>;
190
+ requestWithdrawVaultReceipt?: Address<TAccountRequestWithdrawVaultReceipt>;
191
+ lpTokenProgram?: Address<TAccountLpTokenProgram>;
192
+ systemProgram?: Address<TAccountSystemProgram>;
193
+ amount: RequestWithdrawVaultInstructionDataArgs["amount"];
194
+ isAmountInLp: RequestWithdrawVaultInstructionDataArgs["isAmountInLp"];
195
+ isWithdrawAll: RequestWithdrawVaultInstructionDataArgs["isWithdrawAll"];
196
+ };
197
+
198
+ export async function getRequestWithdrawVaultInstructionAsync<
199
+ TAccountPayer extends string,
200
+ TAccountUserTransferAuthority extends string,
201
+ TAccountProtocol extends string,
202
+ TAccountVault extends string,
203
+ TAccountVaultLpMint extends string,
204
+ TAccountUserLpAta extends string,
205
+ TAccountRequestWithdrawLpAta extends string,
206
+ TAccountRequestWithdrawVaultReceipt extends string,
207
+ TAccountLpTokenProgram extends string,
208
+ TAccountSystemProgram extends string,
209
+ TProgramAddress extends Address = typeof VOLTR_VAULT_PROGRAM_ADDRESS,
210
+ >(
211
+ input: RequestWithdrawVaultAsyncInput<
212
+ TAccountPayer,
213
+ TAccountUserTransferAuthority,
214
+ TAccountProtocol,
215
+ TAccountVault,
216
+ TAccountVaultLpMint,
217
+ TAccountUserLpAta,
218
+ TAccountRequestWithdrawLpAta,
219
+ TAccountRequestWithdrawVaultReceipt,
220
+ TAccountLpTokenProgram,
221
+ TAccountSystemProgram
222
+ >,
223
+ config?: { programAddress?: TProgramAddress },
224
+ ): Promise<
225
+ RequestWithdrawVaultInstruction<
226
+ TProgramAddress,
227
+ TAccountPayer,
228
+ TAccountUserTransferAuthority,
229
+ TAccountProtocol,
230
+ TAccountVault,
231
+ TAccountVaultLpMint,
232
+ TAccountUserLpAta,
233
+ TAccountRequestWithdrawLpAta,
234
+ TAccountRequestWithdrawVaultReceipt,
235
+ TAccountLpTokenProgram,
236
+ TAccountSystemProgram
237
+ >
238
+ > {
239
+ // Program address.
240
+ const programAddress = config?.programAddress ?? VOLTR_VAULT_PROGRAM_ADDRESS;
241
+
242
+ // Original accounts.
243
+ const originalAccounts = {
244
+ payer: { value: input.payer ?? null, isWritable: true },
245
+ userTransferAuthority: {
246
+ value: input.userTransferAuthority ?? null,
247
+ isWritable: false,
248
+ },
249
+ protocol: { value: input.protocol ?? null, isWritable: false },
250
+ vault: { value: input.vault ?? null, isWritable: false },
251
+ vaultLpMint: { value: input.vaultLpMint ?? null, isWritable: false },
252
+ userLpAta: { value: input.userLpAta ?? null, isWritable: true },
253
+ requestWithdrawLpAta: {
254
+ value: input.requestWithdrawLpAta ?? null,
255
+ isWritable: true,
256
+ },
257
+ requestWithdrawVaultReceipt: {
258
+ value: input.requestWithdrawVaultReceipt ?? null,
259
+ isWritable: true,
260
+ },
261
+ lpTokenProgram: { value: input.lpTokenProgram ?? null, isWritable: false },
262
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
263
+ };
264
+ const accounts = originalAccounts as Record<
265
+ keyof typeof originalAccounts,
266
+ ResolvedInstructionAccount
267
+ >;
268
+
269
+ // Original args.
270
+ const args = { ...input };
271
+
272
+ // Resolve default values.
273
+ if (!accounts.protocol.value) {
274
+ accounts.protocol.value = await findProtocolPda();
275
+ }
276
+ if (!accounts.vaultLpMint.value) {
277
+ accounts.vaultLpMint.value = await findVaultLpMintPda({
278
+ vault: getAddressFromResolvedInstructionAccount(
279
+ "vault",
280
+ accounts.vault.value,
281
+ ),
282
+ });
283
+ }
284
+ if (!accounts.lpTokenProgram.value) {
285
+ accounts.lpTokenProgram.value =
286
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
287
+ }
288
+ if (!accounts.userLpAta.value) {
289
+ accounts.userLpAta.value = await getProgramDerivedAddress({
290
+ programAddress:
291
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" as Address<"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL">,
292
+ seeds: [
293
+ getAddressEncoder().encode(
294
+ getAddressFromResolvedInstructionAccount(
295
+ "userTransferAuthority",
296
+ accounts.userTransferAuthority.value,
297
+ ),
298
+ ),
299
+ getAddressEncoder().encode(
300
+ getAddressFromResolvedInstructionAccount(
301
+ "lpTokenProgram",
302
+ accounts.lpTokenProgram.value,
303
+ ),
304
+ ),
305
+ getAddressEncoder().encode(
306
+ getAddressFromResolvedInstructionAccount(
307
+ "vaultLpMint",
308
+ accounts.vaultLpMint.value,
309
+ ),
310
+ ),
311
+ ],
312
+ });
313
+ }
314
+ if (!accounts.requestWithdrawVaultReceipt.value) {
315
+ accounts.requestWithdrawVaultReceipt.value =
316
+ await findRequestWithdrawVaultReceiptPda({
317
+ vault: getAddressFromResolvedInstructionAccount(
318
+ "vault",
319
+ accounts.vault.value,
320
+ ),
321
+ userTransferAuthority: getAddressFromResolvedInstructionAccount(
322
+ "userTransferAuthority",
323
+ accounts.userTransferAuthority.value,
324
+ ),
325
+ });
326
+ }
327
+ if (!accounts.requestWithdrawLpAta.value) {
328
+ accounts.requestWithdrawLpAta.value = await getProgramDerivedAddress({
329
+ programAddress:
330
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" as Address<"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL">,
331
+ seeds: [
332
+ getAddressEncoder().encode(
333
+ getAddressFromResolvedInstructionAccount(
334
+ "requestWithdrawVaultReceipt",
335
+ accounts.requestWithdrawVaultReceipt.value,
336
+ ),
337
+ ),
338
+ getAddressEncoder().encode(
339
+ getAddressFromResolvedInstructionAccount(
340
+ "lpTokenProgram",
341
+ accounts.lpTokenProgram.value,
342
+ ),
343
+ ),
344
+ getAddressEncoder().encode(
345
+ getAddressFromResolvedInstructionAccount(
346
+ "vaultLpMint",
347
+ accounts.vaultLpMint.value,
348
+ ),
349
+ ),
350
+ ],
351
+ });
352
+ }
353
+ if (!accounts.systemProgram.value) {
354
+ accounts.systemProgram.value =
355
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
356
+ }
357
+
358
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
359
+ return Object.freeze({
360
+ accounts: [
361
+ getAccountMeta("payer", accounts.payer),
362
+ getAccountMeta("userTransferAuthority", accounts.userTransferAuthority),
363
+ getAccountMeta("protocol", accounts.protocol),
364
+ getAccountMeta("vault", accounts.vault),
365
+ getAccountMeta("vaultLpMint", accounts.vaultLpMint),
366
+ getAccountMeta("userLpAta", accounts.userLpAta),
367
+ getAccountMeta("requestWithdrawLpAta", accounts.requestWithdrawLpAta),
368
+ getAccountMeta(
369
+ "requestWithdrawVaultReceipt",
370
+ accounts.requestWithdrawVaultReceipt,
371
+ ),
372
+ getAccountMeta("lpTokenProgram", accounts.lpTokenProgram),
373
+ getAccountMeta("systemProgram", accounts.systemProgram),
374
+ ],
375
+ data: getRequestWithdrawVaultInstructionDataEncoder().encode(
376
+ args as RequestWithdrawVaultInstructionDataArgs,
377
+ ),
378
+ programAddress,
379
+ } as RequestWithdrawVaultInstruction<
380
+ TProgramAddress,
381
+ TAccountPayer,
382
+ TAccountUserTransferAuthority,
383
+ TAccountProtocol,
384
+ TAccountVault,
385
+ TAccountVaultLpMint,
386
+ TAccountUserLpAta,
387
+ TAccountRequestWithdrawLpAta,
388
+ TAccountRequestWithdrawVaultReceipt,
389
+ TAccountLpTokenProgram,
390
+ TAccountSystemProgram
391
+ >);
392
+ }
393
+
394
+ export type RequestWithdrawVaultInput<
395
+ TAccountPayer extends string = string,
396
+ TAccountUserTransferAuthority extends string = string,
397
+ TAccountProtocol extends string = string,
398
+ TAccountVault extends string = string,
399
+ TAccountVaultLpMint extends string = string,
400
+ TAccountUserLpAta extends string = string,
401
+ TAccountRequestWithdrawLpAta extends string = string,
402
+ TAccountRequestWithdrawVaultReceipt extends string = string,
403
+ TAccountLpTokenProgram extends string = string,
404
+ TAccountSystemProgram extends string = string,
405
+ > = {
406
+ /** The payer of the request */
407
+ payer: TransactionSigner<TAccountPayer>;
408
+ /** The authority that owns the LP tokens and wants to redeem them */
409
+ userTransferAuthority: TransactionSigner<TAccountUserTransferAuthority>;
410
+ protocol: Address<TAccountProtocol>;
411
+ vault: Address<TAccountVault>;
412
+ vaultLpMint: Address<TAccountVaultLpMint>;
413
+ /** The user's LP token account from which LP tokens will be burned. */
414
+ userLpAta: Address<TAccountUserLpAta>;
415
+ /** The request's associated token account for LP. */
416
+ requestWithdrawLpAta: Address<TAccountRequestWithdrawLpAta>;
417
+ requestWithdrawVaultReceipt: Address<TAccountRequestWithdrawVaultReceipt>;
418
+ lpTokenProgram?: Address<TAccountLpTokenProgram>;
419
+ systemProgram?: Address<TAccountSystemProgram>;
420
+ amount: RequestWithdrawVaultInstructionDataArgs["amount"];
421
+ isAmountInLp: RequestWithdrawVaultInstructionDataArgs["isAmountInLp"];
422
+ isWithdrawAll: RequestWithdrawVaultInstructionDataArgs["isWithdrawAll"];
423
+ };
424
+
425
+ export function getRequestWithdrawVaultInstruction<
426
+ TAccountPayer extends string,
427
+ TAccountUserTransferAuthority extends string,
428
+ TAccountProtocol extends string,
429
+ TAccountVault extends string,
430
+ TAccountVaultLpMint extends string,
431
+ TAccountUserLpAta extends string,
432
+ TAccountRequestWithdrawLpAta extends string,
433
+ TAccountRequestWithdrawVaultReceipt extends string,
434
+ TAccountLpTokenProgram extends string,
435
+ TAccountSystemProgram extends string,
436
+ TProgramAddress extends Address = typeof VOLTR_VAULT_PROGRAM_ADDRESS,
437
+ >(
438
+ input: RequestWithdrawVaultInput<
439
+ TAccountPayer,
440
+ TAccountUserTransferAuthority,
441
+ TAccountProtocol,
442
+ TAccountVault,
443
+ TAccountVaultLpMint,
444
+ TAccountUserLpAta,
445
+ TAccountRequestWithdrawLpAta,
446
+ TAccountRequestWithdrawVaultReceipt,
447
+ TAccountLpTokenProgram,
448
+ TAccountSystemProgram
449
+ >,
450
+ config?: { programAddress?: TProgramAddress },
451
+ ): RequestWithdrawVaultInstruction<
452
+ TProgramAddress,
453
+ TAccountPayer,
454
+ TAccountUserTransferAuthority,
455
+ TAccountProtocol,
456
+ TAccountVault,
457
+ TAccountVaultLpMint,
458
+ TAccountUserLpAta,
459
+ TAccountRequestWithdrawLpAta,
460
+ TAccountRequestWithdrawVaultReceipt,
461
+ TAccountLpTokenProgram,
462
+ TAccountSystemProgram
463
+ > {
464
+ // Program address.
465
+ const programAddress = config?.programAddress ?? VOLTR_VAULT_PROGRAM_ADDRESS;
466
+
467
+ // Original accounts.
468
+ const originalAccounts = {
469
+ payer: { value: input.payer ?? null, isWritable: true },
470
+ userTransferAuthority: {
471
+ value: input.userTransferAuthority ?? null,
472
+ isWritable: false,
473
+ },
474
+ protocol: { value: input.protocol ?? null, isWritable: false },
475
+ vault: { value: input.vault ?? null, isWritable: false },
476
+ vaultLpMint: { value: input.vaultLpMint ?? null, isWritable: false },
477
+ userLpAta: { value: input.userLpAta ?? null, isWritable: true },
478
+ requestWithdrawLpAta: {
479
+ value: input.requestWithdrawLpAta ?? null,
480
+ isWritable: true,
481
+ },
482
+ requestWithdrawVaultReceipt: {
483
+ value: input.requestWithdrawVaultReceipt ?? null,
484
+ isWritable: true,
485
+ },
486
+ lpTokenProgram: { value: input.lpTokenProgram ?? null, isWritable: false },
487
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
488
+ };
489
+ const accounts = originalAccounts as Record<
490
+ keyof typeof originalAccounts,
491
+ ResolvedInstructionAccount
492
+ >;
493
+
494
+ // Original args.
495
+ const args = { ...input };
496
+
497
+ // Resolve default values.
498
+ if (!accounts.lpTokenProgram.value) {
499
+ accounts.lpTokenProgram.value =
500
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
501
+ }
502
+ if (!accounts.systemProgram.value) {
503
+ accounts.systemProgram.value =
504
+ "11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
505
+ }
506
+
507
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
508
+ return Object.freeze({
509
+ accounts: [
510
+ getAccountMeta("payer", accounts.payer),
511
+ getAccountMeta("userTransferAuthority", accounts.userTransferAuthority),
512
+ getAccountMeta("protocol", accounts.protocol),
513
+ getAccountMeta("vault", accounts.vault),
514
+ getAccountMeta("vaultLpMint", accounts.vaultLpMint),
515
+ getAccountMeta("userLpAta", accounts.userLpAta),
516
+ getAccountMeta("requestWithdrawLpAta", accounts.requestWithdrawLpAta),
517
+ getAccountMeta(
518
+ "requestWithdrawVaultReceipt",
519
+ accounts.requestWithdrawVaultReceipt,
520
+ ),
521
+ getAccountMeta("lpTokenProgram", accounts.lpTokenProgram),
522
+ getAccountMeta("systemProgram", accounts.systemProgram),
523
+ ],
524
+ data: getRequestWithdrawVaultInstructionDataEncoder().encode(
525
+ args as RequestWithdrawVaultInstructionDataArgs,
526
+ ),
527
+ programAddress,
528
+ } as RequestWithdrawVaultInstruction<
529
+ TProgramAddress,
530
+ TAccountPayer,
531
+ TAccountUserTransferAuthority,
532
+ TAccountProtocol,
533
+ TAccountVault,
534
+ TAccountVaultLpMint,
535
+ TAccountUserLpAta,
536
+ TAccountRequestWithdrawLpAta,
537
+ TAccountRequestWithdrawVaultReceipt,
538
+ TAccountLpTokenProgram,
539
+ TAccountSystemProgram
540
+ >);
541
+ }
542
+
543
+ export type ParsedRequestWithdrawVaultInstruction<
544
+ TProgram extends string = typeof VOLTR_VAULT_PROGRAM_ADDRESS,
545
+ TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
546
+ > = {
547
+ programAddress: Address<TProgram>;
548
+ accounts: {
549
+ /** The payer of the request */
550
+ payer: TAccountMetas[0];
551
+ /** The authority that owns the LP tokens and wants to redeem them */
552
+ userTransferAuthority: TAccountMetas[1];
553
+ protocol: TAccountMetas[2];
554
+ vault: TAccountMetas[3];
555
+ vaultLpMint: TAccountMetas[4];
556
+ /** The user's LP token account from which LP tokens will be burned. */
557
+ userLpAta: TAccountMetas[5];
558
+ /** The request's associated token account for LP. */
559
+ requestWithdrawLpAta: TAccountMetas[6];
560
+ requestWithdrawVaultReceipt: TAccountMetas[7];
561
+ lpTokenProgram: TAccountMetas[8];
562
+ systemProgram: TAccountMetas[9];
563
+ };
564
+ data: RequestWithdrawVaultInstructionData;
565
+ };
566
+
567
+ export function parseRequestWithdrawVaultInstruction<
568
+ TProgram extends string,
569
+ TAccountMetas extends readonly AccountMeta[],
570
+ >(
571
+ instruction: Instruction<TProgram> &
572
+ InstructionWithAccounts<TAccountMetas> &
573
+ InstructionWithData<ReadonlyUint8Array>,
574
+ ): ParsedRequestWithdrawVaultInstruction<TProgram, TAccountMetas> {
575
+ if (instruction.accounts.length < 10) {
576
+ throw new SolanaError(
577
+ SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS,
578
+ {
579
+ actualAccountMetas: instruction.accounts.length,
580
+ expectedAccountMetas: 10,
581
+ },
582
+ );
583
+ }
584
+ let accountIndex = 0;
585
+ const getNextAccount = () => {
586
+ const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;
587
+ accountIndex += 1;
588
+ return accountMeta;
589
+ };
590
+ return {
591
+ programAddress: instruction.programAddress,
592
+ accounts: {
593
+ payer: getNextAccount(),
594
+ userTransferAuthority: getNextAccount(),
595
+ protocol: getNextAccount(),
596
+ vault: getNextAccount(),
597
+ vaultLpMint: getNextAccount(),
598
+ userLpAta: getNextAccount(),
599
+ requestWithdrawLpAta: getNextAccount(),
600
+ requestWithdrawVaultReceipt: getNextAccount(),
601
+ lpTokenProgram: getNextAccount(),
602
+ systemProgram: getNextAccount(),
603
+ },
604
+ data: getRequestWithdrawVaultInstructionDataDecoder().decode(
605
+ instruction.data,
606
+ ),
607
+ };
608
+ }