@exponent-labs/exponent-sdk 0.9.1 → 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 (1117) 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.js +3 -3
  485. package/build/client/vaults/types/obligationType.js.map +1 -1
  486. package/build/client/vaults/types/orderbookEntry.d.ts +1 -54
  487. package/build/client/vaults/types/periodV2.d.ts +1 -37
  488. package/build/client/vaults/types/periodV2.js +3 -3
  489. package/build/client/vaults/types/periodV2.js.map +1 -1
  490. package/build/client/vaults/types/permissions.d.ts +1 -7
  491. package/build/client/vaults/types/policyAction.d.ts +1 -40
  492. package/build/client/vaults/types/policyAction.js +3 -3
  493. package/build/client/vaults/types/policyAction.js.map +1 -1
  494. package/build/client/vaults/types/policyCreationPayload.d.ts +1 -260
  495. package/build/client/vaults/types/policyCreationPayload.js +3 -3
  496. package/build/client/vaults/types/policyCreationPayload.js.map +1 -1
  497. package/build/client/vaults/types/policyExpirationArgs.d.ts +1 -19
  498. package/build/client/vaults/types/policyExpirationArgs.js +3 -3
  499. package/build/client/vaults/types/policyExpirationArgs.js.map +1 -1
  500. package/build/client/vaults/types/positionUpdate.js +3 -3
  501. package/build/client/vaults/types/positionUpdate.js.map +1 -1
  502. package/build/client/vaults/types/priceId.d.ts +1 -25
  503. package/build/client/vaults/types/priceId.js +3 -3
  504. package/build/client/vaults/types/priceId.js.map +1 -1
  505. package/build/client/vaults/types/priceType.d.ts +1 -1
  506. package/build/client/vaults/types/proposalAction.d.ts +2 -204
  507. package/build/client/vaults/types/proposalAction.js +6 -3
  508. package/build/client/vaults/types/proposalAction.js.map +1 -1
  509. package/build/client/vaults/types/proposalActionKind.d.ts +1 -1
  510. package/build/client/vaults/types/proposalStatus.d.ts +1 -1
  511. package/build/client/vaults/types/proposalVoteConfig.d.ts +1 -34
  512. package/build/client/vaults/types/proposeActionEvent.d.ts +1 -34
  513. package/build/client/vaults/types/quantityConstraints.d.ts +1 -13
  514. package/build/client/vaults/types/queueWithdrawalEvent.d.ts +11 -0
  515. package/build/client/vaults/types/queueWithdrawalEvent.js +31 -0
  516. package/build/client/vaults/types/queueWithdrawalEvent.js.map +1 -0
  517. package/build/client/vaults/types/reserveFarmMapping.d.ts +1 -13
  518. package/build/client/vaults/types/reservePriceMapping.d.ts +1 -42
  519. package/build/client/vaults/types/settingsChangePolicyCreationPayload.d.ts +1 -77
  520. package/build/client/vaults/types/spendingLimitPolicyCreationPayload.d.ts +1 -130
  521. package/build/client/vaults/types/stakeVoteEvent.d.ts +1 -28
  522. package/build/client/vaults/types/strategyPosition.js +3 -3
  523. package/build/client/vaults/types/strategyPosition.js.map +1 -1
  524. package/build/client/vaults/types/timeConstraints.d.ts +1 -64
  525. package/build/client/vaults/types/tokenAccountBalance.d.ts +1 -45
  526. package/build/client/vaults/types/tokenAccountEntry.d.ts +1 -66
  527. package/build/client/vaults/types/tokenEntry.d.ts +1 -51
  528. package/build/client/vaults/types/unstakeVoteEvent.d.ts +1 -25
  529. package/build/client/vaults/types/updatePriceAction.d.ts +1 -124
  530. package/build/client/vaults/types/updatePriceAction.js +3 -3
  531. package/build/client/vaults/types/updatePriceAction.js.map +1 -1
  532. package/build/client/vaults/types/updatePriceInput.d.ts +1 -10
  533. package/build/client/vaults/types/usageState.d.ts +1 -10
  534. package/build/client/vaults/types/vaultConfig.d.ts +1 -74
  535. package/build/client/vaults/types/vaultFinancials.d.ts +1 -43
  536. package/build/client/vaults/types/vaultFlagAction.d.ts +1 -37
  537. package/build/client/vaults/types/vaultFlagAction.js +3 -3
  538. package/build/client/vaults/types/vaultFlagAction.js.map +1 -1
  539. package/build/client/vaults/types/vaultFlagsUpdatedEvent.d.ts +1 -16
  540. package/build/client/vaults/types/vaultRoleKind.d.ts +1 -1
  541. package/build/client/vaults/types/vaultRoles.d.ts +1 -16
  542. package/build/client/vaults/types/vaultSettingsAction.js +3 -3
  543. package/build/client/vaults/types/vaultSettingsAction.js.map +1 -1
  544. package/build/client/vaults/types/voteChoice.d.ts +1 -1
  545. package/build/client/vaults/types/withdrawalPeriodSettings.d.ts +1 -31
  546. package/build/client/vaults/types/withdrawalPeriodSettings.js +3 -3
  547. package/build/client/vaults/types/withdrawalPeriodSettings.js.map +1 -1
  548. package/build/client/vaults/types/withdrawalTokenFill.d.ts +1 -13
  549. package/build/client/vaults/types/yieldPositionEntry.d.ts +1 -45
  550. package/build/clmm/codamaEvents.d.ts +1 -2
  551. package/build/codamaEvents.d.ts +1 -2
  552. package/build/exponentVaults/aumCalculator.d.ts +0 -2
  553. package/build/exponentVaults/aumCalculator.js +20 -10
  554. package/build/exponentVaults/aumCalculator.js.map +1 -1
  555. package/build/exponentVaults/events.d.ts +1 -2
  556. package/build/exponentVaults/fetcher.js +4 -4
  557. package/build/exponentVaults/fetcher.js.map +1 -1
  558. package/build/exponentVaults/index.d.ts +1 -1
  559. package/build/exponentVaults/index.js +20 -9
  560. package/build/exponentVaults/index.js.map +1 -1
  561. package/build/exponentVaults/kamino-farms.d.ts +0 -2
  562. package/build/exponentVaults/kamino-farms.js +14 -14
  563. package/build/exponentVaults/kamino-farms.js.map +1 -1
  564. package/build/exponentVaults/kamino-markets.d.ts +394 -394
  565. package/build/exponentVaults/kamino-markets.js +2 -2
  566. package/build/exponentVaults/kamino-markets.js.map +1 -1
  567. package/build/exponentVaults/loopscale/helpers.js +6 -7
  568. package/build/exponentVaults/loopscale/helpers.js.map +1 -1
  569. package/build/exponentVaults/loopscale/prepared-transactions.js +1 -2
  570. package/build/exponentVaults/loopscale/prepared-transactions.js.map +1 -1
  571. package/build/exponentVaults/policyBuilders.d.ts +73 -75
  572. package/build/exponentVaults/policyBuilders.js +26 -27
  573. package/build/exponentVaults/policyBuilders.js.map +1 -1
  574. package/build/exponentVaults/policyMatcher.js +6 -7
  575. package/build/exponentVaults/policyMatcher.js.map +1 -1
  576. package/build/exponentVaults/pricePathResolver.js +7 -8
  577. package/build/exponentVaults/pricePathResolver.js.map +1 -1
  578. package/build/exponentVaults/scope-refresh.js +1 -2
  579. package/build/exponentVaults/scope-refresh.js.map +1 -1
  580. package/build/exponentVaults/squadsVaultTxnResolver/helpers.js +6 -7
  581. package/build/exponentVaults/squadsVaultTxnResolver/helpers.js.map +1 -1
  582. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/exponent.js +5 -6
  583. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/exponent.js.map +1 -1
  584. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/helpers.js +1 -2
  585. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/helpers.js.map +1 -1
  586. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/kamino.js +1 -2
  587. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/kamino.js.map +1 -1
  588. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/loopscale.js +1 -2
  589. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/loopscale.js.map +1 -1
  590. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/titan.js +1 -2
  591. package/build/exponentVaults/squadsVaultTxnResolver/resolvers/titan.js.map +1 -1
  592. package/build/exponentVaults/squadsVaultTxnResolver/utils.d.ts +1 -3
  593. package/build/exponentVaults/squadsVaultTxnResolver/utils.js +1 -2
  594. package/build/exponentVaults/squadsVaultTxnResolver/utils.js.map +1 -1
  595. package/build/exponentVaults/syncTransaction.d.ts +1 -1
  596. package/build/exponentVaults/syncTransaction.js +4 -4
  597. package/build/exponentVaults/syncTransaction.js.map +1 -1
  598. package/build/exponentVaults/titan-quote.js +1 -2
  599. package/build/exponentVaults/titan-quote.js.map +1 -1
  600. package/build/exponentVaults/vault-instruction-types.d.ts +1 -1
  601. package/build/exponentVaults/vault-interaction.d.ts +58 -2576
  602. package/build/exponentVaults/vault-interaction.js +325 -75
  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/exponentVaults/vaultTransactionBuilder.js +35 -30
  608. package/build/exponentVaults/vaultTransactionBuilder.js.map +1 -1
  609. package/build/flavors.js +19 -20
  610. package/build/flavors.js.map +1 -1
  611. package/build/index.js +17 -7
  612. package/build/index.js.map +1 -1
  613. package/build/market.d.ts +31 -31
  614. package/build/market.js +17 -7
  615. package/build/market.js.map +1 -1
  616. package/build/marketThree.d.ts +42 -48
  617. package/build/marketThree.js +20 -8
  618. package/build/marketThree.js.map +1 -1
  619. package/build/orderbook/codamaEvents.d.ts +1 -2
  620. package/build/orderbook/index.js +17 -7
  621. package/build/orderbook/index.js.map +1 -1
  622. package/build/orderbook/math.d.ts +4 -4
  623. package/build/orderbook/math.js +13 -13
  624. package/build/orderbook/math.js.map +1 -1
  625. package/build/orderbook/orderbook.d.ts +19 -21
  626. package/build/orderbook/orderbook.js +17 -7
  627. package/build/orderbook/orderbook.js.map +1 -1
  628. package/build/orderbook/types.js +17 -7
  629. package/build/orderbook/types.js.map +1 -1
  630. package/build/orderbook/utils.js +6 -7
  631. package/build/orderbook/utils.js.map +1 -1
  632. package/build/syPosition.js +3 -4
  633. package/build/syPosition.js.map +1 -1
  634. package/build/tokenUtil.js +2 -3
  635. package/build/tokenUtil.js.map +1 -1
  636. package/build/utils/altUtil.js +2 -3
  637. package/build/utils/altUtil.js.map +1 -1
  638. package/build/utils/binSolver.js +1 -2
  639. package/build/utils/binSolver.js.map +1 -1
  640. package/build/utils/index.d.ts +2 -2
  641. package/build/utils/index.js +3 -4
  642. package/build/utils/index.js.map +1 -1
  643. package/build/vault.d.ts +11 -12
  644. package/build/vault.js +20 -10
  645. package/build/vault.js.map +1 -1
  646. package/build/ytPosition.d.ts +7 -7
  647. package/build/ytPosition.js +17 -7
  648. package/build/ytPosition.js.map +1 -1
  649. package/package.json +36 -32
  650. package/build/client/vaults/instructions/proposeAction.d.ts +0 -16
  651. package/build/client/vaults/instructions/proposeAction.js +0 -29
  652. package/build/client/vaults/instructions/proposeAction.js.map +0 -1
  653. package/build/exponentVaults/loopscale/client.test.d.ts +0 -1
  654. package/build/exponentVaults/loopscale/client.test.js +0 -183
  655. package/build/exponentVaults/loopscale/client.test.js.map +0 -1
  656. package/build/exponentVaults/loopscale/prepared-transactions.test.d.ts +0 -1
  657. package/build/exponentVaults/loopscale/prepared-transactions.test.js +0 -400
  658. package/build/exponentVaults/loopscale/prepared-transactions.test.js.map +0 -1
  659. package/build/exponentVaults/loopscale/response-plan.d.ts +0 -69
  660. package/build/exponentVaults/loopscale/response-plan.js +0 -141
  661. package/build/exponentVaults/loopscale/response-plan.js.map +0 -1
  662. package/build/exponentVaults/loopscale/response-plan.test.d.ts +0 -1
  663. package/build/exponentVaults/loopscale/response-plan.test.js +0 -139
  664. package/build/exponentVaults/loopscale/response-plan.test.js.map +0 -1
  665. package/build/exponentVaults/loopscale/send-plan.d.ts +0 -75
  666. package/build/exponentVaults/loopscale/send-plan.js +0 -235
  667. package/build/exponentVaults/loopscale/send-plan.js.map +0 -1
  668. package/build/exponentVaults/loopscale-client.d.ts +0 -130
  669. package/build/exponentVaults/loopscale-client.js +0 -489
  670. package/build/exponentVaults/loopscale-client.js.map +0 -1
  671. package/build/exponentVaults/loopscale-client.test.d.ts +0 -1
  672. package/build/exponentVaults/loopscale-client.test.js +0 -162
  673. package/build/exponentVaults/loopscale-client.test.js.map +0 -1
  674. package/build/exponentVaults/loopscale-client.types.d.ts +0 -425
  675. package/build/exponentVaults/loopscale-client.types.js +0 -3
  676. package/build/exponentVaults/loopscale-client.types.js.map +0 -1
  677. package/build/exponentVaults/loopscale-execution.d.ts +0 -125
  678. package/build/exponentVaults/loopscale-execution.js +0 -341
  679. package/build/exponentVaults/loopscale-execution.js.map +0 -1
  680. package/build/exponentVaults/loopscale-execution.test.d.ts +0 -1
  681. package/build/exponentVaults/loopscale-execution.test.js +0 -139
  682. package/build/exponentVaults/loopscale-execution.test.js.map +0 -1
  683. package/build/exponentVaults/loopscale-vault.d.ts +0 -115
  684. package/build/exponentVaults/loopscale-vault.js +0 -275
  685. package/build/exponentVaults/loopscale-vault.js.map +0 -1
  686. package/build/exponentVaults/loopscale-vault.test.d.ts +0 -1
  687. package/build/exponentVaults/loopscale-vault.test.js +0 -102
  688. package/build/exponentVaults/loopscale-vault.test.js.map +0 -1
  689. package/build/exponentVaults/pricePathResolver.test.d.ts +0 -1
  690. package/build/exponentVaults/pricePathResolver.test.js +0 -369
  691. package/build/exponentVaults/pricePathResolver.test.js.map +0 -1
  692. package/build/exponentVaults/vaultTransactionBuilder.test.d.ts +0 -1
  693. package/build/exponentVaults/vaultTransactionBuilder.test.js +0 -214
  694. package/build/exponentVaults/vaultTransactionBuilder.test.js.map +0 -1
  695. package/build/marketThree.test.d.ts +0 -1
  696. package/build/marketThree.test.js +0 -166
  697. package/build/marketThree.test.js.map +0 -1
  698. package/build/utils/binSolver.test.d.ts +0 -1
  699. package/build/utils/binSolver.test.js +0 -16
  700. package/build/utils/binSolver.test.js.map +0 -1
  701. package/jest.config.js +0 -5
  702. package/src/CodamaEventDecoder.ts +0 -151
  703. package/src/addressLookupTableUtil.ts +0 -110
  704. package/src/client/clmm/accounts/lpPosition.ts +0 -143
  705. package/src/client/clmm/accounts/marketThree.ts +0 -274
  706. package/src/client/clmm/accounts/vault.ts +0 -234
  707. package/src/client/clmm/eventRegistry.ts +0 -92
  708. package/src/client/clmm/index.ts +0 -82
  709. package/src/client/clmm/instructions/addFarm.ts +0 -57
  710. package/src/client/clmm/instructions/addLiquidity.ts +0 -78
  711. package/src/client/clmm/instructions/addMarketEmission.ts +0 -50
  712. package/src/client/clmm/instructions/buyPt.ts +0 -73
  713. package/src/client/clmm/instructions/buyYt.ts +0 -80
  714. package/src/client/clmm/instructions/claimFarmEmission.ts +0 -56
  715. package/src/client/clmm/instructions/closeMarket.ts +0 -47
  716. package/src/client/clmm/instructions/depositLiquidity.ts +0 -71
  717. package/src/client/clmm/instructions/initializeMarket.ts +0 -127
  718. package/src/client/clmm/instructions/marketAccrueEmission.ts +0 -39
  719. package/src/client/clmm/instructions/marketCollectEmission.ts +0 -57
  720. package/src/client/clmm/instructions/modifyFarm.ts +0 -55
  721. package/src/client/clmm/instructions/modifyMarketSetting.ts +0 -45
  722. package/src/client/clmm/instructions/sellPt.ts +0 -73
  723. package/src/client/clmm/instructions/sellYt.ts +0 -80
  724. package/src/client/clmm/instructions/tradePt.ts +0 -73
  725. package/src/client/clmm/instructions/tradePtExactOut.ts +0 -75
  726. package/src/client/clmm/instructions/withdrawLiquidity.ts +0 -67
  727. package/src/client/clmm/instructions/wrapperBuyYt.ts +0 -85
  728. package/src/client/clmm/instructions/wrapperProvideLiquidity.ts +0 -100
  729. package/src/client/clmm/instructions/wrapperProvideLiquidityBase.ts +0 -98
  730. package/src/client/clmm/instructions/wrapperProvideLiquidityClassic.ts +0 -86
  731. package/src/client/clmm/instructions/wrapperSellYt.ts +0 -83
  732. package/src/client/clmm/instructions/wrapperWithdrawLiquidity.ts +0 -75
  733. package/src/client/clmm/instructions/wrapperWithdrawLiquidityClassic.ts +0 -69
  734. package/src/client/clmm/types/addFarmEvent.ts +0 -51
  735. package/src/client/clmm/types/amount.ts +0 -51
  736. package/src/client/clmm/types/buyPtEvent.ts +0 -36
  737. package/src/client/clmm/types/buyYtEvent.ts +0 -74
  738. package/src/client/clmm/types/claimFarmEmissionsEvent.ts +0 -94
  739. package/src/client/clmm/types/claimLimits.ts +0 -15
  740. package/src/client/clmm/types/closeMarketEvent.ts +0 -36
  741. package/src/client/clmm/types/configurationOptions.ts +0 -29
  742. package/src/client/clmm/types/cpiAccounts.ts +0 -21
  743. package/src/client/clmm/types/cpiCoreAccounts.ts +0 -15
  744. package/src/client/clmm/types/cpiInterfaceContext.ts +0 -13
  745. package/src/client/clmm/types/crossingSplit.ts +0 -40
  746. package/src/client/clmm/types/depositLiquidityEvent.ts +0 -93
  747. package/src/client/clmm/types/depositLiquidityReturnData.ts +0 -81
  748. package/src/client/clmm/types/emissionInfo.ts +0 -44
  749. package/src/client/clmm/types/farmEmission.ts +0 -31
  750. package/src/client/clmm/types/index.ts +0 -48
  751. package/src/client/clmm/types/liquidityNetBalanceLimits.ts +0 -22
  752. package/src/client/clmm/types/lpFarm.ts +0 -12
  753. package/src/client/clmm/types/marketAccrueEmissionEvent.ts +0 -69
  754. package/src/client/clmm/types/marketAdminAction.ts +0 -239
  755. package/src/client/clmm/types/marketCollectEmissionEvent.ts +0 -83
  756. package/src/client/clmm/types/marketEmission.ts +0 -28
  757. package/src/client/clmm/types/marketEmissions.ts +0 -10
  758. package/src/client/clmm/types/marketFinancials.ts +0 -17
  759. package/src/client/clmm/types/marketThreeInitEvent.ts +0 -92
  760. package/src/client/clmm/types/mergeEvent.ts +0 -118
  761. package/src/client/clmm/types/modifiedTick.ts +0 -13
  762. package/src/client/clmm/types/modifiedTicks.ts +0 -18
  763. package/src/client/clmm/types/modifyFarmEvent.ts +0 -56
  764. package/src/client/clmm/types/number.ts +0 -7
  765. package/src/client/clmm/types/personalYieldTracker.ts +0 -12
  766. package/src/client/clmm/types/personalYieldTrackers.ts +0 -13
  767. package/src/client/clmm/types/principalShare.ts +0 -22
  768. package/src/client/clmm/types/principalShareTrackers.ts +0 -10
  769. package/src/client/clmm/types/sellPtEvent.ts +0 -36
  770. package/src/client/clmm/types/sellYtEvent.ts +0 -69
  771. package/src/client/clmm/types/stripEvent.ts +0 -124
  772. package/src/client/clmm/types/swapDirection.ts +0 -8
  773. package/src/client/clmm/types/tradePtEvent.ts +0 -76
  774. package/src/client/clmm/types/withdrawLiquidityEvent.ts +0 -99
  775. package/src/client/clmm/types/withdrawLiquidityReturnData.ts +0 -27
  776. package/src/client/clmm/types/wrapperBuyYtEvent.ts +0 -36
  777. package/src/client/clmm/types/wrapperProvideLiquidityBaseEvent.ts +0 -60
  778. package/src/client/clmm/types/wrapperProvideLiquidityClassicEvent.ts +0 -58
  779. package/src/client/clmm/types/wrapperProvideLiquidityEvent.ts +0 -60
  780. package/src/client/clmm/types/wrapperSellYtEvent.ts +0 -36
  781. package/src/client/clmm/types/wrapperWithdrawLiquidityClassicEvent.ts +0 -62
  782. package/src/client/clmm/types/wrapperWithdrawLiquidityEvent.ts +0 -62
  783. package/src/client/core/accounts/admin.ts +0 -112
  784. package/src/client/core/accounts/lpPosition.ts +0 -122
  785. package/src/client/core/accounts/marketTwo.ts +0 -234
  786. package/src/client/core/accounts/vault.ts +0 -234
  787. package/src/client/core/accounts/yieldTokenPosition.ts +0 -126
  788. package/src/client/core/eventRegistry.ts +0 -134
  789. package/src/client/core/index.ts +0 -113
  790. package/src/client/core/instructions/addEmission.ts +0 -62
  791. package/src/client/core/instructions/addFarm.ts +0 -53
  792. package/src/client/core/instructions/addLpTokensMetadata.ts +0 -62
  793. package/src/client/core/instructions/addMarketEmission.ts +0 -52
  794. package/src/client/core/instructions/buyYt.ts +0 -79
  795. package/src/client/core/instructions/claimFarmEmissions.ts +0 -54
  796. package/src/client/core/instructions/collectEmission.ts +0 -66
  797. package/src/client/core/instructions/collectInterest.ts +0 -64
  798. package/src/client/core/instructions/collectTreasuryEmission.ts +0 -64
  799. package/src/client/core/instructions/collectTreasuryInterest.ts +0 -62
  800. package/src/client/core/instructions/depositYt.ts +0 -59
  801. package/src/client/core/instructions/initLpPosition.ts +0 -35
  802. package/src/client/core/instructions/initMarketTwo.ts +0 -103
  803. package/src/client/core/instructions/initializeVault.ts +0 -107
  804. package/src/client/core/instructions/initializeYieldPosition.ts +0 -33
  805. package/src/client/core/instructions/marketCollectEmission.ts +0 -55
  806. package/src/client/core/instructions/marketDepositLp.ts +0 -59
  807. package/src/client/core/instructions/marketTwoDepositLiquidity.ts +0 -65
  808. package/src/client/core/instructions/marketTwoWithdrawLiquidity.ts +0 -65
  809. package/src/client/core/instructions/marketWithdrawLp.ts +0 -59
  810. package/src/client/core/instructions/merge.ts +0 -61
  811. package/src/client/core/instructions/modifyFarm.ts +0 -51
  812. package/src/client/core/instructions/modifyMarketSetting.ts +0 -47
  813. package/src/client/core/instructions/modifyVaultSetting.ts +0 -44
  814. package/src/client/core/instructions/reallocMarket.ts +0 -45
  815. package/src/client/core/instructions/sellYt.ts +0 -79
  816. package/src/client/core/instructions/stageYtYield.ts +0 -39
  817. package/src/client/core/instructions/strip.ts +0 -61
  818. package/src/client/core/instructions/tradePt.ts +0 -59
  819. package/src/client/core/instructions/withdrawYt.ts +0 -61
  820. package/src/client/core/instructions/wrapperBuyPt.ts +0 -63
  821. package/src/client/core/instructions/wrapperBuyYt.ts +0 -93
  822. package/src/client/core/instructions/wrapperCollectInterest.ts +0 -63
  823. package/src/client/core/instructions/wrapperMerge.ts +0 -77
  824. package/src/client/core/instructions/wrapperProvideLiquidity.ts +0 -103
  825. package/src/client/core/instructions/wrapperProvideLiquidityBase.ts +0 -81
  826. package/src/client/core/instructions/wrapperProvideLiquidityClassic.ts +0 -77
  827. package/src/client/core/instructions/wrapperSellPt.ts +0 -63
  828. package/src/client/core/instructions/wrapperSellYt.ts +0 -87
  829. package/src/client/core/instructions/wrapperStrip.ts +0 -81
  830. package/src/client/core/instructions/wrapperWithdrawLiquidity.ts +0 -77
  831. package/src/client/core/instructions/wrapperWithdrawLiquidityClassic.ts +0 -73
  832. package/src/client/core/types/adminAction.ts +0 -255
  833. package/src/client/core/types/amount.ts +0 -51
  834. package/src/client/core/types/buyPtEvent.ts +0 -39
  835. package/src/client/core/types/buyYtEvent.ts +0 -95
  836. package/src/client/core/types/claimFarmEmissionsEvent.ts +0 -75
  837. package/src/client/core/types/claimFarmEmissionsEventV2.ts +0 -83
  838. package/src/client/core/types/claimLimits.ts +0 -15
  839. package/src/client/core/types/collectEmissionEvent.ts +0 -51
  840. package/src/client/core/types/collectEmissionEventV2.ts +0 -60
  841. package/src/client/core/types/collectInterestEvent.ts +0 -48
  842. package/src/client/core/types/collectInterestEventV2.ts +0 -57
  843. package/src/client/core/types/collectTreasuryEmissionKind.ts +0 -8
  844. package/src/client/core/types/collectTreasuryInterestKind.ts +0 -8
  845. package/src/client/core/types/cpiAccounts.ts +0 -21
  846. package/src/client/core/types/cpiInterfaceContext.ts +0 -13
  847. package/src/client/core/types/depositLiquidityEvent.ts +0 -101
  848. package/src/client/core/types/depositLpEvent.ts +0 -75
  849. package/src/client/core/types/depositLpEventV2.ts +0 -83
  850. package/src/client/core/types/depositYtEvent.ts +0 -82
  851. package/src/client/core/types/depositYtEventV2.ts +0 -91
  852. package/src/client/core/types/emissionInfo.ts +0 -44
  853. package/src/client/core/types/farmEmission.ts +0 -31
  854. package/src/client/core/types/index.ts +0 -60
  855. package/src/client/core/types/initLpPositionEvent.ts +0 -57
  856. package/src/client/core/types/initializeYieldPositionEvent.ts +0 -43
  857. package/src/client/core/types/liquidityNetBalanceLimits.ts +0 -22
  858. package/src/client/core/types/lpFarm.ts +0 -12
  859. package/src/client/core/types/marketAdminAction.ts +0 -212
  860. package/src/client/core/types/marketCollectEmissionEvent.ts +0 -67
  861. package/src/client/core/types/marketCollectEmissionEventV2.ts +0 -75
  862. package/src/client/core/types/marketEmission.ts +0 -28
  863. package/src/client/core/types/marketEmissions.ts +0 -10
  864. package/src/client/core/types/marketFinancials.ts +0 -19
  865. package/src/client/core/types/mergeEvent.ts +0 -118
  866. package/src/client/core/types/number.ts +0 -7
  867. package/src/client/core/types/personalYieldTracker.ts +0 -12
  868. package/src/client/core/types/personalYieldTrackers.ts +0 -13
  869. package/src/client/core/types/principleDetails.ts +0 -25
  870. package/src/client/core/types/principles.ts +0 -23
  871. package/src/client/core/types/sellPtEvent.ts +0 -39
  872. package/src/client/core/types/sellYtEvent.ts +0 -90
  873. package/src/client/core/types/stageYieldEvent.ts +0 -63
  874. package/src/client/core/types/stageYieldEventV2.ts +0 -69
  875. package/src/client/core/types/stripEvent.ts +0 -124
  876. package/src/client/core/types/tradePtEvent.ts +0 -80
  877. package/src/client/core/types/withdrawLiquidityEvent.ts +0 -97
  878. package/src/client/core/types/withdrawLpEvent.ts +0 -75
  879. package/src/client/core/types/withdrawLpEventV2.ts +0 -83
  880. package/src/client/core/types/withdrawYtEvent.ts +0 -82
  881. package/src/client/core/types/withdrawYtEventV2.ts +0 -91
  882. package/src/client/core/types/wrapperBuyYtEvent.ts +0 -39
  883. package/src/client/core/types/wrapperCollectInterestEvent.ts +0 -37
  884. package/src/client/core/types/wrapperMergeEvent.ts +0 -38
  885. package/src/client/core/types/wrapperProvideLiquidityBaseEvent.ts +0 -43
  886. package/src/client/core/types/wrapperProvideLiquidityClassicEvent.ts +0 -41
  887. package/src/client/core/types/wrapperProvideLiquidityEvent.ts +0 -41
  888. package/src/client/core/types/wrapperSellYtEvent.ts +0 -39
  889. package/src/client/core/types/wrapperStripEvent.ts +0 -38
  890. package/src/client/core/types/wrapperWithdrawLiquidityClassicEvent.ts +0 -41
  891. package/src/client/core/types/wrapperWithdrawLiquidityEvent.ts +0 -39
  892. package/src/client/core/types/yieldTokenTracker.ts +0 -12
  893. package/src/client/orderbook/accounts/cpiAccountsOrderbook.ts +0 -101
  894. package/src/client/orderbook/accounts/vault.ts +0 -234
  895. package/src/client/orderbook/eventRegistry.ts +0 -71
  896. package/src/client/orderbook/index.ts +0 -55
  897. package/src/client/orderbook/instructions/collectAdminEmission.ts +0 -48
  898. package/src/client/orderbook/instructions/collectAdminFee.ts +0 -59
  899. package/src/client/orderbook/instructions/collectInterest.ts +0 -66
  900. package/src/client/orderbook/instructions/initializeOrderbook.ts +0 -104
  901. package/src/client/orderbook/instructions/marketOffer.ts +0 -89
  902. package/src/client/orderbook/instructions/postOffer.ts +0 -96
  903. package/src/client/orderbook/instructions/reallocOrderbookAccount.ts +0 -45
  904. package/src/client/orderbook/instructions/removeExpiredOffers.ts +0 -37
  905. package/src/client/orderbook/instructions/removeOffer.ts +0 -73
  906. package/src/client/orderbook/instructions/setConfigurationOptions.ts +0 -43
  907. package/src/client/orderbook/instructions/withdrawFunds.ts +0 -78
  908. package/src/client/orderbook/instructions/wrapperCollectAdminFee.ts +0 -73
  909. package/src/client/orderbook/instructions/wrapperCollectInterest.ts +0 -65
  910. package/src/client/orderbook/instructions/wrapperMarketOffer.ts +0 -94
  911. package/src/client/orderbook/instructions/wrapperPostOffer.ts +0 -99
  912. package/src/client/orderbook/instructions/wrapperRemoveOffer.ts +0 -75
  913. package/src/client/orderbook/instructions/wrapperWithdrawFunds.ts +0 -80
  914. package/src/client/orderbook/types/amount.ts +0 -51
  915. package/src/client/orderbook/types/claimLimits.ts +0 -15
  916. package/src/client/orderbook/types/collectAdminEmissionEvent.ts +0 -39
  917. package/src/client/orderbook/types/collectAdminFeeEvent.ts +0 -17
  918. package/src/client/orderbook/types/collectEmissionEventV2.ts +0 -60
  919. package/src/client/orderbook/types/collectInterestEventV2.ts +0 -57
  920. package/src/client/orderbook/types/collectUserInterestEvent.ts +0 -36
  921. package/src/client/orderbook/types/cpiAccounts.ts +0 -21
  922. package/src/client/orderbook/types/cpiInterfaceContext.ts +0 -13
  923. package/src/client/orderbook/types/emissionInfo.ts +0 -44
  924. package/src/client/orderbook/types/exponentCoreCpiAccounts.ts +0 -21
  925. package/src/client/orderbook/types/filledOffersEvent.ts +0 -19
  926. package/src/client/orderbook/types/index.ts +0 -30
  927. package/src/client/orderbook/types/marketOfferEvent.ts +0 -72
  928. package/src/client/orderbook/types/mergeEvent.ts +0 -118
  929. package/src/client/orderbook/types/number.ts +0 -7
  930. package/src/client/orderbook/types/offerOptions.ts +0 -56
  931. package/src/client/orderbook/types/offerType.ts +0 -8
  932. package/src/client/orderbook/types/orderbookInitEvent.ts +0 -54
  933. package/src/client/orderbook/types/postOfferEvent.ts +0 -78
  934. package/src/client/orderbook/types/removeOfferEvent.ts +0 -67
  935. package/src/client/orderbook/types/setConfigurationOptionsEnum.ts +0 -116
  936. package/src/client/orderbook/types/stripEvent.ts +0 -124
  937. package/src/client/orderbook/types/withdrawFundsEvent.ts +0 -65
  938. package/src/client/orderbook/types/wrapperCollectAdminFeeEvent.ts +0 -13
  939. package/src/client/orderbook/types/wrapperCollectInterestEvent.ts +0 -25
  940. package/src/client/orderbook/types/wrapperMarketOfferEvent.ts +0 -27
  941. package/src/client/orderbook/types/wrapperPostOfferEvent.ts +0 -72
  942. package/src/client/orderbook/types/wrapperRemoveOfferEvent.ts +0 -25
  943. package/src/client/orderbook/types/wrapperWithdrawFundsEvent.ts +0 -38
  944. package/src/client/orderbook/types/yieldTokenTracker.ts +0 -12
  945. package/src/client/vaults/accounts/actionProposal.ts +0 -144
  946. package/src/client/vaults/accounts/exponentStrategyVault.ts +0 -211
  947. package/src/client/vaults/accounts/programConfig.ts +0 -123
  948. package/src/client/vaults/accounts/voteAccount.ts +0 -132
  949. package/src/client/vaults/accounts/withdrawalAccount.ts +0 -132
  950. package/src/client/vaults/eventRegistry.ts +0 -45
  951. package/src/client/vaults/index.ts +0 -113
  952. package/src/client/vaults/instructions/activateProposal.ts +0 -46
  953. package/src/client/vaults/instructions/addPolicy.ts +0 -57
  954. package/src/client/vaults/instructions/appendProposalActions.ts +0 -47
  955. package/src/client/vaults/instructions/cancelProposal.ts +0 -28
  956. package/src/client/vaults/instructions/cancelWithdrawal.ts +0 -34
  957. package/src/client/vaults/instructions/collectManagementFee.ts +0 -32
  958. package/src/client/vaults/instructions/depositLiquidity.ts +0 -62
  959. package/src/client/vaults/instructions/executeProposal.ts +0 -36
  960. package/src/client/vaults/instructions/executeWithdrawal.ts +0 -58
  961. package/src/client/vaults/instructions/executeWithdrawalFromReserves.ts +0 -66
  962. package/src/client/vaults/instructions/fillWithdrawal.ts +0 -59
  963. package/src/client/vaults/instructions/finalizeProposal.ts +0 -28
  964. package/src/client/vaults/instructions/initProposal.ts +0 -46
  965. package/src/client/vaults/instructions/initializePrices.ts +0 -28
  966. package/src/client/vaults/instructions/initializeVault.ts +0 -148
  967. package/src/client/vaults/instructions/makeSentienelManager.ts +0 -28
  968. package/src/client/vaults/instructions/managePrices.ts +0 -46
  969. package/src/client/vaults/instructions/manageVaultSettings.ts +0 -48
  970. package/src/client/vaults/instructions/managerUpdatePosition.ts +0 -45
  971. package/src/client/vaults/instructions/queueWithdrawal.ts +0 -50
  972. package/src/client/vaults/instructions/removePolicy.ts +0 -44
  973. package/src/client/vaults/instructions/sentinelSetVaultFlags.ts +0 -44
  974. package/src/client/vaults/instructions/stakeVote.ts +0 -57
  975. package/src/client/vaults/instructions/unstakeVote.ts +0 -42
  976. package/src/client/vaults/instructions/updatePolicy.ts +0 -59
  977. package/src/client/vaults/instructions/updatePolicyManager.ts +0 -44
  978. package/src/client/vaults/instructions/updatePrice.ts +0 -42
  979. package/src/client/vaults/instructions/validateInteractionHook.ts +0 -60
  980. package/src/client/vaults/instructions/wrapperAddPolicy.ts +0 -57
  981. package/src/client/vaults/instructions/wrapperExecuteWithdrawal.ts +0 -76
  982. package/src/client/vaults/instructions/wrapperManageVaultSettings.ts +0 -48
  983. package/src/client/vaults/instructions/wrapperManagerUpdatePosition.ts +0 -45
  984. package/src/client/vaults/instructions/wrapperRemovePolicy.ts +0 -44
  985. package/src/client/vaults/instructions/wrapperUpdatePolicy.ts +0 -59
  986. package/src/client/vaults/types/accountConstraint.ts +0 -35
  987. package/src/client/vaults/types/accountConstraintType.ts +0 -93
  988. package/src/client/vaults/types/allowedSettingsChange.ts +0 -136
  989. package/src/client/vaults/types/cancelProposalEvent.ts +0 -47
  990. package/src/client/vaults/types/clmmPositionEntry.ts +0 -37
  991. package/src/client/vaults/types/dataConstraint.ts +0 -16
  992. package/src/client/vaults/types/dataOperator.ts +0 -13
  993. package/src/client/vaults/types/dataValue.ts +0 -119
  994. package/src/client/vaults/types/depositLiquidityEvent.ts +0 -89
  995. package/src/client/vaults/types/executeProposalEvent.ts +0 -47
  996. package/src/client/vaults/types/executeWithdrawalEvent.ts +0 -12
  997. package/src/client/vaults/types/fillParam.ts +0 -12
  998. package/src/client/vaults/types/finalizeProposalEvent.ts +0 -51
  999. package/src/client/vaults/types/hook.ts +0 -40
  1000. package/src/client/vaults/types/hookCompiledInstruction.ts +0 -20
  1001. package/src/client/vaults/types/index.ts +0 -68
  1002. package/src/client/vaults/types/instructionConstraint.ts +0 -33
  1003. package/src/client/vaults/types/internalFundTransferPolicyCreationPayload.ts +0 -35
  1004. package/src/client/vaults/types/kaminoFarmEntry.ts +0 -32
  1005. package/src/client/vaults/types/kaminoObligationEntry.ts +0 -51
  1006. package/src/client/vaults/types/limitedQuantityConstraints.ts +0 -10
  1007. package/src/client/vaults/types/limitedSpendingLimit.ts +0 -35
  1008. package/src/client/vaults/types/limitedTimeConstraints.ts +0 -15
  1009. package/src/client/vaults/types/loopscaleLoanEntry.ts +0 -23
  1010. package/src/client/vaults/types/loopscaleStrategyEntry.ts +0 -23
  1011. package/src/client/vaults/types/number.ts +0 -8
  1012. package/src/client/vaults/types/obligationType.ts +0 -63
  1013. package/src/client/vaults/types/orderbookEntry.ts +0 -50
  1014. package/src/client/vaults/types/periodV2.ts +0 -76
  1015. package/src/client/vaults/types/permissions.ts +0 -8
  1016. package/src/client/vaults/types/policyAction.ts +0 -74
  1017. package/src/client/vaults/types/policyConfig.ts +0 -32
  1018. package/src/client/vaults/types/policyCreationPayload.ts +0 -147
  1019. package/src/client/vaults/types/policyExpirationArgs.ts +0 -67
  1020. package/src/client/vaults/types/positionUpdate.ts +0 -313
  1021. package/src/client/vaults/types/priceId.ts +0 -57
  1022. package/src/client/vaults/types/priceType.ts +0 -23
  1023. package/src/client/vaults/types/programInteractionPolicyCreationPayload.ts +0 -32
  1024. package/src/client/vaults/types/proposalAction.ts +0 -97
  1025. package/src/client/vaults/types/proposalActionKind.ts +0 -11
  1026. package/src/client/vaults/types/proposalStatus.ts +0 -13
  1027. package/src/client/vaults/types/proposalVoteConfig.ts +0 -36
  1028. package/src/client/vaults/types/proposeActionEvent.ts +0 -62
  1029. package/src/client/vaults/types/quantityConstraints.ts +0 -14
  1030. package/src/client/vaults/types/reserveFarmMapping.ts +0 -35
  1031. package/src/client/vaults/types/reservePriceMapping.ts +0 -26
  1032. package/src/client/vaults/types/settingsChangePolicyCreationPayload.ts +0 -14
  1033. package/src/client/vaults/types/spendingLimitPolicyCreationPayload.ts +0 -54
  1034. package/src/client/vaults/types/stakeVoteEvent.ts +0 -54
  1035. package/src/client/vaults/types/strategyPosition.ts +0 -178
  1036. package/src/client/vaults/types/timeConstraints.ts +0 -22
  1037. package/src/client/vaults/types/tokenAccountBalance.ts +0 -35
  1038. package/src/client/vaults/types/tokenAccountEntry.ts +0 -30
  1039. package/src/client/vaults/types/tokenEntry.ts +0 -48
  1040. package/src/client/vaults/types/unstakeVoteEvent.ts +0 -53
  1041. package/src/client/vaults/types/updatePriceAction.ts +0 -268
  1042. package/src/client/vaults/types/updatePriceInput.ts +0 -12
  1043. package/src/client/vaults/types/usageState.ts +0 -12
  1044. package/src/client/vaults/types/vaultConfig.ts +0 -38
  1045. package/src/client/vaults/types/vaultFinancials.ts +0 -40
  1046. package/src/client/vaults/types/vaultFlagAction.ts +0 -75
  1047. package/src/client/vaults/types/vaultFlagsUpdatedEvent.ts +0 -37
  1048. package/src/client/vaults/types/vaultRoleKind.ts +0 -11
  1049. package/src/client/vaults/types/vaultRoles.ts +0 -59
  1050. package/src/client/vaults/types/vaultSettingsAction.ts +0 -533
  1051. package/src/client/vaults/types/voteChoice.ts +0 -9
  1052. package/src/client/vaults/types/withdrawalPeriodSettings.ts +0 -83
  1053. package/src/client/vaults/types/withdrawalTokenFill.ts +0 -35
  1054. package/src/client/vaults/types/yieldPositionEntry.ts +0 -35
  1055. package/src/clmm/codamaEvents.ts +0 -34
  1056. package/src/clmm/index.ts +0 -1
  1057. package/src/codamaEvents.ts +0 -27
  1058. package/src/environment.ts +0 -21
  1059. package/src/exponentVaults/aumCalculator.ts +0 -1350
  1060. package/src/exponentVaults/events.ts +0 -15
  1061. package/src/exponentVaults/fetcher.ts +0 -257
  1062. package/src/exponentVaults/index.ts +0 -322
  1063. package/src/exponentVaults/kamino-farms.ts +0 -538
  1064. package/src/exponentVaults/kamino-markets.ts +0 -363
  1065. package/src/exponentVaults/loopscale/client.ts +0 -808
  1066. package/src/exponentVaults/loopscale/helpers.ts +0 -172
  1067. package/src/exponentVaults/loopscale/index.ts +0 -57
  1068. package/src/exponentVaults/loopscale/prepared-transactions.ts +0 -435
  1069. package/src/exponentVaults/loopscale/prepared-types.ts +0 -73
  1070. package/src/exponentVaults/loopscale/types.ts +0 -466
  1071. package/src/exponentVaults/policyBuilders.ts +0 -1729
  1072. package/src/exponentVaults/policyMatcher.ts +0 -895
  1073. package/src/exponentVaults/pricePathResolver.test.ts +0 -466
  1074. package/src/exponentVaults/pricePathResolver.ts +0 -273
  1075. package/src/exponentVaults/scope-refresh.ts +0 -169
  1076. package/src/exponentVaults/squadsVaultTxnResolver/constants.ts +0 -59
  1077. package/src/exponentVaults/squadsVaultTxnResolver/helpers.ts +0 -355
  1078. package/src/exponentVaults/squadsVaultTxnResolver/index.ts +0 -16
  1079. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/exponent.ts +0 -472
  1080. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/helpers.ts +0 -33
  1081. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/index.ts +0 -38
  1082. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/kamino.ts +0 -83
  1083. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/loopscale.ts +0 -94
  1084. package/src/exponentVaults/squadsVaultTxnResolver/resolvers/titan.ts +0 -41
  1085. package/src/exponentVaults/squadsVaultTxnResolver/squadsVaultTxnResolver.ts +0 -91
  1086. package/src/exponentVaults/squadsVaultTxnResolver/types.ts +0 -171
  1087. package/src/exponentVaults/squadsVaultTxnResolver/utils.ts +0 -3
  1088. package/src/exponentVaults/syncTransaction.ts +0 -500
  1089. package/src/exponentVaults/titan-quote.ts +0 -446
  1090. package/src/exponentVaults/vault-instruction-types.ts +0 -493
  1091. package/src/exponentVaults/vault-interaction.ts +0 -5070
  1092. package/src/exponentVaults/vault.ts +0 -2667
  1093. package/src/exponentVaults/vaultTransactionBuilder.test.ts +0 -256
  1094. package/src/exponentVaults/vaultTransactionBuilder.ts +0 -927
  1095. package/src/flavors.ts +0 -841
  1096. package/src/index.ts +0 -26
  1097. package/src/lpPosition.ts +0 -155
  1098. package/src/market.ts +0 -2432
  1099. package/src/marketThree.test.ts +0 -210
  1100. package/src/marketThree.ts +0 -2861
  1101. package/src/orderbook/codamaEvents.ts +0 -28
  1102. package/src/orderbook/index.ts +0 -13
  1103. package/src/orderbook/math.ts +0 -138
  1104. package/src/orderbook/orderbook.ts +0 -1354
  1105. package/src/orderbook/types.ts +0 -40
  1106. package/src/orderbook/utils.ts +0 -66
  1107. package/src/router.ts +0 -810
  1108. package/src/syPosition.ts +0 -182
  1109. package/src/tokenUtil.ts +0 -23
  1110. package/src/utils/altUtil.ts +0 -52
  1111. package/src/utils/binSolver.test.ts +0 -17
  1112. package/src/utils/binSolver.ts +0 -44
  1113. package/src/utils/index.ts +0 -33
  1114. package/src/utils/ix.ts +0 -7
  1115. package/src/vault.ts +0 -1033
  1116. package/src/ytPosition.ts +0 -319
  1117. package/tsconfig.json +0 -46
