@exponent-labs/exponent-sdk 0.9.2 → 0.9.3

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 (1119) hide show
  1. package/build/addressLookupTableUtil.d.ts +13 -13
  2. package/build/addressLookupTableUtil.js +5 -5
  3. package/build/addressLookupTableUtil.js.map +1 -1
  4. package/build/client/clmm/accounts/lpPosition.js +5 -6
  5. package/build/client/clmm/accounts/lpPosition.js.map +1 -1
  6. package/build/client/clmm/accounts/marketThree.js +5 -6
  7. package/build/client/clmm/accounts/marketThree.js.map +1 -1
  8. package/build/client/clmm/accounts/vault.js +5 -6
  9. package/build/client/clmm/accounts/vault.js.map +1 -1
  10. package/build/client/clmm/index.d.ts +1 -2
  11. package/build/client/clmm/instructions/addFarm.js +1 -2
  12. package/build/client/clmm/instructions/addFarm.js.map +1 -1
  13. package/build/client/clmm/instructions/addLiquidity.js +1 -2
  14. package/build/client/clmm/instructions/addLiquidity.js.map +1 -1
  15. package/build/client/clmm/instructions/addMarketEmission.js +1 -2
  16. package/build/client/clmm/instructions/addMarketEmission.js.map +1 -1
  17. package/build/client/clmm/instructions/buyPt.js +1 -2
  18. package/build/client/clmm/instructions/buyPt.js.map +1 -1
  19. package/build/client/clmm/instructions/buyYt.js +1 -2
  20. package/build/client/clmm/instructions/buyYt.js.map +1 -1
  21. package/build/client/clmm/instructions/claimFarmEmission.js +1 -2
  22. package/build/client/clmm/instructions/claimFarmEmission.js.map +1 -1
  23. package/build/client/clmm/instructions/closeMarket.js +1 -2
  24. package/build/client/clmm/instructions/closeMarket.js.map +1 -1
  25. package/build/client/clmm/instructions/depositLiquidity.js +1 -2
  26. package/build/client/clmm/instructions/depositLiquidity.js.map +1 -1
  27. package/build/client/clmm/instructions/initializeMarket.js +1 -2
  28. package/build/client/clmm/instructions/initializeMarket.js.map +1 -1
  29. package/build/client/clmm/instructions/marketAccrueEmission.js +1 -2
  30. package/build/client/clmm/instructions/marketAccrueEmission.js.map +1 -1
  31. package/build/client/clmm/instructions/marketCollectEmission.js +1 -2
  32. package/build/client/clmm/instructions/marketCollectEmission.js.map +1 -1
  33. package/build/client/clmm/instructions/modifyFarm.js +1 -2
  34. package/build/client/clmm/instructions/modifyFarm.js.map +1 -1
  35. package/build/client/clmm/instructions/modifyMarketSetting.js +1 -2
  36. package/build/client/clmm/instructions/modifyMarketSetting.js.map +1 -1
  37. package/build/client/clmm/instructions/sellPt.js +1 -2
  38. package/build/client/clmm/instructions/sellPt.js.map +1 -1
  39. package/build/client/clmm/instructions/sellYt.js +1 -2
  40. package/build/client/clmm/instructions/sellYt.js.map +1 -1
  41. package/build/client/clmm/instructions/tradePt.js +1 -2
  42. package/build/client/clmm/instructions/tradePt.js.map +1 -1
  43. package/build/client/clmm/instructions/tradePtExactOut.js +1 -2
  44. package/build/client/clmm/instructions/tradePtExactOut.js.map +1 -1
  45. package/build/client/clmm/instructions/withdrawLiquidity.js +1 -2
  46. package/build/client/clmm/instructions/withdrawLiquidity.js.map +1 -1
  47. package/build/client/clmm/instructions/wrapperBuyYt.js +1 -2
  48. package/build/client/clmm/instructions/wrapperBuyYt.js.map +1 -1
  49. package/build/client/clmm/instructions/wrapperProvideLiquidity.js +1 -2
  50. package/build/client/clmm/instructions/wrapperProvideLiquidity.js.map +1 -1
  51. package/build/client/clmm/instructions/wrapperProvideLiquidityBase.js +1 -2
  52. package/build/client/clmm/instructions/wrapperProvideLiquidityBase.js.map +1 -1
  53. package/build/client/clmm/instructions/wrapperProvideLiquidityClassic.js +1 -2
  54. package/build/client/clmm/instructions/wrapperProvideLiquidityClassic.js.map +1 -1
  55. package/build/client/clmm/instructions/wrapperSellYt.js +1 -2
  56. package/build/client/clmm/instructions/wrapperSellYt.js.map +1 -1
  57. package/build/client/clmm/instructions/wrapperWithdrawLiquidity.js +1 -2
  58. package/build/client/clmm/instructions/wrapperWithdrawLiquidity.js.map +1 -1
  59. package/build/client/clmm/instructions/wrapperWithdrawLiquidityClassic.js +1 -2
  60. package/build/client/clmm/instructions/wrapperWithdrawLiquidityClassic.js.map +1 -1
  61. package/build/client/clmm/types/addFarmEvent.d.ts +1 -25
  62. package/build/client/clmm/types/amount.d.ts +1 -19
  63. package/build/client/clmm/types/amount.js +3 -3
  64. package/build/client/clmm/types/amount.js.map +1 -1
  65. package/build/client/clmm/types/buyPtEvent.d.ts +1 -16
  66. package/build/client/clmm/types/buyYtEvent.d.ts +1 -40
  67. package/build/client/clmm/types/claimFarmEmissionsEvent.d.ts +1 -149
  68. package/build/client/clmm/types/claimLimits.d.ts +1 -16
  69. package/build/client/clmm/types/closeMarketEvent.d.ts +1 -16
  70. package/build/client/clmm/types/configurationOptions.d.ts +1 -25
  71. package/build/client/clmm/types/cpiAccounts.d.ts +1 -99
  72. package/build/client/clmm/types/cpiCoreAccounts.d.ts +1 -42
  73. package/build/client/clmm/types/cpiInterfaceContext.d.ts +1 -13
  74. package/build/client/clmm/types/crossingSplit.d.ts +1 -109
  75. package/build/client/clmm/types/depositLiquidityEvent.d.ts +1 -149
  76. package/build/client/clmm/types/depositLiquidityReturnData.d.ts +1 -49
  77. package/build/client/clmm/types/emissionInfo.d.ts +1 -25
  78. package/build/client/clmm/types/farmEmission.d.ts +1 -16
  79. package/build/client/clmm/types/liquidityNetBalanceLimits.d.ts +1 -19
  80. package/build/client/clmm/types/lpFarm.d.ts +1 -30
  81. package/build/client/clmm/types/marketAccrueEmissionEvent.d.ts +1 -134
  82. package/build/client/clmm/types/marketAdminAction.d.ts +1 -306
  83. package/build/client/clmm/types/marketAdminAction.js +3 -3
  84. package/build/client/clmm/types/marketAdminAction.js.map +1 -1
  85. package/build/client/clmm/types/marketCollectEmissionEvent.d.ts +1 -143
  86. package/build/client/clmm/types/marketEmission.d.ts +1 -13
  87. package/build/client/clmm/types/marketEmissions.d.ts +1 -23
  88. package/build/client/clmm/types/marketFinancials.d.ts +1 -19
  89. package/build/client/clmm/types/marketThreeInitEvent.d.ts +1 -52
  90. package/build/client/clmm/types/mergeEvent.d.ts +1 -61
  91. package/build/client/clmm/types/modifiedTick.d.ts +1 -13
  92. package/build/client/clmm/types/modifiedTicks.d.ts +1 -35
  93. package/build/client/clmm/types/modifyFarmEvent.d.ts +1 -31
  94. package/build/client/clmm/types/number.d.ts +1 -1
  95. package/build/client/clmm/types/personalYieldTracker.d.ts +1 -10
  96. package/build/client/clmm/types/personalYieldTrackers.d.ts +1 -19
  97. package/build/client/clmm/types/principalShare.d.ts +1 -42
  98. package/build/client/clmm/types/principalShareTrackers.d.ts +1 -59
  99. package/build/client/clmm/types/sellPtEvent.d.ts +1 -16
  100. package/build/client/clmm/types/sellYtEvent.d.ts +1 -34
  101. package/build/client/clmm/types/stripEvent.d.ts +1 -61
  102. package/build/client/clmm/types/swapDirection.d.ts +1 -1
  103. package/build/client/clmm/types/tradePtEvent.d.ts +1 -90
  104. package/build/client/clmm/types/withdrawLiquidityEvent.d.ts +1 -158
  105. package/build/client/clmm/types/withdrawLiquidityReturnData.d.ts +1 -34
  106. package/build/client/clmm/types/wrapperBuyYtEvent.d.ts +1 -16
  107. package/build/client/clmm/types/wrapperProvideLiquidityBaseEvent.d.ts +1 -40
  108. package/build/client/clmm/types/wrapperProvideLiquidityClassicEvent.d.ts +1 -37
  109. package/build/client/clmm/types/wrapperProvideLiquidityEvent.d.ts +1 -40
  110. package/build/client/clmm/types/wrapperSellYtEvent.d.ts +1 -16
  111. package/build/client/clmm/types/wrapperWithdrawLiquidityClassicEvent.d.ts +1 -43
  112. package/build/client/clmm/types/wrapperWithdrawLiquidityEvent.d.ts +1 -43
  113. package/build/client/core/accounts/admin.js +5 -6
  114. package/build/client/core/accounts/admin.js.map +1 -1
  115. package/build/client/core/accounts/lpPosition.js +5 -6
  116. package/build/client/core/accounts/lpPosition.js.map +1 -1
  117. package/build/client/core/accounts/marketTwo.js +5 -6
  118. package/build/client/core/accounts/marketTwo.js.map +1 -1
  119. package/build/client/core/accounts/vault.js +5 -6
  120. package/build/client/core/accounts/vault.js.map +1 -1
  121. package/build/client/core/accounts/yieldTokenPosition.js +5 -6
  122. package/build/client/core/accounts/yieldTokenPosition.js.map +1 -1
  123. package/build/client/core/index.d.ts +1 -2
  124. package/build/client/core/instructions/addEmission.js +1 -2
  125. package/build/client/core/instructions/addEmission.js.map +1 -1
  126. package/build/client/core/instructions/addFarm.js +1 -2
  127. package/build/client/core/instructions/addFarm.js.map +1 -1
  128. package/build/client/core/instructions/addLpTokensMetadata.js +1 -2
  129. package/build/client/core/instructions/addLpTokensMetadata.js.map +1 -1
  130. package/build/client/core/instructions/addMarketEmission.js +1 -2
  131. package/build/client/core/instructions/addMarketEmission.js.map +1 -1
  132. package/build/client/core/instructions/buyYt.js +1 -2
  133. package/build/client/core/instructions/buyYt.js.map +1 -1
  134. package/build/client/core/instructions/claimFarmEmissions.js +1 -2
  135. package/build/client/core/instructions/claimFarmEmissions.js.map +1 -1
  136. package/build/client/core/instructions/collectEmission.js +1 -2
  137. package/build/client/core/instructions/collectEmission.js.map +1 -1
  138. package/build/client/core/instructions/collectInterest.js +1 -2
  139. package/build/client/core/instructions/collectInterest.js.map +1 -1
  140. package/build/client/core/instructions/collectTreasuryEmission.js +1 -2
  141. package/build/client/core/instructions/collectTreasuryEmission.js.map +1 -1
  142. package/build/client/core/instructions/collectTreasuryInterest.js +1 -2
  143. package/build/client/core/instructions/collectTreasuryInterest.js.map +1 -1
  144. package/build/client/core/instructions/depositYt.js +1 -2
  145. package/build/client/core/instructions/depositYt.js.map +1 -1
  146. package/build/client/core/instructions/initLpPosition.js +1 -2
  147. package/build/client/core/instructions/initLpPosition.js.map +1 -1
  148. package/build/client/core/instructions/initMarketTwo.js +1 -2
  149. package/build/client/core/instructions/initMarketTwo.js.map +1 -1
  150. package/build/client/core/instructions/initializeVault.js +1 -2
  151. package/build/client/core/instructions/initializeVault.js.map +1 -1
  152. package/build/client/core/instructions/initializeYieldPosition.js +1 -2
  153. package/build/client/core/instructions/initializeYieldPosition.js.map +1 -1
  154. package/build/client/core/instructions/marketCollectEmission.js +1 -2
  155. package/build/client/core/instructions/marketCollectEmission.js.map +1 -1
  156. package/build/client/core/instructions/marketDepositLp.js +1 -2
  157. package/build/client/core/instructions/marketDepositLp.js.map +1 -1
  158. package/build/client/core/instructions/marketTwoDepositLiquidity.js +1 -2
  159. package/build/client/core/instructions/marketTwoDepositLiquidity.js.map +1 -1
  160. package/build/client/core/instructions/marketTwoWithdrawLiquidity.js +1 -2
  161. package/build/client/core/instructions/marketTwoWithdrawLiquidity.js.map +1 -1
  162. package/build/client/core/instructions/marketWithdrawLp.js +1 -2
  163. package/build/client/core/instructions/marketWithdrawLp.js.map +1 -1
  164. package/build/client/core/instructions/merge.js +1 -2
  165. package/build/client/core/instructions/merge.js.map +1 -1
  166. package/build/client/core/instructions/modifyFarm.js +1 -2
  167. package/build/client/core/instructions/modifyFarm.js.map +1 -1
  168. package/build/client/core/instructions/modifyMarketSetting.js +1 -2
  169. package/build/client/core/instructions/modifyMarketSetting.js.map +1 -1
  170. package/build/client/core/instructions/modifyVaultSetting.js +1 -2
  171. package/build/client/core/instructions/modifyVaultSetting.js.map +1 -1
  172. package/build/client/core/instructions/reallocMarket.js +1 -2
  173. package/build/client/core/instructions/reallocMarket.js.map +1 -1
  174. package/build/client/core/instructions/sellYt.js +1 -2
  175. package/build/client/core/instructions/sellYt.js.map +1 -1
  176. package/build/client/core/instructions/stageYtYield.js +1 -2
  177. package/build/client/core/instructions/stageYtYield.js.map +1 -1
  178. package/build/client/core/instructions/strip.js +1 -2
  179. package/build/client/core/instructions/strip.js.map +1 -1
  180. package/build/client/core/instructions/tradePt.js +1 -2
  181. package/build/client/core/instructions/tradePt.js.map +1 -1
  182. package/build/client/core/instructions/withdrawYt.js +1 -2
  183. package/build/client/core/instructions/withdrawYt.js.map +1 -1
  184. package/build/client/core/instructions/wrapperBuyPt.js +1 -2
  185. package/build/client/core/instructions/wrapperBuyPt.js.map +1 -1
  186. package/build/client/core/instructions/wrapperBuyYt.js +1 -2
  187. package/build/client/core/instructions/wrapperBuyYt.js.map +1 -1
  188. package/build/client/core/instructions/wrapperCollectInterest.js +1 -2
  189. package/build/client/core/instructions/wrapperCollectInterest.js.map +1 -1
  190. package/build/client/core/instructions/wrapperMerge.js +1 -2
  191. package/build/client/core/instructions/wrapperMerge.js.map +1 -1
  192. package/build/client/core/instructions/wrapperProvideLiquidity.js +1 -2
  193. package/build/client/core/instructions/wrapperProvideLiquidity.js.map +1 -1
  194. package/build/client/core/instructions/wrapperProvideLiquidityBase.js +1 -2
  195. package/build/client/core/instructions/wrapperProvideLiquidityBase.js.map +1 -1
  196. package/build/client/core/instructions/wrapperProvideLiquidityClassic.js +1 -2
  197. package/build/client/core/instructions/wrapperProvideLiquidityClassic.js.map +1 -1
  198. package/build/client/core/instructions/wrapperSellPt.js +1 -2
  199. package/build/client/core/instructions/wrapperSellPt.js.map +1 -1
  200. package/build/client/core/instructions/wrapperSellYt.js +1 -2
  201. package/build/client/core/instructions/wrapperSellYt.js.map +1 -1
  202. package/build/client/core/instructions/wrapperStrip.js +1 -2
  203. package/build/client/core/instructions/wrapperStrip.js.map +1 -1
  204. package/build/client/core/instructions/wrapperWithdrawLiquidity.js +1 -2
  205. package/build/client/core/instructions/wrapperWithdrawLiquidity.js.map +1 -1
  206. package/build/client/core/instructions/wrapperWithdrawLiquidityClassic.js +1 -2
  207. package/build/client/core/instructions/wrapperWithdrawLiquidityClassic.js.map +1 -1
  208. package/build/client/core/types/adminAction.d.ts +1 -269
  209. package/build/client/core/types/adminAction.js +3 -3
  210. package/build/client/core/types/adminAction.js.map +1 -1
  211. package/build/client/core/types/amount.d.ts +1 -19
  212. package/build/client/core/types/amount.js +3 -3
  213. package/build/client/core/types/amount.js.map +1 -1
  214. package/build/client/core/types/buyPtEvent.d.ts +1 -19
  215. package/build/client/core/types/buyYtEvent.d.ts +1 -49
  216. package/build/client/core/types/claimFarmEmissionsEvent.d.ts +1 -31
  217. package/build/client/core/types/claimFarmEmissionsEventV2.d.ts +1 -83
  218. package/build/client/core/types/claimLimits.d.ts +1 -16
  219. package/build/client/core/types/collectEmissionEvent.d.ts +1 -25
  220. package/build/client/core/types/collectEmissionEventV2.d.ts +1 -55
  221. package/build/client/core/types/collectInterestEvent.d.ts +1 -22
  222. package/build/client/core/types/collectInterestEventV2.d.ts +1 -52
  223. package/build/client/core/types/collectTreasuryEmissionKind.d.ts +1 -1
  224. package/build/client/core/types/collectTreasuryInterestKind.d.ts +1 -1
  225. package/build/client/core/types/cpiAccounts.d.ts +1 -99
  226. package/build/client/core/types/cpiInterfaceContext.d.ts +1 -13
  227. package/build/client/core/types/depositLiquidityEvent.d.ts +1 -49
  228. package/build/client/core/types/depositLpEvent.d.ts +1 -31
  229. package/build/client/core/types/depositLpEventV2.d.ts +1 -83
  230. package/build/client/core/types/depositYtEvent.d.ts +1 -40
  231. package/build/client/core/types/depositYtEventV2.d.ts +1 -70
  232. package/build/client/core/types/emissionInfo.d.ts +1 -25
  233. package/build/client/core/types/farmEmission.d.ts +1 -16
  234. package/build/client/core/types/initLpPositionEvent.d.ts +1 -25
  235. package/build/client/core/types/initializeYieldPositionEvent.d.ts +1 -16
  236. package/build/client/core/types/liquidityNetBalanceLimits.d.ts +1 -19
  237. package/build/client/core/types/lpFarm.d.ts +1 -30
  238. package/build/client/core/types/marketAdminAction.d.ts +1 -239
  239. package/build/client/core/types/marketAdminAction.js +3 -3
  240. package/build/client/core/types/marketAdminAction.js.map +1 -1
  241. package/build/client/core/types/marketCollectEmissionEvent.d.ts +1 -28
  242. package/build/client/core/types/marketCollectEmissionEventV2.d.ts +1 -80
  243. package/build/client/core/types/marketEmission.d.ts +1 -13
  244. package/build/client/core/types/marketEmissions.d.ts +1 -23
  245. package/build/client/core/types/marketFinancials.d.ts +1 -22
  246. package/build/client/core/types/mergeEvent.d.ts +1 -61
  247. package/build/client/core/types/number.d.ts +1 -1
  248. package/build/client/core/types/personalYieldTracker.d.ts +1 -10
  249. package/build/client/core/types/personalYieldTrackers.d.ts +1 -19
  250. package/build/client/core/types/principleDetails.d.ts +1 -7
  251. package/build/client/core/types/principles.d.ts +1 -70
  252. package/build/client/core/types/sellPtEvent.d.ts +1 -19
  253. package/build/client/core/types/sellYtEvent.d.ts +1 -43
  254. package/build/client/core/types/stageYieldEvent.d.ts +1 -31
  255. package/build/client/core/types/stageYieldEventV2.d.ts +1 -58
  256. package/build/client/core/types/stripEvent.d.ts +1 -61
  257. package/build/client/core/types/tradePtEvent.d.ts +1 -37
  258. package/build/client/core/types/withdrawLiquidityEvent.d.ts +1 -43
  259. package/build/client/core/types/withdrawLpEvent.d.ts +1 -31
  260. package/build/client/core/types/withdrawLpEventV2.d.ts +1 -83
  261. package/build/client/core/types/withdrawYtEvent.d.ts +1 -40
  262. package/build/client/core/types/withdrawYtEventV2.d.ts +1 -70
  263. package/build/client/core/types/wrapperBuyYtEvent.d.ts +1 -19
  264. package/build/client/core/types/wrapperCollectInterestEvent.d.ts +1 -16
  265. package/build/client/core/types/wrapperMergeEvent.d.ts +1 -19
  266. package/build/client/core/types/wrapperProvideLiquidityBaseEvent.d.ts +1 -25
  267. package/build/client/core/types/wrapperProvideLiquidityClassicEvent.d.ts +1 -22
  268. package/build/client/core/types/wrapperProvideLiquidityEvent.d.ts +1 -22
  269. package/build/client/core/types/wrapperSellYtEvent.d.ts +1 -19
  270. package/build/client/core/types/wrapperStripEvent.d.ts +1 -19
  271. package/build/client/core/types/wrapperWithdrawLiquidityClassicEvent.d.ts +1 -22
  272. package/build/client/core/types/wrapperWithdrawLiquidityEvent.d.ts +1 -19
  273. package/build/client/core/types/yieldTokenTracker.d.ts +1 -10
  274. package/build/client/orderbook/accounts/cpiAccountsOrderbook.js +5 -6
  275. package/build/client/orderbook/accounts/cpiAccountsOrderbook.js.map +1 -1
  276. package/build/client/orderbook/accounts/vault.js +5 -6
  277. package/build/client/orderbook/accounts/vault.js.map +1 -1
  278. package/build/client/orderbook/index.d.ts +1 -2
  279. package/build/client/orderbook/instructions/collectAdminEmission.js +1 -2
  280. package/build/client/orderbook/instructions/collectAdminEmission.js.map +1 -1
  281. package/build/client/orderbook/instructions/collectAdminFee.js +1 -2
  282. package/build/client/orderbook/instructions/collectAdminFee.js.map +1 -1
  283. package/build/client/orderbook/instructions/collectInterest.js +1 -2
  284. package/build/client/orderbook/instructions/collectInterest.js.map +1 -1
  285. package/build/client/orderbook/instructions/initializeOrderbook.js +1 -2
  286. package/build/client/orderbook/instructions/initializeOrderbook.js.map +1 -1
  287. package/build/client/orderbook/instructions/marketOffer.js +1 -2
  288. package/build/client/orderbook/instructions/marketOffer.js.map +1 -1
  289. package/build/client/orderbook/instructions/postOffer.js +1 -2
  290. package/build/client/orderbook/instructions/postOffer.js.map +1 -1
  291. package/build/client/orderbook/instructions/reallocOrderbookAccount.js +1 -2
  292. package/build/client/orderbook/instructions/reallocOrderbookAccount.js.map +1 -1
  293. package/build/client/orderbook/instructions/removeExpiredOffers.js +1 -2
  294. package/build/client/orderbook/instructions/removeExpiredOffers.js.map +1 -1
  295. package/build/client/orderbook/instructions/removeOffer.js +1 -2
  296. package/build/client/orderbook/instructions/removeOffer.js.map +1 -1
  297. package/build/client/orderbook/instructions/setConfigurationOptions.js +1 -2
  298. package/build/client/orderbook/instructions/setConfigurationOptions.js.map +1 -1
  299. package/build/client/orderbook/instructions/withdrawFunds.js +1 -2
  300. package/build/client/orderbook/instructions/withdrawFunds.js.map +1 -1
  301. package/build/client/orderbook/instructions/wrapperCollectAdminFee.js +1 -2
  302. package/build/client/orderbook/instructions/wrapperCollectAdminFee.js.map +1 -1
  303. package/build/client/orderbook/instructions/wrapperCollectInterest.js +1 -2
  304. package/build/client/orderbook/instructions/wrapperCollectInterest.js.map +1 -1
  305. package/build/client/orderbook/instructions/wrapperMarketOffer.js +1 -2
  306. package/build/client/orderbook/instructions/wrapperMarketOffer.js.map +1 -1
  307. package/build/client/orderbook/instructions/wrapperPostOffer.js +1 -2
  308. package/build/client/orderbook/instructions/wrapperPostOffer.js.map +1 -1
  309. package/build/client/orderbook/instructions/wrapperRemoveOffer.js +1 -2
  310. package/build/client/orderbook/instructions/wrapperRemoveOffer.js.map +1 -1
  311. package/build/client/orderbook/instructions/wrapperWithdrawFunds.js +1 -2
  312. package/build/client/orderbook/instructions/wrapperWithdrawFunds.js.map +1 -1
  313. package/build/client/orderbook/types/amount.d.ts +1 -19
  314. package/build/client/orderbook/types/amount.js +3 -3
  315. package/build/client/orderbook/types/amount.js.map +1 -1
  316. package/build/client/orderbook/types/claimLimits.d.ts +1 -16
  317. package/build/client/orderbook/types/collectAdminEmissionEvent.d.ts +1 -19
  318. package/build/client/orderbook/types/collectAdminFeeEvent.d.ts +1 -19
  319. package/build/client/orderbook/types/collectEmissionEventV2.d.ts +1 -55
  320. package/build/client/orderbook/types/collectInterestEventV2.d.ts +1 -52
  321. package/build/client/orderbook/types/collectUserInterestEvent.d.ts +1 -16
  322. package/build/client/orderbook/types/cpiAccounts.d.ts +1 -99
  323. package/build/client/orderbook/types/cpiInterfaceContext.d.ts +1 -13
  324. package/build/client/orderbook/types/emissionInfo.d.ts +1 -25
  325. package/build/client/orderbook/types/exponentCoreCpiAccounts.d.ts +1 -99
  326. package/build/client/orderbook/types/filledOffersEvent.d.ts +1 -22
  327. package/build/client/orderbook/types/marketOfferEvent.d.ts +1 -74
  328. package/build/client/orderbook/types/mergeEvent.d.ts +1 -61
  329. package/build/client/orderbook/types/number.d.ts +1 -1
  330. package/build/client/orderbook/types/offerOptions.d.ts +1 -13
  331. package/build/client/orderbook/types/offerOptions.js +3 -3
  332. package/build/client/orderbook/types/offerOptions.js.map +1 -1
  333. package/build/client/orderbook/types/offerType.d.ts +1 -1
  334. package/build/client/orderbook/types/orderbookInitEvent.d.ts +1 -28
  335. package/build/client/orderbook/types/postOfferEvent.d.ts +1 -96
  336. package/build/client/orderbook/types/removeOfferEvent.d.ts +1 -28
  337. package/build/client/orderbook/types/setConfigurationOptionsEnum.d.ts +1 -49
  338. package/build/client/orderbook/types/setConfigurationOptionsEnum.js +3 -3
  339. package/build/client/orderbook/types/setConfigurationOptionsEnum.js.map +1 -1
  340. package/build/client/orderbook/types/stripEvent.d.ts +1 -61
  341. package/build/client/orderbook/types/withdrawFundsEvent.d.ts +1 -28
  342. package/build/client/orderbook/types/wrapperCollectAdminFeeEvent.d.ts +1 -13
  343. package/build/client/orderbook/types/wrapperCollectInterestEvent.d.ts +1 -10
  344. package/build/client/orderbook/types/wrapperMarketOfferEvent.d.ts +1 -13
  345. package/build/client/orderbook/types/wrapperPostOfferEvent.d.ts +1 -28
  346. package/build/client/orderbook/types/wrapperRemoveOfferEvent.d.ts +1 -10
  347. package/build/client/orderbook/types/wrapperWithdrawFundsEvent.d.ts +1 -19
  348. package/build/client/orderbook/types/yieldTokenTracker.d.ts +1 -10
  349. package/build/client/vaults/accounts/actionProposal.js +5 -6
  350. package/build/client/vaults/accounts/actionProposal.js.map +1 -1
  351. package/build/client/vaults/accounts/exponentStrategyVault.js +5 -6
  352. package/build/client/vaults/accounts/exponentStrategyVault.js.map +1 -1
  353. package/build/client/vaults/accounts/programConfig.js +5 -6
  354. package/build/client/vaults/accounts/programConfig.js.map +1 -1
  355. package/build/client/vaults/accounts/voteAccount.js +5 -6
  356. package/build/client/vaults/accounts/voteAccount.js.map +1 -1
  357. package/build/client/vaults/accounts/withdrawalAccount.js +5 -6
  358. package/build/client/vaults/accounts/withdrawalAccount.js.map +1 -1
  359. package/build/client/vaults/eventRegistry.d.ts +8 -2
  360. package/build/client/vaults/eventRegistry.js +6 -0
  361. package/build/client/vaults/eventRegistry.js.map +1 -1
  362. package/build/client/vaults/index.d.ts +4 -2
  363. package/build/client/vaults/index.js +3 -0
  364. package/build/client/vaults/index.js.map +1 -1
  365. package/build/client/vaults/instructions/activateProposal.d.ts +2 -0
  366. package/build/client/vaults/instructions/activateProposal.js +3 -2
  367. package/build/client/vaults/instructions/activateProposal.js.map +1 -1
  368. package/build/client/vaults/instructions/addPolicy.js +1 -2
  369. package/build/client/vaults/instructions/addPolicy.js.map +1 -1
  370. package/build/client/vaults/instructions/appendProposalActions.js +1 -2
  371. package/build/client/vaults/instructions/appendProposalActions.js.map +1 -1
  372. package/build/client/vaults/instructions/cancelProposal.d.ts +2 -0
  373. package/build/client/vaults/instructions/cancelProposal.js +3 -2
  374. package/build/client/vaults/instructions/cancelProposal.js.map +1 -1
  375. package/build/client/vaults/instructions/cancelWithdrawal.d.ts +2 -0
  376. package/build/client/vaults/instructions/cancelWithdrawal.js +3 -2
  377. package/build/client/vaults/instructions/cancelWithdrawal.js.map +1 -1
  378. package/build/client/vaults/instructions/collectManagementFee.js +1 -2
  379. package/build/client/vaults/instructions/collectManagementFee.js.map +1 -1
  380. package/build/client/vaults/instructions/depositLiquidity.js +1 -2
  381. package/build/client/vaults/instructions/depositLiquidity.js.map +1 -1
  382. package/build/client/vaults/instructions/executeProposal.d.ts +2 -0
  383. package/build/client/vaults/instructions/executeProposal.js +3 -2
  384. package/build/client/vaults/instructions/executeProposal.js.map +1 -1
  385. package/build/client/vaults/instructions/executeWithdrawal.js +1 -2
  386. package/build/client/vaults/instructions/executeWithdrawal.js.map +1 -1
  387. package/build/client/vaults/instructions/executeWithdrawalFromReserves.d.ts +2 -0
  388. package/build/client/vaults/instructions/executeWithdrawalFromReserves.js +3 -2
  389. package/build/client/vaults/instructions/executeWithdrawalFromReserves.js.map +1 -1
  390. package/build/client/vaults/instructions/fillWithdrawal.js +1 -2
  391. package/build/client/vaults/instructions/fillWithdrawal.js.map +1 -1
  392. package/build/client/vaults/instructions/finalizeProposal.d.ts +2 -0
  393. package/build/client/vaults/instructions/finalizeProposal.js +3 -2
  394. package/build/client/vaults/instructions/finalizeProposal.js.map +1 -1
  395. package/build/client/vaults/instructions/initProposal.js +1 -2
  396. package/build/client/vaults/instructions/initProposal.js.map +1 -1
  397. package/build/client/vaults/instructions/initializePrices.js +1 -2
  398. package/build/client/vaults/instructions/initializePrices.js.map +1 -1
  399. package/build/client/vaults/instructions/initializeVault.js +1 -2
  400. package/build/client/vaults/instructions/initializeVault.js.map +1 -1
  401. package/build/client/vaults/instructions/makeSentienelManager.js +1 -2
  402. package/build/client/vaults/instructions/makeSentienelManager.js.map +1 -1
  403. package/build/client/vaults/instructions/managePrices.js +1 -2
  404. package/build/client/vaults/instructions/managePrices.js.map +1 -1
  405. package/build/client/vaults/instructions/manageVaultSettings.js +1 -2
  406. package/build/client/vaults/instructions/manageVaultSettings.js.map +1 -1
  407. package/build/client/vaults/instructions/managerUpdatePosition.js +1 -2
  408. package/build/client/vaults/instructions/managerUpdatePosition.js.map +1 -1
  409. package/build/client/vaults/instructions/queueWithdrawal.d.ts +2 -0
  410. package/build/client/vaults/instructions/queueWithdrawal.js +3 -2
  411. package/build/client/vaults/instructions/queueWithdrawal.js.map +1 -1
  412. package/build/client/vaults/instructions/removePolicy.js +1 -2
  413. package/build/client/vaults/instructions/removePolicy.js.map +1 -1
  414. package/build/client/vaults/instructions/sentinelSetVaultFlags.d.ts +2 -0
  415. package/build/client/vaults/instructions/sentinelSetVaultFlags.js +3 -2
  416. package/build/client/vaults/instructions/sentinelSetVaultFlags.js.map +1 -1
  417. package/build/client/vaults/instructions/stakeVote.d.ts +2 -0
  418. package/build/client/vaults/instructions/stakeVote.js +3 -2
  419. package/build/client/vaults/instructions/stakeVote.js.map +1 -1
  420. package/build/client/vaults/instructions/unstakeVote.js +1 -2
  421. package/build/client/vaults/instructions/unstakeVote.js.map +1 -1
  422. package/build/client/vaults/instructions/updatePolicy.js +1 -2
  423. package/build/client/vaults/instructions/updatePolicy.js.map +1 -1
  424. package/build/client/vaults/instructions/updatePolicyManager.js +1 -2
  425. package/build/client/vaults/instructions/updatePolicyManager.js.map +1 -1
  426. package/build/client/vaults/instructions/updatePrice.js +1 -2
  427. package/build/client/vaults/instructions/updatePrice.js.map +1 -1
  428. package/build/client/vaults/instructions/validateInteractionHook.js +1 -2
  429. package/build/client/vaults/instructions/validateInteractionHook.js.map +1 -1
  430. package/build/client/vaults/instructions/wrapperAddPolicy.js +1 -2
  431. package/build/client/vaults/instructions/wrapperAddPolicy.js.map +1 -1
  432. package/build/client/vaults/instructions/wrapperExecuteWithdrawal.js +1 -2
  433. package/build/client/vaults/instructions/wrapperExecuteWithdrawal.js.map +1 -1
  434. package/build/client/vaults/instructions/wrapperManageVaultSettings.js +1 -2
  435. package/build/client/vaults/instructions/wrapperManageVaultSettings.js.map +1 -1
  436. package/build/client/vaults/instructions/wrapperManagerUpdatePosition.js +1 -2
  437. package/build/client/vaults/instructions/wrapperManagerUpdatePosition.js.map +1 -1
  438. package/build/client/vaults/instructions/wrapperRemovePolicy.js +1 -2
  439. package/build/client/vaults/instructions/wrapperRemovePolicy.js.map +1 -1
  440. package/build/client/vaults/instructions/wrapperUpdatePolicy.js +1 -2
  441. package/build/client/vaults/instructions/wrapperUpdatePolicy.js.map +1 -1
  442. package/build/client/vaults/types/accountConstraint.d.ts +1 -13
  443. package/build/client/vaults/types/accountConstraintType.d.ts +1 -1
  444. package/build/client/vaults/types/accountConstraintType.js +3 -3
  445. package/build/client/vaults/types/accountConstraintType.js.map +1 -1
  446. package/build/client/vaults/types/allowedSettingsChange.d.ts +1 -54
  447. package/build/client/vaults/types/allowedSettingsChange.js +3 -3
  448. package/build/client/vaults/types/allowedSettingsChange.js.map +1 -1
  449. package/build/client/vaults/types/cancelProposalEvent.d.ts +1 -19
  450. package/build/client/vaults/types/cancelWithdrawalEvent.d.ts +12 -0
  451. package/build/client/vaults/types/cancelWithdrawalEvent.js +29 -0
  452. package/build/client/vaults/types/cancelWithdrawalEvent.js.map +1 -0
  453. package/build/client/vaults/types/clmmPositionEntry.d.ts +1 -80
  454. package/build/client/vaults/types/dataConstraint.d.ts +1 -109
  455. package/build/client/vaults/types/dataOperator.d.ts +1 -1
  456. package/build/client/vaults/types/dataValue.d.ts +1 -73
  457. package/build/client/vaults/types/dataValue.js +3 -3
  458. package/build/client/vaults/types/dataValue.js.map +1 -1
  459. package/build/client/vaults/types/depositLiquidityEvent.d.ts +1 -40
  460. package/build/client/vaults/types/executeProposalEvent.d.ts +1 -19
  461. package/build/client/vaults/types/executeWithdrawalEvent.d.ts +8 -10
  462. package/build/client/vaults/types/executeWithdrawalEvent.js +19 -0
  463. package/build/client/vaults/types/executeWithdrawalEvent.js.map +1 -1
  464. package/build/client/vaults/types/executeWithdrawalFromReservesEvent.d.ts +19 -0
  465. package/build/client/vaults/types/executeWithdrawalFromReservesEvent.js +48 -0
  466. package/build/client/vaults/types/executeWithdrawalFromReservesEvent.js.map +1 -0
  467. package/build/client/vaults/types/fillParam.d.ts +1 -10
  468. package/build/client/vaults/types/finalizeProposalEvent.d.ts +1 -34
  469. package/build/client/vaults/types/hook.d.ts +1 -35
  470. package/build/client/vaults/types/hookCompiledInstruction.d.ts +1 -13
  471. package/build/client/vaults/types/index.d.ts +3 -0
  472. package/build/client/vaults/types/index.js +3 -0
  473. package/build/client/vaults/types/index.js.map +1 -1
  474. package/build/client/vaults/types/instructionConstraint.d.ts +1 -165
  475. package/build/client/vaults/types/internalFundTransferPolicyCreationPayload.d.ts +1 -13
  476. package/build/client/vaults/types/kaminoFarmEntry.d.ts +1 -10
  477. package/build/client/vaults/types/kaminoObligationEntry.d.ts +1 -122
  478. package/build/client/vaults/types/limitedQuantityConstraints.d.ts +1 -7
  479. package/build/client/vaults/types/limitedSpendingLimit.d.ts +1 -97
  480. package/build/client/vaults/types/limitedTimeConstraints.d.ts +1 -61
  481. package/build/client/vaults/types/loopscaleLoanEntry.d.ts +1 -7
  482. package/build/client/vaults/types/loopscaleStrategyEntry.d.ts +1 -7
  483. package/build/client/vaults/types/number.d.ts +1 -1
  484. package/build/client/vaults/types/obligationType.d.ts +1 -1
  485. package/build/client/vaults/types/obligationType.js +3 -3
  486. package/build/client/vaults/types/obligationType.js.map +1 -1
  487. package/build/client/vaults/types/orderbookEntry.d.ts +1 -54
  488. package/build/client/vaults/types/periodV2.d.ts +1 -37
  489. package/build/client/vaults/types/periodV2.js +3 -3
  490. package/build/client/vaults/types/periodV2.js.map +1 -1
  491. package/build/client/vaults/types/permissions.d.ts +1 -7
  492. package/build/client/vaults/types/policyAction.d.ts +1 -40
  493. package/build/client/vaults/types/policyAction.js +3 -3
  494. package/build/client/vaults/types/policyAction.js.map +1 -1
  495. package/build/client/vaults/types/policyCreationPayload.d.ts +1 -260
  496. package/build/client/vaults/types/policyCreationPayload.js +3 -3
  497. package/build/client/vaults/types/policyCreationPayload.js.map +1 -1
  498. package/build/client/vaults/types/policyExpirationArgs.d.ts +1 -19
  499. package/build/client/vaults/types/policyExpirationArgs.js +3 -3
  500. package/build/client/vaults/types/policyExpirationArgs.js.map +1 -1
  501. package/build/client/vaults/types/positionUpdate.js +3 -3
  502. package/build/client/vaults/types/positionUpdate.js.map +1 -1
  503. package/build/client/vaults/types/priceId.d.ts +1 -25
  504. package/build/client/vaults/types/priceId.js +3 -3
  505. package/build/client/vaults/types/priceId.js.map +1 -1
  506. package/build/client/vaults/types/priceType.d.ts +1 -1
  507. package/build/client/vaults/types/proposalAction.d.ts +2 -204
  508. package/build/client/vaults/types/proposalAction.js +6 -3
  509. package/build/client/vaults/types/proposalAction.js.map +1 -1
  510. package/build/client/vaults/types/proposalActionKind.d.ts +1 -1
  511. package/build/client/vaults/types/proposalStatus.d.ts +1 -1
  512. package/build/client/vaults/types/proposalVoteConfig.d.ts +1 -34
  513. package/build/client/vaults/types/proposeActionEvent.d.ts +1 -34
  514. package/build/client/vaults/types/quantityConstraints.d.ts +1 -13
  515. package/build/client/vaults/types/queueWithdrawalEvent.d.ts +11 -0
  516. package/build/client/vaults/types/queueWithdrawalEvent.js +31 -0
  517. package/build/client/vaults/types/queueWithdrawalEvent.js.map +1 -0
  518. package/build/client/vaults/types/reserveFarmMapping.d.ts +1 -13
  519. package/build/client/vaults/types/reservePriceMapping.d.ts +1 -42
  520. package/build/client/vaults/types/settingsChangePolicyCreationPayload.d.ts +1 -77
  521. package/build/client/vaults/types/spendingLimitPolicyCreationPayload.d.ts +1 -130
  522. package/build/client/vaults/types/stakeVoteEvent.d.ts +1 -28
  523. package/build/client/vaults/types/strategyPosition.d.ts +1 -1
  524. package/build/client/vaults/types/strategyPosition.js +3 -3
  525. package/build/client/vaults/types/strategyPosition.js.map +1 -1
  526. package/build/client/vaults/types/timeConstraints.d.ts +1 -64
  527. package/build/client/vaults/types/tokenAccountBalance.d.ts +1 -45
  528. package/build/client/vaults/types/tokenAccountEntry.d.ts +1 -66
  529. package/build/client/vaults/types/tokenEntry.d.ts +1 -51
  530. package/build/client/vaults/types/unstakeVoteEvent.d.ts +1 -25
  531. package/build/client/vaults/types/updatePriceAction.d.ts +1 -124
  532. package/build/client/vaults/types/updatePriceAction.js +3 -3
  533. package/build/client/vaults/types/updatePriceAction.js.map +1 -1
  534. package/build/client/vaults/types/updatePriceInput.d.ts +1 -10
  535. package/build/client/vaults/types/usageState.d.ts +1 -10
  536. package/build/client/vaults/types/vaultConfig.d.ts +1 -74
  537. package/build/client/vaults/types/vaultFinancials.d.ts +1 -43
  538. package/build/client/vaults/types/vaultFlagAction.d.ts +1 -37
  539. package/build/client/vaults/types/vaultFlagAction.js +3 -3
  540. package/build/client/vaults/types/vaultFlagAction.js.map +1 -1
  541. package/build/client/vaults/types/vaultFlagsUpdatedEvent.d.ts +1 -16
  542. package/build/client/vaults/types/vaultRoleKind.d.ts +1 -1
  543. package/build/client/vaults/types/vaultRoles.d.ts +1 -16
  544. package/build/client/vaults/types/vaultSettingsAction.js +3 -3
  545. package/build/client/vaults/types/vaultSettingsAction.js.map +1 -1
  546. package/build/client/vaults/types/voteChoice.d.ts +1 -1
  547. package/build/client/vaults/types/withdrawalPeriodSettings.d.ts +1 -31
  548. package/build/client/vaults/types/withdrawalPeriodSettings.js +3 -3
  549. package/build/client/vaults/types/withdrawalPeriodSettings.js.map +1 -1
  550. package/build/client/vaults/types/withdrawalTokenFill.d.ts +1 -13
  551. package/build/client/vaults/types/yieldPositionEntry.d.ts +1 -45
  552. package/build/clmm/codamaEvents.d.ts +1 -2
  553. package/build/codamaEvents.d.ts +1 -2
  554. package/build/exponentVaults/aumCalculator.d.ts +0 -2
  555. package/build/exponentVaults/aumCalculator.js +20 -10
  556. package/build/exponentVaults/aumCalculator.js.map +1 -1
  557. package/build/exponentVaults/events.d.ts +1 -2
  558. package/build/exponentVaults/fetcher.js +4 -4
  559. package/build/exponentVaults/fetcher.js.map +1 -1
  560. package/build/exponentVaults/index.js +17 -7
  561. package/build/exponentVaults/index.js.map +1 -1
  562. package/build/exponentVaults/kamino-farms.d.ts +0 -2
  563. package/build/exponentVaults/kamino-farms.js +14 -14
  564. package/build/exponentVaults/kamino-farms.js.map +1 -1
  565. package/build/exponentVaults/kamino-markets.d.ts +394 -394
  566. package/build/exponentVaults/kamino-markets.js +2 -2
  567. package/build/exponentVaults/kamino-markets.js.map +1 -1
  568. package/build/exponentVaults/loopscale/helpers.js +6 -7
  569. package/build/exponentVaults/loopscale/helpers.js.map +1 -1
  570. package/build/exponentVaults/loopscale/prepared-transactions.js +1 -2
  571. package/build/exponentVaults/loopscale/prepared-transactions.js.map +1 -1
  572. package/build/exponentVaults/policyBuilders.d.ts +73 -75
  573. package/build/exponentVaults/policyBuilders.js +26 -27
  574. package/build/exponentVaults/policyBuilders.js.map +1 -1
  575. package/build/exponentVaults/policyMatcher.js +6 -7
  576. package/build/exponentVaults/policyMatcher.js.map +1 -1
  577. package/build/exponentVaults/pricePathResolver.js +7 -8
  578. package/build/exponentVaults/pricePathResolver.js.map +1 -1
  579. package/build/exponentVaults/scope-refresh.js +1 -2
  580. package/build/exponentVaults/scope-refresh.js.map +1 -1
  581. package/build/exponentVaults/squadsVaultTxnResolver/helpers.js +6 -7
  582. package/build/exponentVaults/squadsVaultTxnResolver/helpers.js.map +1 -1
  583. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/exponent.js +5 -6
  584. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/exponent.js.map +1 -1
  585. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/helpers.js +1 -2
  586. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/helpers.js.map +1 -1
  587. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/kamino.js +1 -2
  588. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/kamino.js.map +1 -1
  589. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/loopscale.js +1 -2
  590. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/loopscale.js.map +1 -1
  591. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/titan.js +1 -2
  592. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/titan.js.map +1 -1
  593. package/build/exponentVaults/squadsVaultTxnResolver/utils.d.ts +1 -3
  594. package/build/exponentVaults/squadsVaultTxnResolver/utils.js +1 -2
  595. package/build/exponentVaults/squadsVaultTxnResolver/utils.js.map +1 -1
  596. package/build/exponentVaults/syncTransaction.d.ts +1 -1
  597. package/build/exponentVaults/syncTransaction.js +4 -4
  598. package/build/exponentVaults/syncTransaction.js.map +1 -1
  599. package/build/exponentVaults/titan-quote.js +1 -2
  600. package/build/exponentVaults/titan-quote.js.map +1 -1
  601. package/build/exponentVaults/vault-interaction.d.ts +3 -2538
  602. package/build/exponentVaults/vault-interaction.js +34 -24
  603. package/build/exponentVaults/vault-interaction.js.map +1 -1
  604. package/build/exponentVaults/vault.d.ts +9 -25
  605. package/build/exponentVaults/vault.js +28 -12
  606. package/build/exponentVaults/vault.js.map +1 -1
  607. package/build/flavors.js +19 -20
  608. package/build/flavors.js.map +1 -1
  609. package/build/index.js +17 -7
  610. package/build/index.js.map +1 -1
  611. package/build/market.d.ts +31 -31
  612. package/build/market.js +17 -7
  613. package/build/market.js.map +1 -1
  614. package/build/marketThree.d.ts +42 -48
  615. package/build/marketThree.js +20 -8
  616. package/build/marketThree.js.map +1 -1
  617. package/build/orderbook/codamaEvents.d.ts +1 -2
  618. package/build/orderbook/index.js +17 -7
  619. package/build/orderbook/index.js.map +1 -1
  620. package/build/orderbook/math.d.ts +4 -4
  621. package/build/orderbook/math.js +13 -13
  622. package/build/orderbook/math.js.map +1 -1
  623. package/build/orderbook/orderbook.d.ts +19 -21
  624. package/build/orderbook/orderbook.js +17 -7
  625. package/build/orderbook/orderbook.js.map +1 -1
  626. package/build/orderbook/types.js +17 -7
  627. package/build/orderbook/types.js.map +1 -1
  628. package/build/orderbook/utils.js +6 -7
  629. package/build/orderbook/utils.js.map +1 -1
  630. package/build/syPosition.js +3 -4
  631. package/build/syPosition.js.map +1 -1
  632. package/build/tokenUtil.js +2 -3
  633. package/build/tokenUtil.js.map +1 -1
  634. package/build/utils/altUtil.js +2 -3
  635. package/build/utils/altUtil.js.map +1 -1
  636. package/build/utils/binSolver.js +1 -2
  637. package/build/utils/binSolver.js.map +1 -1
  638. package/build/utils/index.d.ts +2 -2
  639. package/build/utils/index.js +3 -4
  640. package/build/utils/index.js.map +1 -1
  641. package/build/vault.d.ts +11 -12
  642. package/build/vault.js +20 -10
  643. package/build/vault.js.map +1 -1
  644. package/build/ytPosition.d.ts +7 -7
  645. package/build/ytPosition.js +17 -7
  646. package/build/ytPosition.js.map +1 -1
  647. package/package.json +35 -33
  648. package/build/client/vaults/instructions/proposeAction.d.ts +0 -16
  649. package/build/client/vaults/instructions/proposeAction.js +0 -29
  650. package/build/client/vaults/instructions/proposeAction.js.map +0 -1
  651. package/build/exponentVaults/loopscale/client.test.d.ts +0 -1
  652. package/build/exponentVaults/loopscale/client.test.js +0 -183
  653. package/build/exponentVaults/loopscale/client.test.js.map +0 -1
  654. package/build/exponentVaults/loopscale/prepared-transactions.test.d.ts +0 -1
  655. package/build/exponentVaults/loopscale/prepared-transactions.test.js +0 -400
  656. package/build/exponentVaults/loopscale/prepared-transactions.test.js.map +0 -1
  657. package/build/exponentVaults/loopscale/response-plan.d.ts +0 -69
  658. package/build/exponentVaults/loopscale/response-plan.js +0 -141
  659. package/build/exponentVaults/loopscale/response-plan.js.map +0 -1
  660. package/build/exponentVaults/loopscale/response-plan.test.d.ts +0 -1
  661. package/build/exponentVaults/loopscale/response-plan.test.js +0 -139
  662. package/build/exponentVaults/loopscale/response-plan.test.js.map +0 -1
  663. package/build/exponentVaults/loopscale/send-plan.d.ts +0 -75
  664. package/build/exponentVaults/loopscale/send-plan.js +0 -235
  665. package/build/exponentVaults/loopscale/send-plan.js.map +0 -1
  666. package/build/exponentVaults/loopscale-client.d.ts +0 -130
  667. package/build/exponentVaults/loopscale-client.js +0 -489
  668. package/build/exponentVaults/loopscale-client.js.map +0 -1
  669. package/build/exponentVaults/loopscale-client.test.d.ts +0 -1
  670. package/build/exponentVaults/loopscale-client.test.js +0 -162
  671. package/build/exponentVaults/loopscale-client.test.js.map +0 -1
  672. package/build/exponentVaults/loopscale-client.types.d.ts +0 -425
  673. package/build/exponentVaults/loopscale-client.types.js +0 -3
  674. package/build/exponentVaults/loopscale-client.types.js.map +0 -1
  675. package/build/exponentVaults/loopscale-execution.d.ts +0 -125
  676. package/build/exponentVaults/loopscale-execution.js +0 -341
  677. package/build/exponentVaults/loopscale-execution.js.map +0 -1
  678. package/build/exponentVaults/loopscale-execution.test.d.ts +0 -1
  679. package/build/exponentVaults/loopscale-execution.test.js +0 -139
  680. package/build/exponentVaults/loopscale-execution.test.js.map +0 -1
  681. package/build/exponentVaults/loopscale-vault.d.ts +0 -115
  682. package/build/exponentVaults/loopscale-vault.js +0 -275
  683. package/build/exponentVaults/loopscale-vault.js.map +0 -1
  684. package/build/exponentVaults/loopscale-vault.test.d.ts +0 -1
  685. package/build/exponentVaults/loopscale-vault.test.js +0 -102
  686. package/build/exponentVaults/loopscale-vault.test.js.map +0 -1
  687. package/build/exponentVaults/pricePathResolver.test.d.ts +0 -1
  688. package/build/exponentVaults/pricePathResolver.test.js +0 -369
  689. package/build/exponentVaults/pricePathResolver.test.js.map +0 -1
  690. package/build/exponentVaults/vault-interaction.kamino-vault.test.d.ts +0 -1
  691. package/build/exponentVaults/vault-interaction.kamino-vault.test.js +0 -143
  692. package/build/exponentVaults/vault-interaction.kamino-vault.test.js.map +0 -1
  693. package/build/exponentVaults/vaultTransactionBuilder.test.d.ts +0 -1
  694. package/build/exponentVaults/vaultTransactionBuilder.test.js +0 -297
  695. package/build/exponentVaults/vaultTransactionBuilder.test.js.map +0 -1
  696. package/build/marketThree.test.d.ts +0 -1
  697. package/build/marketThree.test.js +0 -166
  698. package/build/marketThree.test.js.map +0 -1
  699. package/build/utils/binSolver.test.d.ts +0 -1
  700. package/build/utils/binSolver.test.js +0 -16
  701. package/build/utils/binSolver.test.js.map +0 -1
  702. package/jest.config.js +0 -5
  703. package/src/CodamaEventDecoder.ts +0 -151
  704. package/src/addressLookupTableUtil.ts +0 -110
  705. package/src/client/clmm/accounts/lpPosition.ts +0 -143
  706. package/src/client/clmm/accounts/marketThree.ts +0 -274
  707. package/src/client/clmm/accounts/vault.ts +0 -234
  708. package/src/client/clmm/eventRegistry.ts +0 -92
  709. package/src/client/clmm/index.ts +0 -82
  710. package/src/client/clmm/instructions/addFarm.ts +0 -57
  711. package/src/client/clmm/instructions/addLiquidity.ts +0 -78
  712. package/src/client/clmm/instructions/addMarketEmission.ts +0 -50
  713. package/src/client/clmm/instructions/buyPt.ts +0 -73
  714. package/src/client/clmm/instructions/buyYt.ts +0 -80
  715. package/src/client/clmm/instructions/claimFarmEmission.ts +0 -56
  716. package/src/client/clmm/instructions/closeMarket.ts +0 -47
  717. package/src/client/clmm/instructions/depositLiquidity.ts +0 -71
  718. package/src/client/clmm/instructions/initializeMarket.ts +0 -127
  719. package/src/client/clmm/instructions/marketAccrueEmission.ts +0 -39
  720. package/src/client/clmm/instructions/marketCollectEmission.ts +0 -57
  721. package/src/client/clmm/instructions/modifyFarm.ts +0 -55
  722. package/src/client/clmm/instructions/modifyMarketSetting.ts +0 -45
  723. package/src/client/clmm/instructions/sellPt.ts +0 -73
  724. package/src/client/clmm/instructions/sellYt.ts +0 -80
  725. package/src/client/clmm/instructions/tradePt.ts +0 -73
  726. package/src/client/clmm/instructions/tradePtExactOut.ts +0 -75
  727. package/src/client/clmm/instructions/withdrawLiquidity.ts +0 -67
  728. package/src/client/clmm/instructions/wrapperBuyYt.ts +0 -85
  729. package/src/client/clmm/instructions/wrapperProvideLiquidity.ts +0 -100
  730. package/src/client/clmm/instructions/wrapperProvideLiquidityBase.ts +0 -98
  731. package/src/client/clmm/instructions/wrapperProvideLiquidityClassic.ts +0 -86
  732. package/src/client/clmm/instructions/wrapperSellYt.ts +0 -83
  733. package/src/client/clmm/instructions/wrapperWithdrawLiquidity.ts +0 -75
  734. package/src/client/clmm/instructions/wrapperWithdrawLiquidityClassic.ts +0 -69
  735. package/src/client/clmm/types/addFarmEvent.ts +0 -51
  736. package/src/client/clmm/types/amount.ts +0 -51
  737. package/src/client/clmm/types/buyPtEvent.ts +0 -36
  738. package/src/client/clmm/types/buyYtEvent.ts +0 -74
  739. package/src/client/clmm/types/claimFarmEmissionsEvent.ts +0 -94
  740. package/src/client/clmm/types/claimLimits.ts +0 -15
  741. package/src/client/clmm/types/closeMarketEvent.ts +0 -36
  742. package/src/client/clmm/types/configurationOptions.ts +0 -29
  743. package/src/client/clmm/types/cpiAccounts.ts +0 -21
  744. package/src/client/clmm/types/cpiCoreAccounts.ts +0 -15
  745. package/src/client/clmm/types/cpiInterfaceContext.ts +0 -13
  746. package/src/client/clmm/types/crossingSplit.ts +0 -40
  747. package/src/client/clmm/types/depositLiquidityEvent.ts +0 -93
  748. package/src/client/clmm/types/depositLiquidityReturnData.ts +0 -81
  749. package/src/client/clmm/types/emissionInfo.ts +0 -44
  750. package/src/client/clmm/types/farmEmission.ts +0 -31
  751. package/src/client/clmm/types/index.ts +0 -48
  752. package/src/client/clmm/types/liquidityNetBalanceLimits.ts +0 -22
  753. package/src/client/clmm/types/lpFarm.ts +0 -12
  754. package/src/client/clmm/types/marketAccrueEmissionEvent.ts +0 -69
  755. package/src/client/clmm/types/marketAdminAction.ts +0 -239
  756. package/src/client/clmm/types/marketCollectEmissionEvent.ts +0 -83
  757. package/src/client/clmm/types/marketEmission.ts +0 -28
  758. package/src/client/clmm/types/marketEmissions.ts +0 -10
  759. package/src/client/clmm/types/marketFinancials.ts +0 -17
  760. package/src/client/clmm/types/marketThreeInitEvent.ts +0 -92
  761. package/src/client/clmm/types/mergeEvent.ts +0 -118
  762. package/src/client/clmm/types/modifiedTick.ts +0 -13
  763. package/src/client/clmm/types/modifiedTicks.ts +0 -18
  764. package/src/client/clmm/types/modifyFarmEvent.ts +0 -56
  765. package/src/client/clmm/types/number.ts +0 -7
  766. package/src/client/clmm/types/personalYieldTracker.ts +0 -12
  767. package/src/client/clmm/types/personalYieldTrackers.ts +0 -13
  768. package/src/client/clmm/types/principalShare.ts +0 -22
  769. package/src/client/clmm/types/principalShareTrackers.ts +0 -10
  770. package/src/client/clmm/types/sellPtEvent.ts +0 -36
  771. package/src/client/clmm/types/sellYtEvent.ts +0 -69
  772. package/src/client/clmm/types/stripEvent.ts +0 -124
  773. package/src/client/clmm/types/swapDirection.ts +0 -8
  774. package/src/client/clmm/types/tradePtEvent.ts +0 -76
  775. package/src/client/clmm/types/withdrawLiquidityEvent.ts +0 -99
  776. package/src/client/clmm/types/withdrawLiquidityReturnData.ts +0 -27
  777. package/src/client/clmm/types/wrapperBuyYtEvent.ts +0 -36
  778. package/src/client/clmm/types/wrapperProvideLiquidityBaseEvent.ts +0 -60
  779. package/src/client/clmm/types/wrapperProvideLiquidityClassicEvent.ts +0 -58
  780. package/src/client/clmm/types/wrapperProvideLiquidityEvent.ts +0 -60
  781. package/src/client/clmm/types/wrapperSellYtEvent.ts +0 -36
  782. package/src/client/clmm/types/wrapperWithdrawLiquidityClassicEvent.ts +0 -62
  783. package/src/client/clmm/types/wrapperWithdrawLiquidityEvent.ts +0 -62
  784. package/src/client/core/accounts/admin.ts +0 -112
  785. package/src/client/core/accounts/lpPosition.ts +0 -122
  786. package/src/client/core/accounts/marketTwo.ts +0 -234
  787. package/src/client/core/accounts/vault.ts +0 -234
  788. package/src/client/core/accounts/yieldTokenPosition.ts +0 -126
  789. package/src/client/core/eventRegistry.ts +0 -134
  790. package/src/client/core/index.ts +0 -113
  791. package/src/client/core/instructions/addEmission.ts +0 -62
  792. package/src/client/core/instructions/addFarm.ts +0 -53
  793. package/src/client/core/instructions/addLpTokensMetadata.ts +0 -62
  794. package/src/client/core/instructions/addMarketEmission.ts +0 -52
  795. package/src/client/core/instructions/buyYt.ts +0 -79
  796. package/src/client/core/instructions/claimFarmEmissions.ts +0 -54
  797. package/src/client/core/instructions/collectEmission.ts +0 -66
  798. package/src/client/core/instructions/collectInterest.ts +0 -64
  799. package/src/client/core/instructions/collectTreasuryEmission.ts +0 -64
  800. package/src/client/core/instructions/collectTreasuryInterest.ts +0 -62
  801. package/src/client/core/instructions/depositYt.ts +0 -59
  802. package/src/client/core/instructions/initLpPosition.ts +0 -35
  803. package/src/client/core/instructions/initMarketTwo.ts +0 -103
  804. package/src/client/core/instructions/initializeVault.ts +0 -107
  805. package/src/client/core/instructions/initializeYieldPosition.ts +0 -33
  806. package/src/client/core/instructions/marketCollectEmission.ts +0 -55
  807. package/src/client/core/instructions/marketDepositLp.ts +0 -59
  808. package/src/client/core/instructions/marketTwoDepositLiquidity.ts +0 -65
  809. package/src/client/core/instructions/marketTwoWithdrawLiquidity.ts +0 -65
  810. package/src/client/core/instructions/marketWithdrawLp.ts +0 -59
  811. package/src/client/core/instructions/merge.ts +0 -61
  812. package/src/client/core/instructions/modifyFarm.ts +0 -51
  813. package/src/client/core/instructions/modifyMarketSetting.ts +0 -47
  814. package/src/client/core/instructions/modifyVaultSetting.ts +0 -44
  815. package/src/client/core/instructions/reallocMarket.ts +0 -45
  816. package/src/client/core/instructions/sellYt.ts +0 -79
  817. package/src/client/core/instructions/stageYtYield.ts +0 -39
  818. package/src/client/core/instructions/strip.ts +0 -61
  819. package/src/client/core/instructions/tradePt.ts +0 -59
  820. package/src/client/core/instructions/withdrawYt.ts +0 -61
  821. package/src/client/core/instructions/wrapperBuyPt.ts +0 -63
  822. package/src/client/core/instructions/wrapperBuyYt.ts +0 -93
  823. package/src/client/core/instructions/wrapperCollectInterest.ts +0 -63
  824. package/src/client/core/instructions/wrapperMerge.ts +0 -77
  825. package/src/client/core/instructions/wrapperProvideLiquidity.ts +0 -103
  826. package/src/client/core/instructions/wrapperProvideLiquidityBase.ts +0 -81
  827. package/src/client/core/instructions/wrapperProvideLiquidityClassic.ts +0 -77
  828. package/src/client/core/instructions/wrapperSellPt.ts +0 -63
  829. package/src/client/core/instructions/wrapperSellYt.ts +0 -87
  830. package/src/client/core/instructions/wrapperStrip.ts +0 -81
  831. package/src/client/core/instructions/wrapperWithdrawLiquidity.ts +0 -77
  832. package/src/client/core/instructions/wrapperWithdrawLiquidityClassic.ts +0 -73
  833. package/src/client/core/types/adminAction.ts +0 -255
  834. package/src/client/core/types/amount.ts +0 -51
  835. package/src/client/core/types/buyPtEvent.ts +0 -39
  836. package/src/client/core/types/buyYtEvent.ts +0 -95
  837. package/src/client/core/types/claimFarmEmissionsEvent.ts +0 -75
  838. package/src/client/core/types/claimFarmEmissionsEventV2.ts +0 -83
  839. package/src/client/core/types/claimLimits.ts +0 -15
  840. package/src/client/core/types/collectEmissionEvent.ts +0 -51
  841. package/src/client/core/types/collectEmissionEventV2.ts +0 -60
  842. package/src/client/core/types/collectInterestEvent.ts +0 -48
  843. package/src/client/core/types/collectInterestEventV2.ts +0 -57
  844. package/src/client/core/types/collectTreasuryEmissionKind.ts +0 -8
  845. package/src/client/core/types/collectTreasuryInterestKind.ts +0 -8
  846. package/src/client/core/types/cpiAccounts.ts +0 -21
  847. package/src/client/core/types/cpiInterfaceContext.ts +0 -13
  848. package/src/client/core/types/depositLiquidityEvent.ts +0 -101
  849. package/src/client/core/types/depositLpEvent.ts +0 -75
  850. package/src/client/core/types/depositLpEventV2.ts +0 -83
  851. package/src/client/core/types/depositYtEvent.ts +0 -82
  852. package/src/client/core/types/depositYtEventV2.ts +0 -91
  853. package/src/client/core/types/emissionInfo.ts +0 -44
  854. package/src/client/core/types/farmEmission.ts +0 -31
  855. package/src/client/core/types/index.ts +0 -60
  856. package/src/client/core/types/initLpPositionEvent.ts +0 -57
  857. package/src/client/core/types/initializeYieldPositionEvent.ts +0 -43
  858. package/src/client/core/types/liquidityNetBalanceLimits.ts +0 -22
  859. package/src/client/core/types/lpFarm.ts +0 -12
  860. package/src/client/core/types/marketAdminAction.ts +0 -212
  861. package/src/client/core/types/marketCollectEmissionEvent.ts +0 -67
  862. package/src/client/core/types/marketCollectEmissionEventV2.ts +0 -75
  863. package/src/client/core/types/marketEmission.ts +0 -28
  864. package/src/client/core/types/marketEmissions.ts +0 -10
  865. package/src/client/core/types/marketFinancials.ts +0 -19
  866. package/src/client/core/types/mergeEvent.ts +0 -118
  867. package/src/client/core/types/number.ts +0 -7
  868. package/src/client/core/types/personalYieldTracker.ts +0 -12
  869. package/src/client/core/types/personalYieldTrackers.ts +0 -13
  870. package/src/client/core/types/principleDetails.ts +0 -25
  871. package/src/client/core/types/principles.ts +0 -23
  872. package/src/client/core/types/sellPtEvent.ts +0 -39
  873. package/src/client/core/types/sellYtEvent.ts +0 -90
  874. package/src/client/core/types/stageYieldEvent.ts +0 -63
  875. package/src/client/core/types/stageYieldEventV2.ts +0 -69
  876. package/src/client/core/types/stripEvent.ts +0 -124
  877. package/src/client/core/types/tradePtEvent.ts +0 -80
  878. package/src/client/core/types/withdrawLiquidityEvent.ts +0 -97
  879. package/src/client/core/types/withdrawLpEvent.ts +0 -75
  880. package/src/client/core/types/withdrawLpEventV2.ts +0 -83
  881. package/src/client/core/types/withdrawYtEvent.ts +0 -82
  882. package/src/client/core/types/withdrawYtEventV2.ts +0 -91
  883. package/src/client/core/types/wrapperBuyYtEvent.ts +0 -39
  884. package/src/client/core/types/wrapperCollectInterestEvent.ts +0 -37
  885. package/src/client/core/types/wrapperMergeEvent.ts +0 -38
  886. package/src/client/core/types/wrapperProvideLiquidityBaseEvent.ts +0 -43
  887. package/src/client/core/types/wrapperProvideLiquidityClassicEvent.ts +0 -41
  888. package/src/client/core/types/wrapperProvideLiquidityEvent.ts +0 -41
  889. package/src/client/core/types/wrapperSellYtEvent.ts +0 -39
  890. package/src/client/core/types/wrapperStripEvent.ts +0 -38
  891. package/src/client/core/types/wrapperWithdrawLiquidityClassicEvent.ts +0 -41
  892. package/src/client/core/types/wrapperWithdrawLiquidityEvent.ts +0 -39
  893. package/src/client/core/types/yieldTokenTracker.ts +0 -12
  894. package/src/client/orderbook/accounts/cpiAccountsOrderbook.ts +0 -101
  895. package/src/client/orderbook/accounts/vault.ts +0 -234
  896. package/src/client/orderbook/eventRegistry.ts +0 -71
  897. package/src/client/orderbook/index.ts +0 -55
  898. package/src/client/orderbook/instructions/collectAdminEmission.ts +0 -48
  899. package/src/client/orderbook/instructions/collectAdminFee.ts +0 -59
  900. package/src/client/orderbook/instructions/collectInterest.ts +0 -66
  901. package/src/client/orderbook/instructions/initializeOrderbook.ts +0 -104
  902. package/src/client/orderbook/instructions/marketOffer.ts +0 -89
  903. package/src/client/orderbook/instructions/postOffer.ts +0 -96
  904. package/src/client/orderbook/instructions/reallocOrderbookAccount.ts +0 -45
  905. package/src/client/orderbook/instructions/removeExpiredOffers.ts +0 -37
  906. package/src/client/orderbook/instructions/removeOffer.ts +0 -73
  907. package/src/client/orderbook/instructions/setConfigurationOptions.ts +0 -43
  908. package/src/client/orderbook/instructions/withdrawFunds.ts +0 -78
  909. package/src/client/orderbook/instructions/wrapperCollectAdminFee.ts +0 -73
  910. package/src/client/orderbook/instructions/wrapperCollectInterest.ts +0 -65
  911. package/src/client/orderbook/instructions/wrapperMarketOffer.ts +0 -94
  912. package/src/client/orderbook/instructions/wrapperPostOffer.ts +0 -99
  913. package/src/client/orderbook/instructions/wrapperRemoveOffer.ts +0 -75
  914. package/src/client/orderbook/instructions/wrapperWithdrawFunds.ts +0 -80
  915. package/src/client/orderbook/types/amount.ts +0 -51
  916. package/src/client/orderbook/types/claimLimits.ts +0 -15
  917. package/src/client/orderbook/types/collectAdminEmissionEvent.ts +0 -39
  918. package/src/client/orderbook/types/collectAdminFeeEvent.ts +0 -17
  919. package/src/client/orderbook/types/collectEmissionEventV2.ts +0 -60
  920. package/src/client/orderbook/types/collectInterestEventV2.ts +0 -57
  921. package/src/client/orderbook/types/collectUserInterestEvent.ts +0 -36
  922. package/src/client/orderbook/types/cpiAccounts.ts +0 -21
  923. package/src/client/orderbook/types/cpiInterfaceContext.ts +0 -13
  924. package/src/client/orderbook/types/emissionInfo.ts +0 -44
  925. package/src/client/orderbook/types/exponentCoreCpiAccounts.ts +0 -21
  926. package/src/client/orderbook/types/filledOffersEvent.ts +0 -19
  927. package/src/client/orderbook/types/index.ts +0 -30
  928. package/src/client/orderbook/types/marketOfferEvent.ts +0 -72
  929. package/src/client/orderbook/types/mergeEvent.ts +0 -118
  930. package/src/client/orderbook/types/number.ts +0 -7
  931. package/src/client/orderbook/types/offerOptions.ts +0 -56
  932. package/src/client/orderbook/types/offerType.ts +0 -8
  933. package/src/client/orderbook/types/orderbookInitEvent.ts +0 -54
  934. package/src/client/orderbook/types/postOfferEvent.ts +0 -78
  935. package/src/client/orderbook/types/removeOfferEvent.ts +0 -67
  936. package/src/client/orderbook/types/setConfigurationOptionsEnum.ts +0 -116
  937. package/src/client/orderbook/types/stripEvent.ts +0 -124
  938. package/src/client/orderbook/types/withdrawFundsEvent.ts +0 -65
  939. package/src/client/orderbook/types/wrapperCollectAdminFeeEvent.ts +0 -13
  940. package/src/client/orderbook/types/wrapperCollectInterestEvent.ts +0 -25
  941. package/src/client/orderbook/types/wrapperMarketOfferEvent.ts +0 -27
  942. package/src/client/orderbook/types/wrapperPostOfferEvent.ts +0 -72
  943. package/src/client/orderbook/types/wrapperRemoveOfferEvent.ts +0 -25
  944. package/src/client/orderbook/types/wrapperWithdrawFundsEvent.ts +0 -38
  945. package/src/client/orderbook/types/yieldTokenTracker.ts +0 -12
  946. package/src/client/vaults/accounts/actionProposal.ts +0 -144
  947. package/src/client/vaults/accounts/exponentStrategyVault.ts +0 -211
  948. package/src/client/vaults/accounts/programConfig.ts +0 -123
  949. package/src/client/vaults/accounts/voteAccount.ts +0 -132
  950. package/src/client/vaults/accounts/withdrawalAccount.ts +0 -132
  951. package/src/client/vaults/eventRegistry.ts +0 -45
  952. package/src/client/vaults/index.ts +0 -113
  953. package/src/client/vaults/instructions/activateProposal.ts +0 -46
  954. package/src/client/vaults/instructions/addPolicy.ts +0 -57
  955. package/src/client/vaults/instructions/appendProposalActions.ts +0 -47
  956. package/src/client/vaults/instructions/cancelProposal.ts +0 -28
  957. package/src/client/vaults/instructions/cancelWithdrawal.ts +0 -34
  958. package/src/client/vaults/instructions/collectManagementFee.ts +0 -32
  959. package/src/client/vaults/instructions/depositLiquidity.ts +0 -62
  960. package/src/client/vaults/instructions/executeProposal.ts +0 -36
  961. package/src/client/vaults/instructions/executeWithdrawal.ts +0 -58
  962. package/src/client/vaults/instructions/executeWithdrawalFromReserves.ts +0 -66
  963. package/src/client/vaults/instructions/fillWithdrawal.ts +0 -59
  964. package/src/client/vaults/instructions/finalizeProposal.ts +0 -28
  965. package/src/client/vaults/instructions/initProposal.ts +0 -46
  966. package/src/client/vaults/instructions/initializePrices.ts +0 -28
  967. package/src/client/vaults/instructions/initializeVault.ts +0 -148
  968. package/src/client/vaults/instructions/makeSentienelManager.ts +0 -28
  969. package/src/client/vaults/instructions/managePrices.ts +0 -46
  970. package/src/client/vaults/instructions/manageVaultSettings.ts +0 -48
  971. package/src/client/vaults/instructions/managerUpdatePosition.ts +0 -45
  972. package/src/client/vaults/instructions/queueWithdrawal.ts +0 -50
  973. package/src/client/vaults/instructions/removePolicy.ts +0 -44
  974. package/src/client/vaults/instructions/sentinelSetVaultFlags.ts +0 -44
  975. package/src/client/vaults/instructions/stakeVote.ts +0 -57
  976. package/src/client/vaults/instructions/unstakeVote.ts +0 -42
  977. package/src/client/vaults/instructions/updatePolicy.ts +0 -59
  978. package/src/client/vaults/instructions/updatePolicyManager.ts +0 -44
  979. package/src/client/vaults/instructions/updatePrice.ts +0 -42
  980. package/src/client/vaults/instructions/validateInteractionHook.ts +0 -60
  981. package/src/client/vaults/instructions/wrapperAddPolicy.ts +0 -57
  982. package/src/client/vaults/instructions/wrapperExecuteWithdrawal.ts +0 -76
  983. package/src/client/vaults/instructions/wrapperManageVaultSettings.ts +0 -48
  984. package/src/client/vaults/instructions/wrapperManagerUpdatePosition.ts +0 -45
  985. package/src/client/vaults/instructions/wrapperRemovePolicy.ts +0 -44
  986. package/src/client/vaults/instructions/wrapperUpdatePolicy.ts +0 -59
  987. package/src/client/vaults/types/accountConstraint.ts +0 -35
  988. package/src/client/vaults/types/accountConstraintType.ts +0 -93
  989. package/src/client/vaults/types/allowedSettingsChange.ts +0 -136
  990. package/src/client/vaults/types/cancelProposalEvent.ts +0 -47
  991. package/src/client/vaults/types/clmmPositionEntry.ts +0 -37
  992. package/src/client/vaults/types/dataConstraint.ts +0 -16
  993. package/src/client/vaults/types/dataOperator.ts +0 -13
  994. package/src/client/vaults/types/dataValue.ts +0 -119
  995. package/src/client/vaults/types/depositLiquidityEvent.ts +0 -89
  996. package/src/client/vaults/types/executeProposalEvent.ts +0 -47
  997. package/src/client/vaults/types/executeWithdrawalEvent.ts +0 -12
  998. package/src/client/vaults/types/fillParam.ts +0 -12
  999. package/src/client/vaults/types/finalizeProposalEvent.ts +0 -51
  1000. package/src/client/vaults/types/hook.ts +0 -40
  1001. package/src/client/vaults/types/hookCompiledInstruction.ts +0 -20
  1002. package/src/client/vaults/types/index.ts +0 -68
  1003. package/src/client/vaults/types/instructionConstraint.ts +0 -33
  1004. package/src/client/vaults/types/internalFundTransferPolicyCreationPayload.ts +0 -35
  1005. package/src/client/vaults/types/kaminoFarmEntry.ts +0 -32
  1006. package/src/client/vaults/types/kaminoObligationEntry.ts +0 -51
  1007. package/src/client/vaults/types/limitedQuantityConstraints.ts +0 -10
  1008. package/src/client/vaults/types/limitedSpendingLimit.ts +0 -35
  1009. package/src/client/vaults/types/limitedTimeConstraints.ts +0 -15
  1010. package/src/client/vaults/types/loopscaleLoanEntry.ts +0 -23
  1011. package/src/client/vaults/types/loopscaleStrategyEntry.ts +0 -23
  1012. package/src/client/vaults/types/number.ts +0 -8
  1013. package/src/client/vaults/types/obligationType.ts +0 -63
  1014. package/src/client/vaults/types/orderbookEntry.ts +0 -50
  1015. package/src/client/vaults/types/periodV2.ts +0 -76
  1016. package/src/client/vaults/types/permissions.ts +0 -8
  1017. package/src/client/vaults/types/policyAction.ts +0 -74
  1018. package/src/client/vaults/types/policyConfig.ts +0 -32
  1019. package/src/client/vaults/types/policyCreationPayload.ts +0 -147
  1020. package/src/client/vaults/types/policyExpirationArgs.ts +0 -67
  1021. package/src/client/vaults/types/positionUpdate.ts +0 -313
  1022. package/src/client/vaults/types/priceId.ts +0 -57
  1023. package/src/client/vaults/types/priceType.ts +0 -23
  1024. package/src/client/vaults/types/programInteractionPolicyCreationPayload.ts +0 -32
  1025. package/src/client/vaults/types/proposalAction.ts +0 -97
  1026. package/src/client/vaults/types/proposalActionKind.ts +0 -11
  1027. package/src/client/vaults/types/proposalStatus.ts +0 -13
  1028. package/src/client/vaults/types/proposalVoteConfig.ts +0 -36
  1029. package/src/client/vaults/types/proposeActionEvent.ts +0 -62
  1030. package/src/client/vaults/types/quantityConstraints.ts +0 -14
  1031. package/src/client/vaults/types/reserveFarmMapping.ts +0 -35
  1032. package/src/client/vaults/types/reservePriceMapping.ts +0 -26
  1033. package/src/client/vaults/types/settingsChangePolicyCreationPayload.ts +0 -14
  1034. package/src/client/vaults/types/spendingLimitPolicyCreationPayload.ts +0 -54
  1035. package/src/client/vaults/types/stakeVoteEvent.ts +0 -54
  1036. package/src/client/vaults/types/strategyPosition.ts +0 -178
  1037. package/src/client/vaults/types/timeConstraints.ts +0 -22
  1038. package/src/client/vaults/types/tokenAccountBalance.ts +0 -35
  1039. package/src/client/vaults/types/tokenAccountEntry.ts +0 -30
  1040. package/src/client/vaults/types/tokenEntry.ts +0 -48
  1041. package/src/client/vaults/types/unstakeVoteEvent.ts +0 -53
  1042. package/src/client/vaults/types/updatePriceAction.ts +0 -268
  1043. package/src/client/vaults/types/updatePriceInput.ts +0 -12
  1044. package/src/client/vaults/types/usageState.ts +0 -12
  1045. package/src/client/vaults/types/vaultConfig.ts +0 -38
  1046. package/src/client/vaults/types/vaultFinancials.ts +0 -40
  1047. package/src/client/vaults/types/vaultFlagAction.ts +0 -75
  1048. package/src/client/vaults/types/vaultFlagsUpdatedEvent.ts +0 -37
  1049. package/src/client/vaults/types/vaultRoleKind.ts +0 -11
  1050. package/src/client/vaults/types/vaultRoles.ts +0 -59
  1051. package/src/client/vaults/types/vaultSettingsAction.ts +0 -533
  1052. package/src/client/vaults/types/voteChoice.ts +0 -9
  1053. package/src/client/vaults/types/withdrawalPeriodSettings.ts +0 -83
  1054. package/src/client/vaults/types/withdrawalTokenFill.ts +0 -35
  1055. package/src/client/vaults/types/yieldPositionEntry.ts +0 -35
  1056. package/src/clmm/codamaEvents.ts +0 -34
  1057. package/src/clmm/index.ts +0 -1
  1058. package/src/codamaEvents.ts +0 -27
  1059. package/src/environment.ts +0 -21
  1060. package/src/exponentVaults/aumCalculator.ts +0 -1350
  1061. package/src/exponentVaults/events.ts +0 -15
  1062. package/src/exponentVaults/fetcher.ts +0 -257
  1063. package/src/exponentVaults/index.ts +0 -323
  1064. package/src/exponentVaults/kamino-farms.ts +0 -538
  1065. package/src/exponentVaults/kamino-markets.ts +0 -363
  1066. package/src/exponentVaults/loopscale/client.ts +0 -808
  1067. package/src/exponentVaults/loopscale/helpers.ts +0 -172
  1068. package/src/exponentVaults/loopscale/index.ts +0 -57
  1069. package/src/exponentVaults/loopscale/prepared-transactions.ts +0 -435
  1070. package/src/exponentVaults/loopscale/prepared-types.ts +0 -73
  1071. package/src/exponentVaults/loopscale/types.ts +0 -466
  1072. package/src/exponentVaults/policyBuilders.ts +0 -1729
  1073. package/src/exponentVaults/policyMatcher.ts +0 -895
  1074. package/src/exponentVaults/pricePathResolver.test.ts +0 -466
  1075. package/src/exponentVaults/pricePathResolver.ts +0 -273
  1076. package/src/exponentVaults/scope-refresh.ts +0 -169
  1077. package/src/exponentVaults/squadsVaultTxnResolver/constants.ts +0 -59
  1078. package/src/exponentVaults/squadsVaultTxnResolver/helpers.ts +0 -355
  1079. package/src/exponentVaults/squadsVaultTxnResolver/index.ts +0 -16
  1080. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/exponent.ts +0 -472
  1081. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/helpers.ts +0 -33
  1082. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/index.ts +0 -38
  1083. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/kamino.ts +0 -83
  1084. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/loopscale.ts +0 -94
  1085. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/titan.ts +0 -41
  1086. package/src/exponentVaults/squadsVaultTxnResolver/squadsVaultTxnResolver.ts +0 -91
  1087. package/src/exponentVaults/squadsVaultTxnResolver/types.ts +0 -171
  1088. package/src/exponentVaults/squadsVaultTxnResolver/utils.ts +0 -3
  1089. package/src/exponentVaults/syncTransaction.ts +0 -500
  1090. package/src/exponentVaults/titan-quote.ts +0 -446
  1091. package/src/exponentVaults/vault-instruction-types.ts +0 -493
  1092. package/src/exponentVaults/vault-interaction.kamino-vault.test.ts +0 -149
  1093. package/src/exponentVaults/vault-interaction.ts +0 -5498
  1094. package/src/exponentVaults/vault.ts +0 -2667
  1095. package/src/exponentVaults/vaultTransactionBuilder.test.ts +0 -349
  1096. package/src/exponentVaults/vaultTransactionBuilder.ts +0 -933
  1097. package/src/flavors.ts +0 -841
  1098. package/src/index.ts +0 -26
  1099. package/src/lpPosition.ts +0 -155
  1100. package/src/market.ts +0 -2432
  1101. package/src/marketThree.test.ts +0 -210
  1102. package/src/marketThree.ts +0 -2861
  1103. package/src/orderbook/codamaEvents.ts +0 -28
  1104. package/src/orderbook/index.ts +0 -13
  1105. package/src/orderbook/math.ts +0 -138
  1106. package/src/orderbook/orderbook.ts +0 -1354
  1107. package/src/orderbook/types.ts +0 -40
  1108. package/src/orderbook/utils.ts +0 -66
  1109. package/src/router.ts +0 -810
  1110. package/src/syPosition.ts +0 -182
  1111. package/src/tokenUtil.ts +0 -23
  1112. package/src/utils/altUtil.ts +0 -52
  1113. package/src/utils/binSolver.test.ts +0 -17
  1114. package/src/utils/binSolver.ts +0 -44
  1115. package/src/utils/index.ts +0 -33
  1116. package/src/utils/ix.ts +0 -7
  1117. package/src/vault.ts +0 -1033
  1118. package/src/ytPosition.ts +0 -319
  1119. package/tsconfig.json +0 -46