@@ -1,927 +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
- createVaultSyncTransaction,
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 syncResult = await createVaultSyncTransaction({
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
- if (syncResult.setupInstructions.length > 0) {
491
- const setupSet: TransactionSet = {
492
- label: `${step.label}-setup`,
493
- instructions: [
494
- ComputeBudgetProgram.setComputeUnitLimit({ units: defaultCU }),
495
- ...syncResult.setupInstructions,
496
- ],
497
- signers: [],
498
- addressLookupTableAddresses: mergeAddressLookupTableAddresses(
499
- syncResult.addressLookupTableAddresses,
500
- extraLookupTableAddresses,
501
- vault.state.addressLookupTable ? [vault.state.addressLookupTable] : [],
502
- ),
503
- coSignWithLoopscale: false,
504
- }
505
- if (shouldInjectPriceRefresh(setupSet, vault.programId, squadsProgram)) {
506
- setupSet.instructions = insertAfterLeadingComputeBudgetAndScopeInstructions(
507
- setupSet.instructions,
508
- stepPriceRefreshIxs,
509
- )
510
- }
511
- transactionSets.push(setupSet)
512
- for (const alt of setupSet.addressLookupTableAddresses) {
513
- allAltAddresses.add(alt.toBase58())
514
- }
515
- }
516
-
517
- const syncSet: TransactionSet = {
518
- label: step.label,
519
- instructions: [
520
- ...buildComputeBudgetIxs(stepCU, stepHeap, step.options.priorityFee),
521
- ...syncResult.preInstructions,
522
- syncResult.instruction,
523
- ...syncResult.postInstructions,
524
- ],
525
- signers: syncResult.signers,
526
- addressLookupTableAddresses: mergeAddressLookupTableAddresses(
527
- syncResult.addressLookupTableAddresses,
528
- extraLookupTableAddresses,
529
- vault.state.addressLookupTable ? [vault.state.addressLookupTable] : [],
530
- ),
531
- coSignWithLoopscale: false,
532
- }
533
- if (shouldInjectPriceRefresh(syncSet, vault.programId, squadsProgram)) {
534
- syncSet.instructions = insertAfterLeadingComputeBudgetAndScopeInstructions(
535
- syncSet.instructions,
536
- stepPriceRefreshIxs,
537
- )
538
- }
539
- transactionSets.push(syncSet)
540
-
541
- for (const alt of syncSet.addressLookupTableAddresses) {
542
- allAltAddresses.add(alt.toBase58())
543
- }
544
- }
545
-
546
- const lookupTableAddresses = [...allAltAddresses].map((a) => new PublicKey(a))
547
-
548
- // Resolve the vault's persistent ALT to determine which account keys it
549
- // already covers. Any keys NOT covered will need an ephemeral ALT.
550
- const persistentAltAccounts = await resolveAltAccounts(connection, lookupTableAddresses)
551
- const persistentAltKeys = new Set<string>()
552
- for (const alt of persistentAltAccounts) {
553
- for (const addr of alt.state.addresses) {
554
- persistentAltKeys.add(addr.toBase58())
555
- }
556
- }
557
-
558
- // Collect every unique account key referenced by any transaction set.
559
- const allUniqueKeys = collectUniqueAccountKeys(transactionSets, signer)
560
- const ephemeralAltEntries = allUniqueKeys.filter((k) => !persistentAltKeys.has(k.toBase58()))
561
-
562
- // Validate transaction sizes. When an ephemeral ALT will be created,
563
- // skip validation here — send() will validate after ALT activation.
564
- if (ephemeralAltEntries.length === 0) {
565
- validateTransactionSizes(transactionSets, persistentAltAccounts, signer)
566
- }
567
-
568
- const labels = transactionSets.map((ts) => ts.label)
569
-
570
- // Capture state for send() closure
571
- const closedConnection = connection
572
- const closedSigner = signer
573
- const closedVaultPda = vaultPda
574
- const closedLookupTableAddresses = lookupTableAddresses
575
- const closedLoopscaleConfig = this.config.loopscale
576
-
577
- return {
578
- transactionSets,
579
- lookupTableAddresses,
580
- labels,
581
-
582
- async send(options: SendOptions): Promise<SendResult> {
583
- const commitment = options.commitment ?? "confirmed"
584
- const payer = options.signers[0]
585
-
586
- // ── Ephemeral ALT creation ───────────────────────────────────────
587
- let ephemeralAlt: { address: PublicKey; authority: PublicKey } | null = null
588
- let ephemeralAltAccount: AddressLookupTableAccount | undefined
589
-
590
- if (ephemeralAltEntries.length > 0) {
591
- const slot = await closedConnection.getSlot("processed")
592
- const recentSlot = Math.max(slot - 1, 0)
593
- const [createIx, altAddress] = AddressLookupTableProgram.createLookupTable({
594
- authority: payer.publicKey,
595
- payer: payer.publicKey,
596
- recentSlot,
597
- })
598
-
599
- // Chunk extend instructions — each can hold ~20 addresses safely
600
- const extendChunks = chunkArray(ephemeralAltEntries, 20)
601
- const extendIxs = extendChunks.map((chunk) =>
602
- AddressLookupTableProgram.extendLookupTable({
603
- lookupTable: altAddress,
604
- authority: payer.publicKey,
605
- payer: payer.publicKey,
606
- addresses: chunk,
607
- }),
608
- )
609
-
610
- // Send create + first extend in one transaction
611
- const altSetupIxs: TransactionInstruction[] = [createIx, extendIxs[0]!]
612
- await sendAndConfirmTransaction(closedConnection, altSetupIxs, [payer], commitment)
613
-
614
- // Send remaining extend chunks if any
615
- for (let i = 1; i < extendIxs.length; i++) {
616
- await sendAndConfirmTransaction(closedConnection, [extendIxs[i]!], [payer], commitment)
617
- }
618
-
619
- // Wait for ALT entries to become active (usable in the slot AFTER extension)
620
- await waitForSlotAdvance(closedConnection, slot, "processed")
621
-
622
- // Resolve the ephemeral ALT account for use in transactions
623
- const resolved = await closedConnection.getAddressLookupTable(altAddress)
624
- if (!resolved.value) {
625
- throw new Error(`Ephemeral ALT ${altAddress.toBase58()} not found after creation`)
626
- }
627
- ephemeralAltAccount = resolved.value
628
- ephemeralAlt = { address: altAddress, authority: payer.publicKey }
629
- }
630
-
631
- // ── Resolve all ALT accounts (persistent + ephemeral) ────────────
632
- const resolvedAltAccounts = await resolveAltAccounts(closedConnection, closedLookupTableAddresses)
633
- if (ephemeralAltAccount) {
634
- resolvedAltAccounts.push(ephemeralAltAccount)
635
- }
636
-
637
- // If we skipped build-time validation, validate now with the full ALT set
638
- if (ephemeralAltEntries.length > 0) {
639
- validateTransactionSizes(transactionSets, resolvedAltAccounts, closedSigner, ephemeralAltAccount)
640
- }
641
-
642
- // ── Auto-create LoopscaleClient if any step needs co-signing ─────
643
- const hasLoopscale = transactionSets.some((txSet) => txSet.coSignWithLoopscale)
644
- let loopscaleClient: LoopscaleClient | undefined
645
- if (hasLoopscale) {
646
- loopscaleClient = createBuilderLoopscaleClient({
647
- connection: closedConnection,
648
- vaultPda: closedVaultPda,
649
- loopscale: closedLoopscaleConfig,
650
- })
651
- }
652
-
653
- // ── Send transactions ────────────────────────────────────────────
654
- const signatures: string[] = []
655
- for (const txSet of transactionSets) {
656
- const { blockhash, lastValidBlockHeight } = await closedConnection.getLatestBlockhash()
657
-
658
- // Include the ephemeral ALT for every transaction set
659
- const txAltAccounts = resolvedAltAccounts.filter((alt) =>
660
- txSet.addressLookupTableAddresses.some((addr) => addr.equals(alt.key))
661
- || (ephemeralAltAccount && alt.key.equals(ephemeralAltAccount.key)),
662
- )
663
-
664
- const msg = new TransactionMessage({
665
- payerKey: payer.publicKey,
666
- recentBlockhash: blockhash,
667
- instructions: txSet.instructions,
668
- }).compileToV0Message(txAltAccounts)
669
-
670
- let tx = new VersionedTransaction(msg)
671
- if (txSet.coSignWithLoopscale && loopscaleClient) {
672
- tx.sign([...options.signers, ...txSet.signers])
673
- tx = await loopscaleClient.coSign(tx)
674
- } else {
675
- tx.sign([...options.signers, ...txSet.signers])
676
- }
677
-
678
- const sig = await closedConnection.sendTransaction(tx)
679
- await closedConnection.confirmTransaction(
680
- { signature: sig, blockhash, lastValidBlockHeight },
681
- commitment,
682
- )
683
- signatures.push(sig)
684
- }
685
-
686
- return { signatures, ephemeralAlt }
687
- },
688
-
689
- }
690
- }
691
- }
692
-
693
- // ============================================================================
694
- // Internal helpers
695
- // ============================================================================
696
-
697
- /** Build compute budget instructions: CU limit + heap frame + optional priority fee. */
698
- function buildComputeBudgetIxs(
699
- computeUnitLimit: number,
700
- heapFrameBytes: number,
701
- priorityFee?: number,
702
- ): TransactionInstruction[] {
703
- const ixs = [
704
- ComputeBudgetProgram.setComputeUnitLimit({ units: computeUnitLimit }),
705
- ComputeBudgetProgram.requestHeapFrame({ bytes: heapFrameBytes }),
706
- ]
707
- if (priorityFee !== undefined && priorityFee > 0) {
708
- ixs.push(ComputeBudgetProgram.setComputeUnitPrice({ microLamports: priorityFee }))
709
- }
710
- return ixs
711
- }
712
-
713
- function insertAfterLeadingComputeBudgetAndScopeInstructions(
714
- instructions: TransactionInstruction[],
715
- extraInstructions: TransactionInstruction[],
716
- ): TransactionInstruction[] {
717
- if (extraInstructions.length === 0) {
718
- return instructions
719
- }
720
-
721
- let insertIndex = 0
722
- while (
723
- insertIndex < instructions.length
724
- && instructions[insertIndex]?.programId.equals(ComputeBudgetProgram.programId)
725
- ) {
726
- insertIndex += 1
727
- }
728
-
729
- while (
730
- insertIndex < instructions.length
731
- && instructions[insertIndex]?.programId.equals(SCOPE_PROGRAM_ID)
732
- ) {
733
- insertIndex += 1
734
- }
735
-
736
- return [
737
- ...instructions.slice(0, insertIndex),
738
- ...extraInstructions,
739
- ...instructions.slice(insertIndex),
740
- ]
741
- }
742
-
743
- function shouldInjectPriceRefresh(
744
- txSet: TransactionSet,
745
- programId: PublicKey,
746
- squadsProgram: PublicKey,
747
- ): boolean {
748
- if (!txSet.label.endsWith("-setup")) {
749
- return true
750
- }
751
-
752
- return txSet.instructions.some((instruction) =>
753
- instruction.programId.equals(programId) || instruction.programId.equals(squadsProgram),
754
- )
755
- }
756
-
757
- function touchesManagedVaultPrograms(
758
- instructions: TransactionInstruction[],
759
- programId: PublicKey,
760
- squadsProgram: PublicKey,
761
- ): boolean {
762
- return instructions.some((instruction) =>
763
- instruction.programId.equals(programId) || instruction.programId.equals(squadsProgram),
764
- )
765
- }
766
-
767
- function mergeAddressLookupTableAddresses(
768
- ...addressGroups: Array<readonly PublicKey[]>
769
- ): PublicKey[] {
770
- const seen = new Set<string>()
771
- const merged: PublicKey[] = []
772
-
773
- for (const group of addressGroups) {
774
- for (const address of group) {
775
- const key = address.toBase58()
776
- if (seen.has(key)) continue
777
- seen.add(key)
778
- merged.push(address)
779
- }
780
- }
781
-
782
- return merged
783
- }
784
-
785
- function createBuilderLoopscaleClient(params: {
786
- connection: Connection
787
- vaultPda: PublicKey
788
- loopscale?: VaultTransactionBuilderLoopscaleConfig
789
- }): LoopscaleClient {
790
- return new LoopscaleClient({
791
- connection: params.connection,
792
- userWallet: params.vaultPda,
793
- baseUrl: params.loopscale?.baseUrl,
794
- debug: params.loopscale?.debug,
795
- })
796
- }
797
-
798
- /** Fetch and resolve AddressLookupTableAccounts from on-chain, filtering nulls. */
799
- async function resolveAltAccounts(
800
- connection: Connection,
801
- addresses: PublicKey[],
802
- ): Promise<AddressLookupTableAccount[]> {
803
- const results = await Promise.all(
804
- addresses.map((addr) => connection.getAddressLookupTable(addr)),
805
- )
806
- return results
807
- .map((r) => r.value)
808
- .filter((v): v is AddressLookupTableAccount => v !== null)
809
- }
810
-
811
- /** Collect all unique account keys referenced across all transaction sets. */
812
- function collectUniqueAccountKeys(
813
- transactionSets: TransactionSet[],
814
- signer: PublicKey,
815
- ): PublicKey[] {
816
- const seen = new Set<string>()
817
- const keys: PublicKey[] = []
818
-
819
- const add = (pubkey: PublicKey) => {
820
- const str = pubkey.toBase58()
821
- if (!seen.has(str)) {
822
- seen.add(str)
823
- keys.push(pubkey)
824
- }
825
- }
826
-
827
- add(signer)
828
- for (const txSet of transactionSets) {
829
- for (const ix of txSet.instructions) {
830
- add(ix.programId)
831
- for (const key of ix.keys) {
832
- add(key.pubkey)
833
- }
834
- }
835
- }
836
-
837
- return keys
838
- }
839
-
840
- /** Validate that every transaction set can serialize within the 1232-byte limit. */
841
- function validateTransactionSizes(
842
- transactionSets: TransactionSet[],
843
- altAccounts: AddressLookupTableAccount[],
844
- signer: PublicKey,
845
- extraAlt?: AddressLookupTableAccount,
846
- ): void {
847
- for (const txSet of transactionSets) {
848
- const txAltAccounts = altAccounts.filter((alt) =>
849
- txSet.addressLookupTableAddresses.some((addr) => addr.equals(alt.key)),
850
- )
851
- if (extraAlt && !txAltAccounts.some((a) => a.key.equals(extraAlt.key))) {
852
- txAltAccounts.push(extraAlt)
853
- }
854
- try {
855
- const testMsg = new TransactionMessage({
856
- payerKey: signer,
857
- recentBlockhash: PublicKey.default.toBase58(),
858
- instructions: txSet.instructions,
859
- }).compileToV0Message(txAltAccounts)
860
- const testTx = new VersionedTransaction(testMsg)
861
- const serialized = testTx.serialize()
862
- if (serialized.length > 1232) {
863
- throw new Error(
864
- `Transaction "${txSet.label}" is oversized (${serialized.length} bytes, limit 1232). ` +
865
- `This usually means too many actions were packed into a single addActions() call. ` +
866
- `Split them into separate addActions() calls so each gets its own sync transaction.`,
867
- )
868
- }
869
- } catch (e) {
870
- if (e instanceof Error) {
871
- const ixCount = txSet.instructions.length
872
- const altCount = txAltAccounts.length
873
- const accountCount = txSet.instructions.reduce((sum, ix) => sum + ix.keys.length, 0)
874
- throw new Error(
875
- `Transaction "${txSet.label}" failed to serialize: ${e.message}. ` +
876
- `Transaction has ${ixCount} instructions, ${accountCount} account keys, ` +
877
- `and ${altCount} address lookup table(s). ` +
878
- `Try splitting actions into separate addActions() calls.`,
879
- )
880
- }
881
- throw e
882
- }
883
- }
884
- }
885
-
886
- /** Split an array into chunks of the given size. */
887
- function chunkArray<T>(arr: T[], size: number): T[][] {
888
- const chunks: T[][] = []
889
- for (let i = 0; i < arr.length; i += size) {
890
- chunks.push(arr.slice(i, i + size))
891
- }
892
- return chunks
893
- }
894
-
895
- /** Build, sign, send, and confirm a simple transaction. */
896
- async function sendAndConfirmTransaction(
897
- connection: Connection,
898
- instructions: TransactionInstruction[],
899
- signers: web3.Signer[],
900
- commitment: web3.Commitment,
901
- ): Promise<string> {
902
- const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash(commitment)
903
- const msg = new TransactionMessage({
904
- payerKey: signers[0]!.publicKey,
905
- recentBlockhash: blockhash,
906
- instructions,
907
- }).compileToV0Message()
908
- const tx = new VersionedTransaction(msg)
909
- tx.sign(signers)
910
- const sig = await connection.sendTransaction(tx)
911
- await connection.confirmTransaction({ signature: sig, blockhash, lastValidBlockHeight }, commitment)
912
- return sig
913
- }
914
-
915
- /** Poll until the current slot advances past the target slot. */
916
- async function waitForSlotAdvance(
917
- connection: Connection,
918
- targetSlot: number,
919
- commitment: web3.Commitment = "processed",
920
- ): Promise<void> {
921
- for (let i = 0; i < 60; i++) {
922
- const currentSlot = await connection.getSlot(commitment)
923
- if (currentSlot > targetSlot) return
924
- await new Promise((r) => setTimeout(r, 400))
925
- }
926
- throw new Error("Timed out waiting for slot to advance after ephemeral ALT creation")
927
- }