@@ -1,933 +0,0 @@
1
- import {
2
- AddressLookupTableProgram,
3
- Connection,
4
- PublicKey,
5
- TransactionInstruction,
6
- TransactionMessage,
7
- VersionedTransaction,
8
- AddressLookupTableAccount,
9
- ComputeBudgetProgram,
10
- } from "@solana/web3.js"
11
- import type * as web3 from "@solana/web3.js"
12
- import type { ExponentPrices } from "@exponent-labs/exponent-vaults-fetcher"
13
- import type { ExponentVault } from "./vault"
14
- import { LoopscaleClient } from "./loopscale"
15
- import type { LoopscaleTransactionResponse } from "./loopscale"
16
- import {
17
- buildSetupStatePriceRefreshInstructions,
18
- createVaultSyncTransactions,
19
- createStrategySetupContext,
20
- type VaultInstruction,
21
- } from "./vault-interaction"
22
- import { SQUADS_PROGRAM_ID } from "./syncTransaction"
23
- import { LOCAL_ENV } from "../environment"
24
-
25
- const SCOPE_PROGRAM_ID = new PublicKey("HFn8GnPADiny6XqUoWE8uRPPxb29ikn4yTuPa9MF2fWJ")
26
-
27
- // ============================================================================
28
- // Types
29
- // ============================================================================
30
-
31
- /**
32
- * Per-step compute budget overrides.
33
- *
34
- * Each step in the builder can have its own compute settings. When not
35
- * provided, the global defaults from {@link VaultTransactionBuilderConfig}
36
- * are used instead.
37
- *
38
- * @example
39
- * ```ts
40
- * builder.addActions([clmmAction.buyPt(...)], {
41
- * computeUnitLimit: 1_200_000,
42
- * priorityFee: 500,
43
- * })
44
- * ```
45
- */
46
- export interface StepOptions {
47
- /** Human-readable label for this step. Auto-generated if omitted. */
48
- label?: string
49
- /** Compute unit limit for this step's transaction. */
50
- computeUnitLimit?: number
51
- /** Heap frame allocation in bytes for this step's transaction. */
52
- heapFrameBytes?: number
53
- /** Priority fee in microLamports per compute unit. Adds a `setComputeUnitPrice` instruction when > 0. */
54
- priorityFee?: number
55
- }
56
-
57
- /** Label-only options for raw Loopscale response steps. */
58
- export interface LoopscaleStepOptions {
59
- /** Human-readable label for this Loopscale step. Auto-generated if omitted. */
60
- label?: string
61
- }
62
-
63
- /** Optional Loopscale client config used by the builder for preparation and MPC co-signing. */
64
- export interface VaultTransactionBuilderLoopscaleConfig {
65
- /** Override the Loopscale API base URL. */
66
- baseUrl?: string
67
- /** Enable verbose Loopscale request/response logging. */
68
- debug?: boolean
69
- }
70
-
71
- /**
72
- * Configuration for creating a {@link VaultTransactionBuilder}.
73
- *
74
- * @example
75
- * ```ts
76
- * const builder = VaultTransactionBuilder.create({
77
- * vault, // loaded ExponentVault instance
78
- * connection, // Solana RPC connection
79
- * signer: manager.publicKey, // strategy manager's public key
80
- * autoManagePositions: true, // optional, defaults to true
81
- * pricesAccount, // optional prefetched ExponentPrices snapshot
82
- * })
83
- * ```
84
- */
85
- export interface VaultTransactionBuilderConfig {
86
- /** Loaded ExponentVault instance. Provides on-chain state, price IDs, and the vault's address lookup table. */
87
- vault: ExponentVault
88
- /** Solana RPC connection used for all on-chain reads and transaction sending. */
89
- connection: Connection
90
- /** The strategy manager's public key. Used as the signer for policy matching and as the fee payer. */
91
- signer: PublicKey
92
- /** Optional vault PDA override. Defaults to `vault.state.squadsVault`. */
93
- vaultPda?: PublicKey
94
- /** Optional extra lookup tables to include alongside the vault-managed tables. */
95
- lookupTableAddresses?: PublicKey[]
96
- /**
97
- * Fetched `ExponentPrices` account snapshot (optional).
98
- *
99
- * When provided, the builder reuses this snapshot to assemble same-transaction
100
- * `UpdatePrice` instructions for any setup or sync transaction that can hit
101
- * AUM recalculation. When omitted, the builder fetches the current prices
102
- * account automatically.
103
- */
104
- pricesAccount?: ExponentPrices
105
- /** Default compute unit limit for all steps (default: 1,400,000). Override per-step via {@link StepOptions}. */
106
- computeUnitLimit?: number
107
- /** Default heap frame allocation in bytes for all steps (default: 262,144 = 256 KB). Override per-step via {@link StepOptions}. */
108
- heapFrameBytes?: number
109
- /** Automatically manage new Kamino/CLMM/yield position tracking for manager flows. Defaults to `true`. */
110
- autoManagePositions?: boolean
111
- /** Squads program ID override. Defaults to the standard Squads V4 program. */
112
- squadsProgram?: PublicKey
113
- /** Optional Loopscale client config used when preparing and co-signing Loopscale transactions. */
114
- loopscale?: VaultTransactionBuilderLoopscaleConfig
115
- }
116
-
117
- type StepConfig =
118
- | {
119
- kind: "instructions"
120
- label: string
121
- instructions: VaultInstruction[]
122
- options: StepOptions
123
- }
124
- | {
125
- kind: "loopscale-response"
126
- label: string
127
- response: LoopscaleTransactionResponse
128
- options: LoopscaleStepOptions
129
- }
130
-
131
- /**
132
- * A group of instructions that will be assembled into a single VersionedTransaction.
133
- *
134
- * The builder produces an ordered array of TransactionSets: optional setup
135
- * transactions, then one sync transaction per step. Same-transaction Exponent
136
- * price refreshes are injected directly into any set that can hit AUM
137
- * recalculation.
138
- */
139
- export interface TransactionSet {
140
- /** Human-readable label identifying this transaction (e.g. "step-1", "step-1-setup"). */
141
- label: string
142
- /** All instructions in execution order, including compute budget instructions. */
143
- instructions: TransactionInstruction[]
144
- /** Extra signers required by this transaction (e.g. a newly generated LP position keypair from CLMM deposits). */
145
- signers: web3.Signer[]
146
- /** Address lookup table addresses that should be loaded for this transaction's V0 message. */
147
- addressLookupTableAddresses: PublicKey[]
148
- /** Whether this transaction needs Loopscale MPC co-signing before broadcast. */
149
- coSignWithLoopscale?: boolean
150
- }
151
-
152
- /**
153
- * Options for {@link VaultTransactionBuildResult.send}.
154
- */
155
- export interface SendOptions {
156
- /** Keypair signers. The first signer is used as the fee payer. */
157
- signers: web3.Signer[]
158
- /** Commitment level for transaction confirmation (default: "confirmed"). */
159
- commitment?: web3.Commitment
160
- }
161
-
162
- /** Result from {@link VaultTransactionBuildResult.send}. */
163
- export interface SendResult {
164
- /** Transaction signatures in the same order as the TransactionSets. */
165
- signatures: string[]
166
- /**
167
- * Non-null when an ephemeral address lookup table was created to fit all
168
- * accounts into the transactions. The caller can deactivate and close it
169
- * to reclaim rent when they no longer need it.
170
- *
171
- * Cleanup requires two steps (Solana constraint):
172
- * 1. `AddressLookupTableProgram.deactivateLookupTable({ lookupTable: address, authority })`
173
- * 2. After ~one epoch, `AddressLookupTableProgram.closeLookupTable({ lookupTable: address, authority, recipient: authority })`
174
- */
175
- ephemeralAlt: { address: PublicKey; authority: PublicKey } | null
176
- }
177
-
178
- /**
179
- * The result of calling {@link VaultTransactionBuilder.build}.
180
- *
181
- * Contains the assembled TransactionSets and a `send()` method for sequential execution.
182
- * Loopscale co-signing is handled automatically.
183
- *
184
- * @example
185
- * ```ts
186
- * const result = await builder.build()
187
- *
188
- * // Inspect
189
- * console.log(result.labels) // ["step-1", "loopscale-step-2"]
190
- *
191
- * // Send sequentially
192
- * await result.send({ signers: [manager] })
193
- * ```
194
- */
195
- export interface VaultTransactionBuildResult {
196
- /** Ordered TransactionSets: setup + sync per step, with same-tx price refresh injected as needed. */
197
- transactionSets: TransactionSet[]
198
- /** Deduplicated address lookup table addresses across all TransactionSets. */
199
- lookupTableAddresses: PublicKey[]
200
- /** Labels for each TransactionSet, in order. */
201
- labels: string[]
202
- /**
203
- * Send transactions sequentially via regular RPC.
204
- *
205
- * Each transaction is built, signed (and co-signed for Loopscale steps),
206
- * sent via `connection.sendTransaction()`, and confirmed before proceeding
207
- * to the next one. Suitable for most operations.
208
- *
209
- * **Note:** Does not guarantee atomicity — if a later transaction fails,
210
- * earlier ones have already landed.
211
- */
212
- send(options: SendOptions): Promise<SendResult>
213
- }
214
-
215
- // ============================================================================
216
- // VaultTransactionBuilder
217
- // ============================================================================
218
-
219
- /**
220
- * Orchestrates strategy vault transaction construction.
221
- *
222
- * Replaces the per-recipe boilerplate of manually assembling compute budgets,
223
- * sync transaction wrapping, ALT gathering, setup transaction splitting, and
224
- * forward-looking Kamino/CLMM/yield position tracking.
225
- *
226
- * **Lifecycle:** create → add actions → build → send()
227
- *
228
- * @example Single action
229
- * ```ts
230
- * const result = await VaultTransactionBuilder
231
- * .create({ vault, connection, signer: manager.publicKey })
232
- * .addActions([clmmAction.buyPt({ market, ptOutMin, syInMax })])
233
- * .build()
234
- *
235
- * await result.send({ signers: [manager] })
236
- * ```
237
- *
238
- * @example Multi-step — each addActions() becomes its own sync transaction
239
- * ```ts
240
- * const result = await VaultTransactionBuilder
241
- * .create({ vault, connection, signer: manager.publicKey })
242
- * .addActions([kaminoAction.deposit("MAIN", "USDC", amount)]) // sync tx 1
243
- * .addActions([kaminoAction.borrow("MAIN", "SOL", amount)]) // sync tx 2
244
- * .build()
245
- *
246
- * await result.send({ signers: [manager] })
247
- * ```
248
- *
249
- * @example Mixed Kamino + Loopscale — co-signing handled automatically
250
- * ```ts
251
- * const loopscaleDeposit = await loopscale.depositStrategy({ ... })
252
- *
253
- * const result = await VaultTransactionBuilder
254
- * .create({ vault, connection, signer: manager.publicKey })
255
- * .addActions([kaminoAction.deposit(...)]) // signed normally
256
- * .addLoopscaleResponse(loopscaleDeposit) // co-signed automatically
257
- * .build()
258
- *
259
- * // send() auto-creates a LoopscaleClient for Loopscale co-signing
260
- * await result.send({ signers: [manager] })
261
- * ```
262
- */
263
- export class VaultTransactionBuilder {
264
- private readonly config: VaultTransactionBuilderConfig
265
- private steps: StepConfig[] = []
266
- private stepCounter = 0
267
-
268
- private constructor(config: VaultTransactionBuilderConfig) {
269
- this.config = config
270
- }
271
-
272
- /**
273
- * Create a new builder instance.
274
- *
275
- * @param config - Builder configuration including the vault, connection, and signer.
276
- * @returns A new {@link VaultTransactionBuilder} ready for action chaining.
277
- */
278
- static create(config: VaultTransactionBuilderConfig): VaultTransactionBuilder {
279
- return new VaultTransactionBuilder(config)
280
- }
281
-
282
- /**
283
- * Add vault instructions as a new step.
284
- *
285
- * Each call creates a **separate Squads sync transaction** with its own policy matching.
286
- * This prevents oversized transactions — Solana transactions are limited to 1232 bytes,
287
- * and most vault actions (Kamino deposit, CLMM trade, etc.) use many accounts.
288
- *
289
- * To chain multiple calls, each gets its own sync transaction:
290
- * ```ts
291
- * builder
292
- * .addActions([kaminoAction.deposit(...)]) // sync tx 1
293
- * .addActions([kaminoAction.borrow(...)]) // sync tx 2
294
- * ```
295
- *
296
- * **Warning:** Passing multiple actions in a single array packs them into one sync
297
- * transaction. This can easily exceed the 1232-byte Solana packet limit — the builder
298
- * will throw an error at build time if the resulting transaction is oversized.
299
- * Only combine actions in one array when you know they fit (e.g., two small instructions).
300
- *
301
- * @param instructions - Array of VaultInstruction descriptors (from kaminoAction, clmmAction, etc.).
302
- * @param options - Optional per-step compute budget overrides and label.
303
- * @returns `this` for chaining.
304
- */
305
- addActions(instructions: VaultInstruction[], options?: StepOptions): this {
306
- this.stepCounter++
307
- const label = options?.label ?? `step-${this.stepCounter}`
308
- this.steps.push({ kind: "instructions", label, instructions: [...instructions], options: options ?? {} })
309
- return this
310
- }
311
-
312
- /**
313
- * Add a raw Loopscale response as a new step.
314
- *
315
- * The builder will flatten the response into manager-facing transactions,
316
- * preserving Loopscale-signed segments while keeping local setup/top-level
317
- * transactions outside the Loopscale signing domain.
318
- *
319
- * @param response - Raw Loopscale response returned by {@link LoopscaleClient}.
320
- * Only `label` is supported for Loopscale steps. Compute overrides are
321
- * preserved on the raw Loopscale response and are not applied by the
322
- * builder.
323
- *
324
- * @param options - Optional step label.
325
- * @returns `this` for chaining.
326
- */
327
- addLoopscaleResponse(response: LoopscaleTransactionResponse, options?: LoopscaleStepOptions): this {
328
- this.stepCounter++
329
- const label = options?.label ?? `loopscale-step-${this.stepCounter}`
330
- this.steps.push({ kind: "loopscale-response", label, response, options: options ?? {} })
331
- return this
332
- }
333
-
334
- /**
335
- * Build TransactionSets from the configured steps.
336
- *
337
- * Produces an ordered array of TransactionSets:
338
- * 1. **Setup transactions** — token account creation / builder-managed setup (only if needed)
339
- * 2. **Sync transactions** — one per step, wrapped in Squads sync transaction
340
- *
341
- * Same-transaction `UpdatePrice` instructions are injected directly into any
342
- * setup or sync set that can hit AUM recalculation.
343
- *
344
- * Use `result.send()` for sequential execution.
345
- *
346
- * @returns A {@link VaultTransactionBuildResult} with TransactionSets and a send method.
347
- * @throws If no steps have been configured (call addActions first).
348
- * @throws If any assembled transaction exceeds the 1232-byte Solana packet limit.
349
- */
350
- async build(): Promise<VaultTransactionBuildResult> {
351
- if (this.steps.length === 0) {
352
- throw new Error("No steps configured. Call addActions() or addLoopscaleResponse() before build().")
353
- }
354
-
355
- const { vault, connection, signer, pricesAccount } = this.config
356
- const vaultPda = this.config.vaultPda ?? vault.state.squadsVault
357
- const extraLookupTableAddresses = this.config.lookupTableAddresses ?? []
358
- const autoManagePositions = this.config.autoManagePositions ?? true
359
- const squadsProgram = this.config.squadsProgram ?? SQUADS_PROGRAM_ID
360
- const defaultCU = this.config.computeUnitLimit ?? 1_400_000
361
- const defaultHeap = this.config.heapFrameBytes ?? 256 * 1024
362
-
363
- const transactionSets: TransactionSet[] = []
364
- const allAltAddresses = new Set<string>(
365
- [
366
- ...(vault.state.addressLookupTable ? [vault.state.addressLookupTable.toBase58()] : []),
367
- ...extraLookupTableAddresses.map((address) => address.toBase58()),
368
- ],
369
- )
370
-
371
- // Share a single setup context across all steps so that tracked accounts,
372
- // positions, and orderbooks carry over — preventing duplicate setup txs.
373
- const sharedSetupContext = createStrategySetupContext({
374
- connection,
375
- env: LOCAL_ENV,
376
- owner: vaultPda,
377
- signer,
378
- vaultAddress: vault.selfAddress,
379
- vaultPda,
380
- accountIndex: 0,
381
- squadsProgram,
382
- autoManagePositions,
383
- pricesAccount,
384
- })
385
- let loopscaleClient: LoopscaleClient | undefined
386
-
387
- for (const step of this.steps) {
388
- if (step.kind === "loopscale-response") {
389
- loopscaleClient ??= createBuilderLoopscaleClient({
390
- connection,
391
- vaultPda,
392
- loopscale: this.config.loopscale,
393
- })
394
-
395
- const preparedTransactions = await loopscaleClient.prepareVaultTransactions({
396
- response: step.response,
397
- context: {
398
- connection,
399
- signer,
400
- vaultPda,
401
- vaultAddress: vault.selfAddress,
402
- squadsProgram,
403
- },
404
- })
405
- const stepPriceRefreshIxs = await buildSetupStatePriceRefreshInstructions(sharedSetupContext)
406
-
407
- for (const [preparedIndex, preparedTransaction] of preparedTransactions.entries()) {
408
- const txLabel = preparedTransactions.length === 1
409
- ? step.label
410
- : `${step.label}-${preparedIndex + 1}`
411
-
412
- if (preparedTransaction.setupInstructions.length > 0) {
413
- const setupAltAddresses = mergeAddressLookupTableAddresses(
414
- extraLookupTableAddresses,
415
- vault.state.addressLookupTable ? [vault.state.addressLookupTable] : [],
416
- )
417
- const setupSet: TransactionSet = {
418
- label: `${txLabel}-setup`,
419
- instructions: [
420
- ComputeBudgetProgram.setComputeUnitLimit({ units: defaultCU }),
421
- ...preparedTransaction.setupInstructions,
422
- ],
423
- signers: [],
424
- addressLookupTableAddresses: setupAltAddresses,
425
- coSignWithLoopscale: false,
426
- }
427
- if (touchesManagedVaultPrograms(setupSet.instructions, vault.programId, squadsProgram)) {
428
- setupSet.instructions = insertAfterLeadingComputeBudgetAndScopeInstructions(
429
- setupSet.instructions,
430
- stepPriceRefreshIxs,
431
- )
432
- }
433
- transactionSets.push(setupSet)
434
- for (const alt of setupSet.addressLookupTableAddresses) {
435
- allAltAddresses.add(alt.toBase58())
436
- }
437
- }
438
-
439
- const shouldInjectLocalLoopscalePriceRefresh = (
440
- !preparedTransaction.requiresLoopscaleCoSign
441
- && touchesManagedVaultPrograms(preparedTransaction.instructions, vault.programId, squadsProgram)
442
- )
443
- const loopscaleSet: TransactionSet = {
444
- label: txLabel,
445
- instructions: preparedTransaction.instructions,
446
- signers: preparedTransaction.signers,
447
- addressLookupTableAddresses: shouldInjectLocalLoopscalePriceRefresh
448
- ? mergeAddressLookupTableAddresses(
449
- preparedTransaction.addressLookupTableAddresses,
450
- extraLookupTableAddresses,
451
- vault.state.addressLookupTable ? [vault.state.addressLookupTable] : [],
452
- )
453
- : mergeAddressLookupTableAddresses(
454
- preparedTransaction.addressLookupTableAddresses,
455
- extraLookupTableAddresses,
456
- ),
457
- coSignWithLoopscale: preparedTransaction.requiresLoopscaleCoSign,
458
- }
459
- if (shouldInjectLocalLoopscalePriceRefresh) {
460
- loopscaleSet.instructions = insertAfterLeadingComputeBudgetAndScopeInstructions(
461
- loopscaleSet.instructions,
462
- stepPriceRefreshIxs,
463
- )
464
- }
465
- transactionSets.push(loopscaleSet)
466
-
467
- for (const alt of loopscaleSet.addressLookupTableAddresses) {
468
- allAltAddresses.add(alt.toBase58())
469
- }
470
- }
471
- continue
472
- }
473
-
474
- const stepCU = step.options.computeUnitLimit ?? defaultCU
475
- const stepHeap = step.options.heapFrameBytes ?? defaultHeap
476
- const syncResults = await createVaultSyncTransactions({
477
- instructions: step.instructions,
478
- owner: vaultPda,
479
- connection,
480
- vaultPda,
481
- signer,
482
- vaultAddress: vault.selfAddress,
483
- squadsProgram,
484
- autoManagePositions,
485
- setupContext: sharedSetupContext,
486
- })
487
-
488
- const stepPriceRefreshIxs = await buildSetupStatePriceRefreshInstructions(sharedSetupContext)
489
-
490
- for (const [syncIndex, syncResult] of syncResults.entries()) {
491
- const txLabel = syncResults.length === 1
492
- ? step.label
493
- : `${step.label}-${syncIndex + 1}`
494
-
495
- if (syncResult.setupInstructions.length > 0) {
496
- const setupSet: TransactionSet = {
497
- label: `${txLabel}-setup`,
498
- instructions: [
499
- ComputeBudgetProgram.setComputeUnitLimit({ units: defaultCU }),
500
- ...syncResult.setupInstructions,
501
- ],
502
- signers: [],
503
- addressLookupTableAddresses: mergeAddressLookupTableAddresses(
504
- syncResult.addressLookupTableAddresses,
505
- extraLookupTableAddresses,
506
- vault.state.addressLookupTable ? [vault.state.addressLookupTable] : [],
507
- ),
508
- coSignWithLoopscale: false,
509
- }
510
- if (shouldInjectPriceRefresh(setupSet, vault.programId, squadsProgram)) {
511
- setupSet.instructions = insertAfterLeadingComputeBudgetAndScopeInstructions(
512
- setupSet.instructions,
513
- stepPriceRefreshIxs,
514
- )
515
- }
516
- transactionSets.push(setupSet)
517
- for (const alt of setupSet.addressLookupTableAddresses) {
518
- allAltAddresses.add(alt.toBase58())
519
- }
520
- }
521
-
522
- const syncSet: TransactionSet = {
523
- label: txLabel,
524
- instructions: [
525
- ...buildComputeBudgetIxs(stepCU, stepHeap, step.options.priorityFee),
526
- ...syncResult.preInstructions,
527
- syncResult.instruction,
528
- ...syncResult.postInstructions,
529
- ],
530
- signers: syncResult.signers,
531
- addressLookupTableAddresses: mergeAddressLookupTableAddresses(
532
- syncResult.addressLookupTableAddresses,
533
- extraLookupTableAddresses,
534
- vault.state.addressLookupTable ? [vault.state.addressLookupTable] : [],
535
- ),
536
- coSignWithLoopscale: false,
537
- }
538
- if (shouldInjectPriceRefresh(syncSet, vault.programId, squadsProgram)) {
539
- syncSet.instructions = insertAfterLeadingComputeBudgetAndScopeInstructions(
540
- syncSet.instructions,
541
- stepPriceRefreshIxs,
542
- )
543
- }
544
- transactionSets.push(syncSet)
545
-
546
- for (const alt of syncSet.addressLookupTableAddresses) {
547
- allAltAddresses.add(alt.toBase58())
548
- }
549
- }
550
- }
551
-
552
- const lookupTableAddresses = [...allAltAddresses].map((a) => new PublicKey(a))
553
-
554
- // Resolve the vault's persistent ALT to determine which account keys it
555
- // already covers. Any keys NOT covered will need an ephemeral ALT.
556
- const persistentAltAccounts = await resolveAltAccounts(connection, lookupTableAddresses)
557
- const persistentAltKeys = new Set<string>()
558
- for (const alt of persistentAltAccounts) {
559
- for (const addr of alt.state.addresses) {
560
- persistentAltKeys.add(addr.toBase58())
561
- }
562
- }
563
-
564
- // Collect every unique account key referenced by any transaction set.
565
- const allUniqueKeys = collectUniqueAccountKeys(transactionSets, signer)
566
- const ephemeralAltEntries = allUniqueKeys.filter((k) => !persistentAltKeys.has(k.toBase58()))
567
-
568
- // Validate transaction sizes. When an ephemeral ALT will be created,
569
- // skip validation here — send() will validate after ALT activation.
570
- if (ephemeralAltEntries.length === 0) {
571
- validateTransactionSizes(transactionSets, persistentAltAccounts, signer)
572
- }
573
-
574
- const labels = transactionSets.map((ts) => ts.label)
575
-
576
- // Capture state for send() closure
577
- const closedConnection = connection
578
- const closedSigner = signer
579
- const closedVaultPda = vaultPda
580
- const closedLookupTableAddresses = lookupTableAddresses
581
- const closedLoopscaleConfig = this.config.loopscale
582
-
583
- return {
584
- transactionSets,
585
- lookupTableAddresses,
586
- labels,
587
-
588
- async send(options: SendOptions): Promise<SendResult> {
589
- const commitment = options.commitment ?? "confirmed"
590
- const payer = options.signers[0]
591
-
592
- // ── Ephemeral ALT creation ───────────────────────────────────────
593
- let ephemeralAlt: { address: PublicKey; authority: PublicKey } | null = null
594
- let ephemeralAltAccount: AddressLookupTableAccount | undefined
595
-
596
- if (ephemeralAltEntries.length > 0) {
597
- const slot = await closedConnection.getSlot("processed")
598
- const recentSlot = Math.max(slot - 1, 0)
599
- const [createIx, altAddress] = AddressLookupTableProgram.createLookupTable({
600
- authority: payer.publicKey,
601
- payer: payer.publicKey,
602
- recentSlot,
603
- })
604
-
605
- // Chunk extend instructions — each can hold ~20 addresses safely
606
- const extendChunks = chunkArray(ephemeralAltEntries, 20)
607
- const extendIxs = extendChunks.map((chunk) =>
608
- AddressLookupTableProgram.extendLookupTable({
609
- lookupTable: altAddress,
610
- authority: payer.publicKey,
611
- payer: payer.publicKey,
612
- addresses: chunk,
613
- }),
614
- )
615
-
616
- // Send create + first extend in one transaction
617
- const altSetupIxs: TransactionInstruction[] = [createIx, extendIxs[0]!]
618
- await sendAndConfirmTransaction(closedConnection, altSetupIxs, [payer], commitment)
619
-
620
- // Send remaining extend chunks if any
621
- for (let i = 1; i < extendIxs.length; i++) {
622
- await sendAndConfirmTransaction(closedConnection, [extendIxs[i]!], [payer], commitment)
623
- }
624
-
625
- // Wait for ALT entries to become active (usable in the slot AFTER extension)
626
- await waitForSlotAdvance(closedConnection, slot, "processed")
627
-
628
- // Resolve the ephemeral ALT account for use in transactions
629
- const resolved = await closedConnection.getAddressLookupTable(altAddress)
630
- if (!resolved.value) {
631
- throw new Error(`Ephemeral ALT ${altAddress.toBase58()} not found after creation`)
632
- }
633
- ephemeralAltAccount = resolved.value
634
- ephemeralAlt = { address: altAddress, authority: payer.publicKey }
635
- }
636
-
637
- // ── Resolve all ALT accounts (persistent + ephemeral) ────────────
638
- const resolvedAltAccounts = await resolveAltAccounts(closedConnection, closedLookupTableAddresses)
639
- if (ephemeralAltAccount) {
640
- resolvedAltAccounts.push(ephemeralAltAccount)
641
- }
642
-
643
- // If we skipped build-time validation, validate now with the full ALT set
644
- if (ephemeralAltEntries.length > 0) {
645
- validateTransactionSizes(transactionSets, resolvedAltAccounts, closedSigner, ephemeralAltAccount)
646
- }
647
-
648
- // ── Auto-create LoopscaleClient if any step needs co-signing ─────
649
- const hasLoopscale = transactionSets.some((txSet) => txSet.coSignWithLoopscale)
650
- let loopscaleClient: LoopscaleClient | undefined
651
- if (hasLoopscale) {
652
- loopscaleClient = createBuilderLoopscaleClient({
653
- connection: closedConnection,
654
- vaultPda: closedVaultPda,
655
- loopscale: closedLoopscaleConfig,
656
- })
657
- }
658
-
659
- // ── Send transactions ────────────────────────────────────────────
660
- const signatures: string[] = []
661
- for (const txSet of transactionSets) {
662
- const { blockhash, lastValidBlockHeight } = await closedConnection.getLatestBlockhash()
663
-
664
- // Include the ephemeral ALT for every transaction set
665
- const txAltAccounts = resolvedAltAccounts.filter((alt) =>
666
- txSet.addressLookupTableAddresses.some((addr) => addr.equals(alt.key))
667
- || (ephemeralAltAccount && alt.key.equals(ephemeralAltAccount.key)),
668
- )
669
-
670
- const msg = new TransactionMessage({
671
- payerKey: payer.publicKey,
672
- recentBlockhash: blockhash,
673
- instructions: txSet.instructions,
674
- }).compileToV0Message(txAltAccounts)
675
-
676
- let tx = new VersionedTransaction(msg)
677
- if (txSet.coSignWithLoopscale && loopscaleClient) {
678
- tx.sign([...options.signers, ...txSet.signers])
679
- tx = await loopscaleClient.coSign(tx)
680
- } else {
681
- tx.sign([...options.signers, ...txSet.signers])
682
- }
683
-
684
- const sig = await closedConnection.sendTransaction(tx)
685
- await closedConnection.confirmTransaction(
686
- { signature: sig, blockhash, lastValidBlockHeight },
687
- commitment,
688
- )
689
- signatures.push(sig)
690
- }
691
-
692
- return { signatures, ephemeralAlt }
693
- },
694
-
695
- }
696
- }
697
- }
698
-
699
- // ============================================================================
700
- // Internal helpers
701
- // ============================================================================
702
-
703
- /** Build compute budget instructions: CU limit + heap frame + optional priority fee. */
704
- function buildComputeBudgetIxs(
705
- computeUnitLimit: number,
706
- heapFrameBytes: number,
707
- priorityFee?: number,
708
- ): TransactionInstruction[] {
709
- const ixs = [
710
- ComputeBudgetProgram.setComputeUnitLimit({ units: computeUnitLimit }),
711
- ComputeBudgetProgram.requestHeapFrame({ bytes: heapFrameBytes }),
712
- ]
713
- if (priorityFee !== undefined && priorityFee > 0) {
714
- ixs.push(ComputeBudgetProgram.setComputeUnitPrice({ microLamports: priorityFee }))
715
- }
716
- return ixs
717
- }
718
-
719
- function insertAfterLeadingComputeBudgetAndScopeInstructions(
720
- instructions: TransactionInstruction[],
721
- extraInstructions: TransactionInstruction[],
722
- ): TransactionInstruction[] {
723
- if (extraInstructions.length === 0) {
724
- return instructions
725
- }
726
-
727
- let insertIndex = 0
728
- while (
729
- insertIndex < instructions.length
730
- && instructions[insertIndex]?.programId.equals(ComputeBudgetProgram.programId)
731
- ) {
732
- insertIndex += 1
733
- }
734
-
735
- while (
736
- insertIndex < instructions.length
737
- && instructions[insertIndex]?.programId.equals(SCOPE_PROGRAM_ID)
738
- ) {
739
- insertIndex += 1
740
- }
741
-
742
- return [
743
- ...instructions.slice(0, insertIndex),
744
- ...extraInstructions,
745
- ...instructions.slice(insertIndex),
746
- ]
747
- }
748
-
749
- function shouldInjectPriceRefresh(
750
- txSet: TransactionSet,
751
- programId: PublicKey,
752
- squadsProgram: PublicKey,
753
- ): boolean {
754
- if (!txSet.label.endsWith("-setup")) {
755
- return true
756
- }
757
-
758
- return txSet.instructions.some((instruction) =>
759
- instruction.programId.equals(programId) || instruction.programId.equals(squadsProgram),
760
- )
761
- }
762
-
763
- function touchesManagedVaultPrograms(
764
- instructions: TransactionInstruction[],
765
- programId: PublicKey,
766
- squadsProgram: PublicKey,
767
- ): boolean {
768
- return instructions.some((instruction) =>
769
- instruction.programId.equals(programId) || instruction.programId.equals(squadsProgram),
770
- )
771
- }
772
-
773
- function mergeAddressLookupTableAddresses(
774
- ...addressGroups: Array<readonly PublicKey[]>
775
- ): PublicKey[] {
776
- const seen = new Set<string>()
777
- const merged: PublicKey[] = []
778
-
779
- for (const group of addressGroups) {
780
- for (const address of group) {
781
- const key = address.toBase58()
782
- if (seen.has(key)) continue
783
- seen.add(key)
784
- merged.push(address)
785
- }
786
- }
787
-
788
- return merged
789
- }
790
-
791
- function createBuilderLoopscaleClient(params: {
792
- connection: Connection
793
- vaultPda: PublicKey
794
- loopscale?: VaultTransactionBuilderLoopscaleConfig
795
- }): LoopscaleClient {
796
- return new LoopscaleClient({
797
- connection: params.connection,
798
- userWallet: params.vaultPda,
799
- baseUrl: params.loopscale?.baseUrl,
800
- debug: params.loopscale?.debug,
801
- })
802
- }
803
-
804
- /** Fetch and resolve AddressLookupTableAccounts from on-chain, filtering nulls. */
805
- async function resolveAltAccounts(
806
- connection: Connection,
807
- addresses: PublicKey[],
808
- ): Promise<AddressLookupTableAccount[]> {
809
- const results = await Promise.all(
810
- addresses.map((addr) => connection.getAddressLookupTable(addr)),
811
- )
812
- return results
813
- .map((r) => r.value)
814
- .filter((v): v is AddressLookupTableAccount => v !== null)
815
- }
816
-
817
- /** Collect all unique account keys referenced across all transaction sets. */
818
- function collectUniqueAccountKeys(
819
- transactionSets: TransactionSet[],
820
- signer: PublicKey,
821
- ): PublicKey[] {
822
- const seen = new Set<string>()
823
- const keys: PublicKey[] = []
824
-
825
- const add = (pubkey: PublicKey) => {
826
- const str = pubkey.toBase58()
827
- if (!seen.has(str)) {
828
- seen.add(str)
829
- keys.push(pubkey)
830
- }
831
- }
832
-
833
- add(signer)
834
- for (const txSet of transactionSets) {
835
- for (const ix of txSet.instructions) {
836
- add(ix.programId)
837
- for (const key of ix.keys) {
838
- add(key.pubkey)
839
- }
840
- }
841
- }
842
-
843
- return keys
844
- }
845
-
846
- /** Validate that every transaction set can serialize within the 1232-byte limit. */
847
- function validateTransactionSizes(
848
- transactionSets: TransactionSet[],
849
- altAccounts: AddressLookupTableAccount[],
850
- signer: PublicKey,
851
- extraAlt?: AddressLookupTableAccount,
852
- ): void {
853
- for (const txSet of transactionSets) {
854
- const txAltAccounts = altAccounts.filter((alt) =>
855
- txSet.addressLookupTableAddresses.some((addr) => addr.equals(alt.key)),
856
- )
857
- if (extraAlt && !txAltAccounts.some((a) => a.key.equals(extraAlt.key))) {
858
- txAltAccounts.push(extraAlt)
859
- }
860
- try {
861
- const testMsg = new TransactionMessage({
862
- payerKey: signer,
863
- recentBlockhash: PublicKey.default.toBase58(),
864
- instructions: txSet.instructions,
865
- }).compileToV0Message(txAltAccounts)
866
- const testTx = new VersionedTransaction(testMsg)
867
- const serialized = testTx.serialize()
868
- if (serialized.length > 1232) {
869
- throw new Error(
870
- `Transaction "${txSet.label}" is oversized (${serialized.length} bytes, limit 1232). ` +
871
- `This usually means too many actions were packed into a single addActions() call. ` +
872
- `Split them into separate addActions() calls so each gets its own sync transaction.`,
873
- )
874
- }
875
- } catch (e) {
876
- if (e instanceof Error) {
877
- const ixCount = txSet.instructions.length
878
- const altCount = txAltAccounts.length
879
- const accountCount = txSet.instructions.reduce((sum, ix) => sum + ix.keys.length, 0)
880
- throw new Error(
881
- `Transaction "${txSet.label}" failed to serialize: ${e.message}. ` +
882
- `Transaction has ${ixCount} instructions, ${accountCount} account keys, ` +
883
- `and ${altCount} address lookup table(s). ` +
884
- `Try splitting actions into separate addActions() calls.`,
885
- )
886
- }
887
- throw e
888
- }
889
- }
890
- }
891
-
892
- /** Split an array into chunks of the given size. */
893
- function chunkArray<T>(arr: T[], size: number): T[][] {
894
- const chunks: T[][] = []
895
- for (let i = 0; i < arr.length; i += size) {
896
- chunks.push(arr.slice(i, i + size))
897
- }
898
- return chunks
899
- }
900
-
901
- /** Build, sign, send, and confirm a simple transaction. */
902
- async function sendAndConfirmTransaction(
903
- connection: Connection,
904
- instructions: TransactionInstruction[],
905
- signers: web3.Signer[],
906
- commitment: web3.Commitment,
907
- ): Promise<string> {
908
- const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash(commitment)
909
- const msg = new TransactionMessage({
910
- payerKey: signers[0]!.publicKey,
911
- recentBlockhash: blockhash,
912
- instructions,
913
- }).compileToV0Message()
914
- const tx = new VersionedTransaction(msg)
915
- tx.sign(signers)
916
- const sig = await connection.sendTransaction(tx)
917
- await connection.confirmTransaction({ signature: sig, blockhash, lastValidBlockHeight }, commitment)
918
- return sig
919
- }
920
-
921
- /** Poll until the current slot advances past the target slot. */
922
- async function waitForSlotAdvance(
923
- connection: Connection,
924
- targetSlot: number,
925
- commitment: web3.Commitment = "processed",
926
- ): Promise<void> {
927
- for (let i = 0; i < 60; i++) {
928
- const currentSlot = await connection.getSlot(commitment)
929
- if (currentSlot > targetSlot) return
930
- await new Promise((r) => setTimeout(r, 400))
931
- }
932
- throw new Error("Timed out waiting for slot to advance after ephemeral ALT creation")
933
- }