@shogun-sdk/intents-sdk 1.2.0 → 1.2.2

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 (453) hide show
  1. package/README.md +616 -55
  2. package/dist/esm/constants.js +21 -26
  3. package/dist/esm/constants.js.map +1 -1
  4. package/dist/esm/core/evm/abi/source-chain-guard.js +32 -628
  5. package/dist/esm/core/evm/abi/source-chain-guard.js.map +1 -1
  6. package/dist/esm/core/evm/cross-chain-limit-order.js +43 -0
  7. package/dist/esm/core/evm/cross-chain-limit-order.js.map +1 -0
  8. package/dist/esm/core/evm/intent-helpers.js +130 -0
  9. package/dist/esm/core/evm/intent-helpers.js.map +1 -0
  10. package/dist/esm/core/evm/sdk.js +4 -4
  11. package/dist/esm/core/evm/sdk.js.map +1 -1
  12. package/dist/esm/core/evm/single-chain-dca-order.js +49 -0
  13. package/dist/esm/core/evm/single-chain-dca-order.js.map +1 -0
  14. package/dist/esm/core/evm/single-chain-limit-order.js +45 -0
  15. package/dist/esm/core/evm/single-chain-limit-order.js.map +1 -0
  16. package/dist/esm/core/evm/types.js +8 -0
  17. package/dist/esm/core/evm/types.js.map +1 -0
  18. package/dist/esm/core/orders/common.js +3 -3
  19. package/dist/esm/core/orders/common.js.map +1 -1
  20. package/dist/esm/core/orders/cross-chain.js +3 -3
  21. package/dist/esm/core/orders/cross-chain.js.map +1 -1
  22. package/dist/esm/core/orders/dca-single-chain.js +4 -1
  23. package/dist/esm/core/orders/dca-single-chain.js.map +1 -1
  24. package/dist/esm/core/orders/single-chain.js +10 -2
  25. package/dist/esm/core/orders/single-chain.js.map +1 -1
  26. package/dist/esm/core/solana/cancel-order.js.map +1 -1
  27. package/dist/esm/core/solana/client.js +1 -1
  28. package/dist/esm/core/solana/client.js.map +1 -1
  29. package/dist/esm/core/solana/cross-chain-limit-order.js +18 -0
  30. package/dist/esm/core/solana/cross-chain-limit-order.js.map +1 -0
  31. package/dist/esm/core/solana/dca/cancel-order.js.map +1 -1
  32. package/dist/esm/core/solana/dca/create-order.js.map +1 -1
  33. package/dist/esm/core/solana/dca/single-chain-dca-order.js +23 -0
  34. package/dist/esm/core/solana/dca/single-chain-dca-order.js.map +1 -0
  35. package/dist/esm/core/solana/dca/single-chain-limit-order.js +29 -0
  36. package/dist/esm/core/solana/dca/single-chain-limit-order.js.map +1 -0
  37. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js +6 -4
  38. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js.map +1 -1
  39. package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js +90 -0
  40. package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js.map +1 -0
  41. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js +6 -4
  42. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js.map +1 -1
  43. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js +1 -0
  44. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js.map +1 -1
  45. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js +3 -3
  46. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js.map +1 -1
  47. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js +111 -6
  48. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js.map +1 -1
  49. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js +5 -8
  50. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js.map +1 -1
  51. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js +118 -0
  52. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js.map +1 -0
  53. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js +10 -28
  54. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js.map +1 -1
  55. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js +9 -24
  56. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js.map +1 -1
  57. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js +12 -25
  58. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js.map +1 -1
  59. package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js +170 -0
  60. package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js.map +1 -0
  61. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js +24 -72
  62. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js.map +1 -1
  63. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js +14 -30
  64. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js.map +1 -1
  65. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js +2 -0
  66. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js.map +1 -1
  67. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js +11 -12
  68. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js.map +1 -1
  69. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js +12 -25
  70. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js.map +1 -1
  71. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js +4 -4
  72. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js.map +1 -1
  73. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js +18 -11
  74. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js.map +1 -1
  75. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js +10 -17
  76. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js.map +1 -1
  77. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js +10 -17
  78. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js.map +1 -1
  79. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js +28 -16
  80. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js.map +1 -1
  81. package/dist/esm/core/solana/generated/cross-chain/shared/index.js +7 -10
  82. package/dist/esm/core/solana/generated/cross-chain/shared/index.js.map +1 -1
  83. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js.map +1 -1
  84. package/dist/esm/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.js.map +1 -1
  85. package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js +32 -0
  86. package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js.map +1 -0
  87. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js +42 -0
  88. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js.map +1 -0
  89. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js +26 -0
  90. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js.map +1 -0
  91. package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js +28 -0
  92. package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js.map +1 -0
  93. package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js +26 -0
  94. package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js.map +1 -0
  95. package/dist/esm/core/solana/generated/cross-chain/types/index.js +5 -0
  96. package/dist/esm/core/solana/generated/cross-chain/types/index.js.map +1 -1
  97. package/dist/esm/core/solana/generated/cross-chain/types/tokenInSwapped.js.map +1 -1
  98. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js +6 -4
  99. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js.map +1 -1
  100. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js +3 -3
  101. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js.map +1 -1
  102. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js +3 -3
  103. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js.map +1 -1
  104. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js +3 -3
  105. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js.map +1 -1
  106. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js +3 -3
  107. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js.map +1 -1
  108. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js +5 -8
  109. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js.map +1 -1
  110. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js +10 -17
  111. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js.map +1 -1
  112. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js +10 -17
  113. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js.map +1 -1
  114. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js +14 -33
  115. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js.map +1 -1
  116. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js +14 -30
  117. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js.map +1 -1
  118. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js +12 -22
  119. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js.map +1 -1
  120. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js +14 -30
  121. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js.map +1 -1
  122. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js +18 -42
  123. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js.map +1 -1
  124. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js +17 -38
  125. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js.map +1 -1
  126. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js +9 -10
  127. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js.map +1 -1
  128. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js +4 -4
  129. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js.map +1 -1
  130. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js +18 -11
  131. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js.map +1 -1
  132. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js +2 -2
  133. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js.map +1 -1
  134. package/dist/esm/core/solana/generated/single-chain/shared/index.js +7 -10
  135. package/dist/esm/core/solana/generated/single-chain/shared/index.js.map +1 -1
  136. package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js.map +1 -1
  137. package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js.map +1 -1
  138. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js.map +1 -1
  139. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js.map +1 -1
  140. package/dist/esm/core/solana/generated/single-chain/types/guardCreated.js.map +1 -1
  141. package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js.map +1 -1
  142. package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js.map +1 -1
  143. package/dist/esm/core/solana/inspect.js +1 -1
  144. package/dist/esm/core/solana/intent-helpers.js +177 -0
  145. package/dist/esm/core/solana/intent-helpers.js.map +1 -0
  146. package/dist/esm/core/solana/order-instructions.js.map +1 -1
  147. package/dist/esm/core/solana/sdk.js +4 -1
  148. package/dist/esm/core/solana/sdk.js.map +1 -1
  149. package/dist/esm/core/sui/cancel.js +1 -1
  150. package/dist/esm/core/sui/cancel.js.map +1 -1
  151. package/dist/esm/core/sui/cross-chain-limit-order.js +26 -0
  152. package/dist/esm/core/sui/cross-chain-limit-order.js.map +1 -0
  153. package/dist/esm/core/sui/intent-helpers.js +136 -0
  154. package/dist/esm/core/sui/intent-helpers.js.map +1 -0
  155. package/dist/esm/core/sui/order-transaction.js +5 -4
  156. package/dist/esm/core/sui/order-transaction.js.map +1 -1
  157. package/dist/esm/core/sui/sdk.js +1 -1
  158. package/dist/esm/core/sui/sdk.js.map +1 -1
  159. package/dist/esm/core/sui/single-chain-dca-order.js +99 -0
  160. package/dist/esm/core/sui/single-chain-dca-order.js.map +1 -0
  161. package/dist/esm/core/sui/single-chain-limit-order.js +103 -0
  162. package/dist/esm/core/sui/single-chain-limit-order.js.map +1 -0
  163. package/dist/esm/core/sui/validator.js +1 -2
  164. package/dist/esm/core/sui/validator.js.map +1 -1
  165. package/dist/esm/index.js +15 -0
  166. package/dist/esm/index.js.map +1 -1
  167. package/dist/esm/utils/quote/aggregator.js +2 -2
  168. package/dist/esm/utils/quote/aggregator.js.map +1 -1
  169. package/dist/types/constants.d.ts +3 -4
  170. package/dist/types/constants.d.ts.map +1 -1
  171. package/dist/types/core/evm/abi/source-chain-guard.d.ts +18 -484
  172. package/dist/types/core/evm/abi/source-chain-guard.d.ts.map +1 -1
  173. package/dist/types/core/evm/cross-chain-limit-order.d.ts +22 -0
  174. package/dist/types/core/evm/cross-chain-limit-order.d.ts.map +1 -0
  175. package/dist/types/core/evm/intent-helpers.d.ts +105 -0
  176. package/dist/types/core/evm/intent-helpers.d.ts.map +1 -0
  177. package/dist/types/core/evm/single-chain-dca-order.d.ts +26 -0
  178. package/dist/types/core/evm/single-chain-dca-order.d.ts.map +1 -0
  179. package/dist/types/core/evm/single-chain-limit-order.d.ts +23 -0
  180. package/dist/types/core/evm/single-chain-limit-order.d.ts.map +1 -0
  181. package/dist/types/core/evm/types.d.ts +8 -0
  182. package/dist/types/core/evm/types.d.ts.map +1 -0
  183. package/dist/types/core/orders/common.d.ts +2 -2
  184. package/dist/types/core/orders/common.d.ts.map +1 -1
  185. package/dist/types/core/orders/cross-chain.d.ts +1 -1
  186. package/dist/types/core/orders/cross-chain.d.ts.map +1 -1
  187. package/dist/types/core/orders/dca-single-chain.d.ts.map +1 -1
  188. package/dist/types/core/orders/single-chain.d.ts +1 -0
  189. package/dist/types/core/orders/single-chain.d.ts.map +1 -1
  190. package/dist/types/core/solana/cancel-order.d.ts +3 -3
  191. package/dist/types/core/solana/cancel-order.d.ts.map +1 -1
  192. package/dist/types/core/solana/cross-chain-limit-order.d.ts +9 -0
  193. package/dist/types/core/solana/cross-chain-limit-order.d.ts.map +1 -0
  194. package/dist/types/core/solana/dca/cancel-order.d.ts +2 -2
  195. package/dist/types/core/solana/dca/cancel-order.d.ts.map +1 -1
  196. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts +14 -0
  197. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts.map +1 -0
  198. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts +19 -0
  199. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts.map +1 -0
  200. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts +6 -6
  201. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts.map +1 -1
  202. package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts +110 -0
  203. package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts.map +1 -0
  204. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts +10 -6
  205. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts.map +1 -1
  206. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts +1 -0
  207. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts.map +1 -1
  208. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts +6 -6
  209. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts.map +1 -1
  210. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts +76 -6
  211. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts.map +1 -1
  212. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts +12 -12
  213. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts.map +1 -1
  214. package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts +124 -0
  215. package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts.map +1 -0
  216. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts +12 -12
  217. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts.map +1 -1
  218. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts +12 -12
  219. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts.map +1 -1
  220. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts +15 -15
  221. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts.map +1 -1
  222. package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts +130 -0
  223. package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts.map +1 -0
  224. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts +16 -12
  225. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts.map +1 -1
  226. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts +12 -12
  227. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts.map +1 -1
  228. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts +2 -0
  229. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts.map +1 -1
  230. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts +12 -12
  231. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts.map +1 -1
  232. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts +12 -12
  233. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts.map +1 -1
  234. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts +11 -11
  235. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts.map +1 -1
  236. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts +11 -11
  237. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -1
  238. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts +12 -12
  239. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts.map +1 -1
  240. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts +11 -11
  241. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts.map +1 -1
  242. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts +25 -18
  243. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts.map +1 -1
  244. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts +5 -5
  245. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts.map +1 -1
  246. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts +4 -4
  247. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts.map +1 -1
  248. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts +4 -4
  249. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts.map +1 -1
  250. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts +4 -4
  251. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -1
  252. package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts +28 -0
  253. package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts.map +1 -0
  254. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts +38 -0
  255. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts.map +1 -0
  256. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts +18 -0
  257. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts.map +1 -0
  258. package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts +24 -0
  259. package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts.map +1 -0
  260. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts +4 -4
  261. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts.map +1 -1
  262. package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts +18 -0
  263. package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts.map +1 -0
  264. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts +4 -4
  265. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts.map +1 -1
  266. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts +5 -0
  267. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts.map +1 -1
  268. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts +4 -4
  269. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts.map +1 -1
  270. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts +4 -4
  271. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts.map +1 -1
  272. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts +4 -4
  273. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts.map +1 -1
  274. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts +4 -4
  275. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts.map +1 -1
  276. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts +6 -6
  277. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts.map +1 -1
  278. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts +3 -3
  279. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts.map +1 -1
  280. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts +6 -6
  281. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts.map +1 -1
  282. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts +3 -3
  283. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts.map +1 -1
  284. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts +2 -2
  285. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts.map +1 -1
  286. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts +12 -12
  287. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts.map +1 -1
  288. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts +12 -12
  289. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts.map +1 -1
  290. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts +12 -12
  291. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts.map +1 -1
  292. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts +12 -12
  293. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts.map +1 -1
  294. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts +9 -9
  295. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts.map +1 -1
  296. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts +11 -11
  297. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts.map +1 -1
  298. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts +9 -9
  299. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts.map +1 -1
  300. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts +11 -11
  301. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts.map +1 -1
  302. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts +11 -11
  303. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts.map +1 -1
  304. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts +12 -12
  305. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts.map +1 -1
  306. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts +11 -11
  307. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts.map +1 -1
  308. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts +11 -11
  309. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -1
  310. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts +2 -2
  311. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts.map +1 -1
  312. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts +5 -5
  313. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts.map +1 -1
  314. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts +4 -4
  315. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts.map +1 -1
  316. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts +4 -4
  317. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts.map +1 -1
  318. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts +4 -4
  319. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -1
  320. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts +4 -4
  321. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts.map +1 -1
  322. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts +4 -4
  323. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts.map +1 -1
  324. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts +4 -4
  325. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts.map +1 -1
  326. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts +4 -4
  327. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts.map +1 -1
  328. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts +4 -4
  329. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts.map +1 -1
  330. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts +4 -4
  331. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts.map +1 -1
  332. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts +4 -4
  333. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts.map +1 -1
  334. package/dist/types/core/solana/intent-helpers.d.ts +120 -0
  335. package/dist/types/core/solana/intent-helpers.d.ts.map +1 -0
  336. package/dist/types/core/solana/sdk.d.ts.map +1 -1
  337. package/dist/types/core/sui/cross-chain-limit-order.d.ts +14 -0
  338. package/dist/types/core/sui/cross-chain-limit-order.d.ts.map +1 -0
  339. package/dist/types/core/sui/intent-helpers.d.ts +89 -0
  340. package/dist/types/core/sui/intent-helpers.d.ts.map +1 -0
  341. package/dist/types/core/sui/order-transaction.d.ts +3 -1
  342. package/dist/types/core/sui/order-transaction.d.ts.map +1 -1
  343. package/dist/types/core/sui/single-chain-dca-order.d.ts +22 -0
  344. package/dist/types/core/sui/single-chain-dca-order.d.ts.map +1 -0
  345. package/dist/types/core/sui/single-chain-limit-order.d.ts +26 -0
  346. package/dist/types/core/sui/single-chain-limit-order.d.ts.map +1 -0
  347. package/dist/types/core/sui/validator.d.ts.map +1 -1
  348. package/dist/types/index.d.ts +13 -0
  349. package/dist/types/index.d.ts.map +1 -1
  350. package/dist/types/types/intent.d.ts +13 -4
  351. package/dist/types/types/intent.d.ts.map +1 -1
  352. package/package.json +19 -9
  353. package/src/constants.ts +17 -23
  354. package/src/core/evm/abi/source-chain-guard.ts +32 -628
  355. package/src/core/evm/cross-chain-limit-order.ts +76 -0
  356. package/src/core/evm/intent-helpers.ts +204 -0
  357. package/src/core/evm/sdk.ts +4 -4
  358. package/src/core/evm/single-chain-dca-order.ts +85 -0
  359. package/src/core/evm/single-chain-limit-order.ts +78 -0
  360. package/src/core/evm/types.ts +15 -0
  361. package/src/core/orders/common.ts +4 -4
  362. package/src/core/orders/cross-chain.ts +3 -3
  363. package/src/core/orders/dca-single-chain.ts +4 -1
  364. package/src/core/orders/single-chain.ts +12 -2
  365. package/src/core/solana/cancel-order.ts +5 -5
  366. package/src/core/solana/client.ts +1 -1
  367. package/src/core/solana/cross-chain-limit-order.ts +24 -0
  368. package/src/core/solana/dca/cancel-order.ts +3 -3
  369. package/src/core/solana/dca/create-order.ts +2 -2
  370. package/src/core/solana/dca/single-chain-dca-order.ts +32 -0
  371. package/src/core/solana/dca/single-chain-limit-order.ts +45 -0
  372. package/src/core/solana/generated/cross-chain/accounts/adminSingleton.ts +20 -18
  373. package/src/core/solana/generated/cross-chain/accounts/dcaOrder.ts +248 -0
  374. package/src/core/solana/generated/cross-chain/accounts/guard.ts +24 -18
  375. package/src/core/solana/generated/cross-chain/accounts/index.ts +1 -0
  376. package/src/core/solana/generated/cross-chain/accounts/order.ts +17 -17
  377. package/src/core/solana/generated/cross-chain/errors/sourceChainGuard.ts +155 -12
  378. package/src/core/solana/generated/cross-chain/instructions/acceptAdmin.ts +44 -34
  379. package/src/core/solana/generated/cross-chain/instructions/cancelDcaOrder.ts +409 -0
  380. package/src/core/solana/generated/cross-chain/instructions/cancelOrder.ts +54 -61
  381. package/src/core/solana/generated/cross-chain/instructions/claimTokens.ts +58 -60
  382. package/src/core/solana/generated/cross-chain/instructions/collectProtocolFees.ts +57 -62
  383. package/src/core/solana/generated/cross-chain/instructions/createDcaOrder.ts +496 -0
  384. package/src/core/solana/generated/cross-chain/instructions/createGuard.ts +86 -110
  385. package/src/core/solana/generated/cross-chain/instructions/createOrder.ts +66 -66
  386. package/src/core/solana/generated/cross-chain/instructions/index.ts +2 -0
  387. package/src/core/solana/generated/cross-chain/instructions/initialize.ts +60 -42
  388. package/src/core/solana/generated/cross-chain/instructions/preStartOrderExecution.ts +60 -64
  389. package/src/core/solana/generated/cross-chain/instructions/setAdmin.ts +49 -34
  390. package/src/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.ts +89 -46
  391. package/src/core/solana/generated/cross-chain/instructions/startOrderExecution.ts +51 -50
  392. package/src/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.ts +47 -48
  393. package/src/core/solana/generated/cross-chain/programs/sourceChainGuard.ts +118 -37
  394. package/src/core/solana/generated/cross-chain/shared/index.ts +25 -19
  395. package/src/core/solana/generated/cross-chain/types/adminUpdateStarted.ts +9 -6
  396. package/src/core/solana/generated/cross-chain/types/adminUpdated.ts +6 -6
  397. package/src/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.ts +10 -10
  398. package/src/core/solana/generated/cross-chain/types/dcaExecutionStarted.ts +70 -0
  399. package/src/core/solana/generated/cross-chain/types/dcaOrderCreated.ts +92 -0
  400. package/src/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.ts +52 -0
  401. package/src/core/solana/generated/cross-chain/types/dcaTokenInSwapped.ts +62 -0
  402. package/src/core/solana/generated/cross-chain/types/executionStarted.ts +6 -6
  403. package/src/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.ts +55 -0
  404. package/src/core/solana/generated/cross-chain/types/guardCreated.ts +6 -6
  405. package/src/core/solana/generated/cross-chain/types/index.ts +5 -0
  406. package/src/core/solana/generated/cross-chain/types/orderCancelled.ts +6 -6
  407. package/src/core/solana/generated/cross-chain/types/orderCreated.ts +6 -6
  408. package/src/core/solana/generated/cross-chain/types/orderFulfilled.ts +6 -6
  409. package/src/core/solana/generated/cross-chain/types/tokenInSwapped.ts +7 -11
  410. package/src/core/solana/generated/single-chain/accounts/adminSingleton.ts +20 -18
  411. package/src/core/solana/generated/single-chain/accounts/dcaOrder.ts +11 -11
  412. package/src/core/solana/generated/single-chain/accounts/guard.ts +17 -17
  413. package/src/core/solana/generated/single-chain/accounts/limitOrder.ts +11 -11
  414. package/src/core/solana/generated/single-chain/errors/singleChainGuard.ts +11 -8
  415. package/src/core/solana/generated/single-chain/instructions/acceptAdmin.ts +44 -34
  416. package/src/core/solana/generated/single-chain/instructions/cancelDcaOrder.ts +57 -51
  417. package/src/core/solana/generated/single-chain/instructions/cancelLimitOrder.ts +54 -51
  418. package/src/core/solana/generated/single-chain/instructions/collectProtocolFees.ts +62 -69
  419. package/src/core/solana/generated/single-chain/instructions/createDcaOrder.ts +66 -62
  420. package/src/core/solana/generated/single-chain/instructions/createGuard.ts +74 -62
  421. package/src/core/solana/generated/single-chain/instructions/createLimitOrder.ts +63 -62
  422. package/src/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.ts +86 -90
  423. package/src/core/solana/generated/single-chain/instructions/fulfillLimitOrder.ts +89 -87
  424. package/src/core/solana/generated/single-chain/instructions/initialize.ts +58 -40
  425. package/src/core/solana/generated/single-chain/instructions/setAdmin.ts +49 -34
  426. package/src/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.ts +89 -46
  427. package/src/core/solana/generated/single-chain/programs/singleChainGuard.ts +76 -37
  428. package/src/core/solana/generated/single-chain/shared/index.ts +25 -19
  429. package/src/core/solana/generated/single-chain/types/adminUpdateStarted.ts +9 -6
  430. package/src/core/solana/generated/single-chain/types/adminUpdated.ts +6 -6
  431. package/src/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.ts +10 -10
  432. package/src/core/solana/generated/single-chain/types/dcaOrderCreated.ts +6 -6
  433. package/src/core/solana/generated/single-chain/types/dcaOrderFulfilled.ts +9 -6
  434. package/src/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.ts +9 -6
  435. package/src/core/solana/generated/single-chain/types/guardCreated.ts +7 -11
  436. package/src/core/solana/generated/single-chain/types/limitOrderCreated.ts +9 -6
  437. package/src/core/solana/generated/single-chain/types/limitOrderFulfilled.ts +10 -10
  438. package/src/core/solana/generated/single-chain/types/orderCancelled.ts +6 -6
  439. package/src/core/solana/inspect.ts +1 -1
  440. package/src/core/solana/intent-helpers.ts +273 -0
  441. package/src/core/solana/order-instructions.ts +3 -3
  442. package/src/core/solana/sdk.ts +13 -4
  443. package/src/core/sui/cancel.ts +1 -1
  444. package/src/core/sui/cross-chain-limit-order.ts +34 -0
  445. package/src/core/sui/intent-helpers.ts +235 -0
  446. package/src/core/sui/order-transaction.ts +8 -4
  447. package/src/core/sui/sdk.ts +1 -1
  448. package/src/core/sui/single-chain-dca-order.ts +139 -0
  449. package/src/core/sui/single-chain-limit-order.ts +143 -0
  450. package/src/core/sui/validator.ts +1 -2
  451. package/src/index.ts +55 -0
  452. package/src/types/intent.ts +15 -4
  453. package/src/utils/quote/aggregator.ts +2 -2
@@ -0,0 +1,273 @@
1
+ import { ChainID } from '../../chains.js';
2
+ import type { SingleChainUserIntentRequest, CrossChainUserIntentRequest, DcaSingleChainUserIntentRequest } from '../../types/intent.js';
3
+ import type { SingleChainOrder } from '../orders/single-chain.js';
4
+ import type { CrossChainOrder } from '../orders/cross-chain.js';
5
+ import type { DcaSingleChainOrder } from '../orders/dca-single-chain.js';
6
+ import type { ExtraTransfer } from '../orders/common.js';
7
+ import { getSolanaCrossChainOrderInstructions, getSolanaSingleChainOrderInstructions } from './order-instructions.js';
8
+ import { getSolanaDcaSingleChainOrderInstructions } from './dca/create-order.js';
9
+ import { prepareDcaSecretData } from './dca/single-chain-dca-order.js';
10
+ import { prepareSecretData } from './dca/single-chain-limit-order.js';
11
+
12
+ export type CreateSolanaSingleChainLimitOrderIntentParams = {
13
+ user: string;
14
+ tokenIn: string;
15
+ tokenOut: string;
16
+ amountIn: bigint;
17
+ amountOutMin: bigint;
18
+ destinationAddress: string;
19
+ extraTransfers?: ExtraTransfer[];
20
+ deadline: number;
21
+ orderPubkey?: string;
22
+ secretNumber?: string;
23
+ stopLossMaxOut?: bigint;
24
+ takeProfitMinOut?: bigint;
25
+ };
26
+
27
+ export type CreateSolanaSingleChainDcaOrderIntentParams = {
28
+ user: string;
29
+ tokenIn: string;
30
+ tokenOut: string;
31
+ amountInPerInterval: bigint;
32
+ totalIntervals: number;
33
+ intervalDuration: number;
34
+ amountOutMin: bigint;
35
+ destinationAddress: string;
36
+ extraTransfers?: ExtraTransfer[];
37
+ deadline: number;
38
+ startTime: number;
39
+ orderPubkey?: string;
40
+ secretNumber?: string;
41
+ };
42
+
43
+ export type CreateSolanaCrossChainOrderIntentParams = {
44
+ user: string;
45
+ sourceChainId: number;
46
+ sourceTokenAddress: string;
47
+ sourceTokenAmount: bigint;
48
+ destinationChainId: number;
49
+ destinationTokenAddress: string;
50
+ destinationTokenMinAmount?: bigint;
51
+ destinationAddress: string;
52
+ minStablecoinAmount?: bigint;
53
+ deadline: number;
54
+ extraTransfers?: ExtraTransfer[];
55
+ orderPubkey?: string;
56
+ stopLossMaxOut?: bigint;
57
+ takeProfitMinOut?: bigint;
58
+ };
59
+
60
+ /**
61
+ * Creates a Solana single-chain limit order intent request
62
+ * @param params Parameters for creating the intent request
63
+ * @returns Formatted intent request ready to send to auctioneer
64
+ */
65
+ export function createSolanaSingleChainLimitOrderIntentRequest(
66
+ params: CreateSolanaSingleChainLimitOrderIntentParams
67
+ ): SingleChainUserIntentRequest {
68
+ const secretNumber = params.secretNumber || generateSolanaRandomSecretNumber();
69
+
70
+ const order: SingleChainOrder = {
71
+ user: params.user,
72
+ chainId: ChainID.Solana,
73
+ amountIn: params.amountIn,
74
+ tokenIn: params.tokenIn,
75
+ tokenOut: params.tokenOut,
76
+ amountOutMin: params.amountOutMin,
77
+ destinationAddress: params.destinationAddress,
78
+ extraTransfers: params.extraTransfers,
79
+ deadline: params.deadline,
80
+ stopLossMaxOut: params.stopLossMaxOut,
81
+ takeProfitMinOut: params.takeProfitMinOut,
82
+ } as SingleChainOrder;
83
+
84
+ return {
85
+ genericData: order,
86
+ chainSpecificData: {
87
+ Solana: {
88
+ secretNumber,
89
+ orderPubkey: params.orderPubkey || 'DFNAjFAvS4GF98Tp1kiyLvEHM3wjGXibCfF86nnmhuVc',
90
+ },
91
+ },
92
+ };
93
+ }
94
+
95
+ /**
96
+ * Creates a Solana single-chain DCA order intent request
97
+ * @param params Parameters for creating the intent request
98
+ * @returns Formatted intent request ready to send to auctioneer
99
+ */
100
+ export function createSolanaSingleChainDcaOrderIntentRequest(
101
+ params: CreateSolanaSingleChainDcaOrderIntentParams
102
+ ): DcaSingleChainUserIntentRequest {
103
+ const secretNumber = params.secretNumber || generateSolanaRandomSecretNumber();
104
+
105
+ const order: DcaSingleChainOrder = {
106
+ user: params.user,
107
+ chainId: ChainID.Solana,
108
+ tokenIn: params.tokenIn,
109
+ tokenOut: params.tokenOut,
110
+ destinationAddress: params.destinationAddress,
111
+ startTime: params.startTime,
112
+ amountInPerInterval: params.amountInPerInterval,
113
+ totalIntervals: params.totalIntervals,
114
+ intervalDuration: params.intervalDuration,
115
+ amountOutMin: params.amountOutMin,
116
+ extraTransfers: params.extraTransfers,
117
+ deadline: params.deadline,
118
+ } as DcaSingleChainOrder;
119
+
120
+ return {
121
+ genericData: order,
122
+ chainSpecificData: {
123
+ Solana: {
124
+ secretNumber,
125
+ orderPubkey: params.orderPubkey || 'DFNAjFAvS4GF98Tp1kiyLvEHM3wjGXibCfF86nnmhuVc',
126
+ },
127
+ },
128
+ };
129
+ }
130
+
131
+ /**
132
+ * Creates a Solana cross-chain order intent request
133
+ * @param params Parameters for creating the intent request
134
+ * @returns Formatted intent request ready to send to auctioneer
135
+ */
136
+ export function createSolanaCrossChainOrderIntentRequest(
137
+ params: CreateSolanaCrossChainOrderIntentParams
138
+ ): CrossChainUserIntentRequest {
139
+ const executionDetails = JSON.stringify({
140
+ destChainId: params.destinationChainId,
141
+ tokenOut: params.destinationTokenAddress,
142
+ amountOutMin: params.destinationTokenMinAmount || 1n,
143
+ destinationAddress: params.destinationAddress,
144
+ extraTransfers: params.extraTransfers,
145
+ });
146
+
147
+ // Calculate execution details hash
148
+ const executionDetailsHash = `0x${require('crypto').createHash('sha256').update(executionDetails).digest('hex')}` as `0x${string}`;
149
+
150
+ const genericData = {
151
+ user: params.user,
152
+ srcChainId: params.sourceChainId,
153
+ tokenIn: params.sourceTokenAddress,
154
+ amountIn: params.sourceTokenAmount,
155
+ minStablecoinsAmount: params.minStablecoinAmount || 1n,
156
+ deadline: params.deadline,
157
+ executionDetailsHash,
158
+ extraTransfers: params.extraTransfers,
159
+ stopLossMaxOut: params.stopLossMaxOut,
160
+ takeProfitMinOut: params.takeProfitMinOut,
161
+ };
162
+
163
+ return {
164
+ genericData,
165
+ executionDetails,
166
+ chainSpecificData: {
167
+ Solana: {
168
+ orderPubkey: params.orderPubkey || 'DFNAjFAvS4GF98Tp1kiyLvEHM3wjGXibCfF86nnmhuVc',
169
+ },
170
+ },
171
+ };
172
+ }
173
+
174
+ /**
175
+ * Generates instruction bytes for Solana single-chain limit orders
176
+ * @param order The single-chain order
177
+ * @returns Promise resolving to instruction bytes
178
+ */
179
+ export async function generateSolanaSingleChainLimitOrderInstructions(order: SingleChainOrder) {
180
+ return getSolanaSingleChainOrderInstructions(order);
181
+ }
182
+
183
+ /**
184
+ * Generates instruction bytes for Solana single-chain DCA orders
185
+ * @param order The DCA order
186
+ * @returns Promise resolving to instruction bytes
187
+ */
188
+ export async function generateSolanaSingleChainDcaOrderInstructions(order: DcaSingleChainOrder) {
189
+ return getSolanaDcaSingleChainOrderInstructions(order);
190
+ }
191
+
192
+ /**
193
+ * Generates instruction bytes for Solana cross-chain orders
194
+ * @param order The cross-chain order
195
+ * @returns Promise resolving to instruction bytes
196
+ */
197
+ export async function generateSolanaCrossChainOrderInstructions(order: CrossChainOrder) {
198
+ return getSolanaCrossChainOrderInstructions(order);
199
+ }
200
+
201
+ /**
202
+ * Generates secret data for Solana single-chain limit orders
203
+ * @param tokenOut Output token mint address
204
+ * @param receiver Receiver public key
205
+ * @param secretNumber Secret number (optional, generates random if not provided)
206
+ * @param extraTransfers Extra transfers array
207
+ * @returns Object containing secret number and prepared secret data
208
+ */
209
+ export function generateSolanaLimitOrderSecretData(
210
+ tokenOut: string,
211
+ receiver: string,
212
+ secretNumber?: string,
213
+ extraTransfers?: ExtraTransfer[]
214
+ ): { secretNumber: string; secretData: any } {
215
+ const secret = secretNumber || generateSolanaRandomSecretNumber();
216
+
217
+ const { PublicKey } = require('@solana/web3.js');
218
+ const secretData = prepareSecretData(
219
+ new PublicKey(tokenOut),
220
+ new PublicKey(receiver),
221
+ extraTransfers?.map(t => ({
222
+ token: new PublicKey(t.token),
223
+ receiver: new PublicKey(t.receiver),
224
+ amount: t.amount.toString(),
225
+ })) || []
226
+ );
227
+
228
+ return {
229
+ secretNumber: secret,
230
+ secretData,
231
+ };
232
+ }
233
+
234
+ /**
235
+ * Generates secret data for Solana single-chain DCA orders
236
+ * @param tokenOut Output token mint address
237
+ * @param receiver Receiver public key
238
+ * @param secretNumber Secret number (optional, generates random if not provided)
239
+ * @param extraTransfers Extra transfers array
240
+ * @returns Object containing secret number and prepared secret data
241
+ */
242
+ export function generateSolanaDcaOrderSecretData(
243
+ tokenOut: string,
244
+ receiver: string,
245
+ secretNumber?: string,
246
+ extraTransfers?: ExtraTransfer[]
247
+ ): { secretNumber: string; secretData: any } {
248
+ const secret = secretNumber || generateSolanaRandomSecretNumber();
249
+
250
+ const { PublicKey } = require('@solana/web3.js');
251
+ const secretData = prepareDcaSecretData(
252
+ new PublicKey(tokenOut),
253
+ new PublicKey(receiver),
254
+ extraTransfers?.map(t => ({
255
+ token: new PublicKey(t.token),
256
+ receiver: new PublicKey(t.receiver),
257
+ amount: t.amount.toString(),
258
+ })) || []
259
+ );
260
+
261
+ return {
262
+ secretNumber: secret,
263
+ secretData,
264
+ };
265
+ }
266
+
267
+ /**
268
+ * Generates a random secret number for Solana orders
269
+ * @returns Random secret number as string
270
+ */
271
+ export function generateSolanaRandomSecretNumber(): string {
272
+ return String(Math.floor(Math.random() * 10000000));
273
+ }
@@ -18,7 +18,7 @@ import {
18
18
  getAddressEncoder,
19
19
  getProgramDerivedAddress,
20
20
  getTransactionCodec,
21
- type IInstruction,
21
+ type Instruction,
22
22
  partiallySignTransactionMessageWithSigners,
23
23
  pipe,
24
24
  type ReadonlyUint8Array,
@@ -69,7 +69,7 @@ export async function getSolanaSingleChainOrderInstructions(
69
69
 
70
70
  const guardAddress = address(SINGLE_CHAIN_GUARD_ADDRESSES[ChainID.Solana]);
71
71
  const addressEncoder = getAddressEncoder();
72
- const instructions: Array<IInstruction> = [];
72
+ const instructions: Array<Instruction> = [];
73
73
 
74
74
  const [tokenInProgramAccount] = await getProgramDerivedAddress({
75
75
  programAddress: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
@@ -191,7 +191,7 @@ export async function getSolanaCrossChainOrderInstructions(
191
191
  ],
192
192
  });
193
193
 
194
- const instructions: Array<IInstruction> = [];
194
+ const instructions: Array<Instruction> = [];
195
195
 
196
196
  const userTokenInAccount = await fetchEncodedAccount(rpc, tokenInProgramAccount);
197
197
 
@@ -12,10 +12,13 @@ import {
12
12
  getTransactionCodec,
13
13
  type KeyPairSigner,
14
14
  partiallySignTransaction,
15
+ signTransaction,
15
16
  pipe,
16
17
  setTransactionMessageFeePayerSigner,
17
18
  setTransactionMessageLifetimeUsingBlockhash,
18
- signTransaction,
19
+ type Transaction,
20
+ type TransactionWithLifetime,
21
+ assertIsSendableTransaction,
19
22
  } from '@solana/kit';
20
23
  import type { SolanaConfig } from '../../config.js';
21
24
  import { BaseSDK } from '../sdk.js';
@@ -95,6 +98,8 @@ export class SolanaSDK extends BaseSDK {
95
98
  const myTx = compileTransaction(transactionMessage);
96
99
 
97
100
  const signature = await signTransaction([signerKeyPair], myTx);
101
+
102
+ assertIsSendableTransaction(signature);
98
103
 
99
104
  await this.client.sendAndConfirmTransaction(signature, {
100
105
  commitment: this.config.commitment,
@@ -125,6 +130,8 @@ export class SolanaSDK extends BaseSDK {
125
130
 
126
131
  const signature = await signTransaction([signerKeyPair], myTx);
127
132
 
133
+ assertIsSendableTransaction(signature);
134
+
128
135
  await this.client.sendAndConfirmTransaction(signature, {
129
136
  commitment: this.config.commitment,
130
137
  });
@@ -213,7 +220,7 @@ export class SolanaSDK extends BaseSDK {
213
220
 
214
221
  const transactionCodec = getTransactionCodec();
215
222
 
216
- const tx = transactionCodec.decode(txBytes);
223
+ const tx = transactionCodec.decode(txBytes) as Transaction & TransactionWithLifetime;
217
224
 
218
225
  const signedTx = await signTransaction([signerKeyPair], tx);
219
226
 
@@ -238,7 +245,7 @@ export class SolanaSDK extends BaseSDK {
238
245
 
239
246
  const transactionCodec = getTransactionCodec();
240
247
 
241
- const tx = transactionCodec.decode(txBytes);
248
+ const tx = transactionCodec.decode(txBytes) as Transaction & TransactionWithLifetime;
242
249
 
243
250
  const signedTx = await partiallySignTransaction([signerKeyPair], tx);
244
251
 
@@ -278,6 +285,8 @@ export class SolanaSDK extends BaseSDK {
278
285
 
279
286
  const signature = await signTransaction([signerKeyPair], myTx);
280
287
 
288
+ assertIsSendableTransaction(signature);
289
+
281
290
  await this.client.sendAndConfirmTransaction(signature, {
282
291
  commitment: this.config.commitment,
283
292
  });
@@ -294,7 +303,7 @@ export class SolanaSDK extends BaseSDK {
294
303
 
295
304
  const transactionCodec = getTransactionCodec();
296
305
 
297
- const tx = transactionCodec.decode(txBytes);
306
+ const tx = transactionCodec.decode(txBytes) as Transaction & TransactionWithLifetime;
298
307
 
299
308
  const signedTx = await partiallySignTransaction([signerKeyPair], tx);
300
309
 
@@ -34,7 +34,7 @@ export async function getSuiCancelCrossChainOrder(orderId: string): Promise<Tran
34
34
 
35
35
  tx.moveCall({
36
36
  package: SUI_PACKAGE_ID,
37
- module: 'source_chain_guard',
37
+ module: 'cross_chain_limit_orders',
38
38
  function: 'cancel_order',
39
39
  arguments: [tx.object(orderId), tx.object.clock()],
40
40
  typeArguments,
@@ -0,0 +1,34 @@
1
+ import { createHash } from "crypto";
2
+ import type { Hex } from "viem";
3
+
4
+ /**
5
+ * Generates random U64 number
6
+ */
7
+ export function getRandomU64Number() {
8
+ return BigInt("0x" + [...crypto.getRandomValues(new Uint8Array(8))]
9
+ .map(n => n.toString(16))
10
+ .join("")).toString();
11
+ }
12
+
13
+ /**
14
+ * Generate execution details hash for cross-chain orders
15
+ * @param destChainId Destination chain ID
16
+ * @param destinationAddress Destination address on target chain
17
+ * @param tokenOut Token address on destination chain
18
+ * @param amountOutMin Minimum amount out
19
+ */
20
+ export function generateExecutionDetailsHash(
21
+ destChainId: number,
22
+ destinationAddress: string,
23
+ tokenOut: string,
24
+ amountOutMin: string,
25
+ ): Hex {
26
+ const executionDetails = JSON.stringify({
27
+ destChainId,
28
+ destinationAddress,
29
+ tokenOut,
30
+ amountOutMin,
31
+ });
32
+
33
+ return ("0x" + createHash('sha256').update(executionDetails).digest('hex')) as `0x${string}`;
34
+ }
@@ -0,0 +1,235 @@
1
+ import { ChainID } from '../../chains.js';
2
+ import type { SingleChainUserIntentRequest, CrossChainUserIntentRequest, DcaSingleChainUserIntentRequest } from '../../types/intent.js';
3
+ import type { SingleChainOrder } from '../orders/single-chain.js';
4
+ import type { DcaSingleChainOrder } from '../orders/dca-single-chain.js';
5
+ import type { ExtraTransfer } from '../orders/common.js';
6
+ import { getSecretHash, getRandomU64Number } from './single-chain-limit-order.js';
7
+ import { getDcaSecretHash } from './single-chain-dca-order.js';
8
+ import { generateExecutionDetailsHash } from './cross-chain-limit-order.js';
9
+
10
+ export type CreateSuiSingleChainLimitOrderIntentParams = {
11
+ user: string;
12
+ tokenIn: string;
13
+ tokenOut: string;
14
+ amountIn: bigint;
15
+ amountOutMin: bigint;
16
+ destinationAddress: string;
17
+ extraTransfers?: ExtraTransfer[];
18
+ deadline: number;
19
+ transactionHash: string;
20
+ secretNumber?: string;
21
+ stopLossMaxOut?: bigint;
22
+ takeProfitMinOut?: bigint;
23
+ };
24
+
25
+ export type CreateSuiSingleChainDcaOrderIntentParams = {
26
+ user: string;
27
+ tokenIn: string;
28
+ tokenOut: string;
29
+ amountInPerInterval: bigint;
30
+ totalIntervals: number;
31
+ intervalDuration: number;
32
+ amountOutMin: bigint;
33
+ destinationAddress: string;
34
+ extraTransfers?: ExtraTransfer[];
35
+ deadline: number;
36
+ startTime: number;
37
+ transactionHash: string;
38
+ secretNumber?: string;
39
+ };
40
+
41
+ export type CreateSuiCrossChainOrderIntentParams = {
42
+ user: string;
43
+ srcChainId: number;
44
+ tokenIn: string;
45
+ amountIn: bigint;
46
+ minStablecoinsAmount: bigint;
47
+ deadline: number;
48
+ destChainId: number;
49
+ destinationAddress: string;
50
+ tokenOut: string;
51
+ amountOutMin: bigint;
52
+ transactionHash: string;
53
+ stopLossMaxOut?: bigint;
54
+ takeProfitMinOut?: bigint;
55
+ };
56
+
57
+ /**
58
+ * Creates a Sui single-chain limit order intent request
59
+ * @param params Parameters for creating the intent request
60
+ * @returns Formatted intent request ready to send to auctioneer
61
+ */
62
+ export function createSuiSingleChainLimitOrderIntentRequest(
63
+ params: CreateSuiSingleChainLimitOrderIntentParams
64
+ ): SingleChainUserIntentRequest {
65
+ const secretNumber = params.secretNumber || getRandomU64Number();
66
+
67
+ const order: SingleChainOrder = {
68
+ user: params.user,
69
+ chainId: ChainID.Sui,
70
+ amountIn: params.amountIn,
71
+ tokenIn: params.tokenIn,
72
+ tokenOut: params.tokenOut,
73
+ amountOutMin: params.amountOutMin,
74
+ destinationAddress: params.destinationAddress,
75
+ extraTransfers: params.extraTransfers,
76
+ deadline: params.deadline,
77
+ stopLossMaxOut: params.stopLossMaxOut,
78
+ takeProfitMinOut: params.takeProfitMinOut,
79
+ } as SingleChainOrder;
80
+
81
+ return {
82
+ genericData: order,
83
+ chainSpecificData: {
84
+ Sui: {
85
+ transactionHash: params.transactionHash,
86
+ secretNumber,
87
+ },
88
+ },
89
+ };
90
+ }
91
+
92
+ /**
93
+ * Creates a Sui single-chain DCA order intent request
94
+ * @param params Parameters for creating the intent request
95
+ * @returns Formatted intent request ready to send to auctioneer
96
+ */
97
+ export function createSuiSingleChainDcaOrderIntentRequest(
98
+ params: CreateSuiSingleChainDcaOrderIntentParams
99
+ ): DcaSingleChainUserIntentRequest {
100
+ const secretNumber = params.secretNumber || getRandomU64Number();
101
+
102
+ const order: DcaSingleChainOrder = {
103
+ user: params.user,
104
+ chainId: ChainID.Sui,
105
+ tokenIn: params.tokenIn,
106
+ tokenOut: params.tokenOut,
107
+ destinationAddress: params.destinationAddress,
108
+ startTime: params.startTime,
109
+ amountInPerInterval: params.amountInPerInterval,
110
+ totalIntervals: params.totalIntervals,
111
+ intervalDuration: params.intervalDuration,
112
+ amountOutMin: params.amountOutMin,
113
+ extraTransfers: params.extraTransfers,
114
+ deadline: params.deadline,
115
+ } as DcaSingleChainOrder;
116
+
117
+ return {
118
+ genericData: order,
119
+ chainSpecificData: {
120
+ Sui: {
121
+ transactionHash: params.transactionHash,
122
+ secretNumber,
123
+ },
124
+ },
125
+ };
126
+ }
127
+
128
+ /**
129
+ * Creates a Sui cross-chain order intent request
130
+ * @param params Parameters for creating the intent request
131
+ * @returns Formatted intent request ready to send to auctioneer
132
+ */
133
+ export function createSuiCrossChainOrderIntentRequest(
134
+ params: CreateSuiCrossChainOrderIntentParams
135
+ ): CrossChainUserIntentRequest {
136
+ const executionDetails = JSON.stringify({
137
+ destChainId: params.destChainId,
138
+ tokenOut: params.tokenOut,
139
+ amountOutMin: params.amountOutMin,
140
+ destinationAddress: params.destinationAddress,
141
+ });
142
+
143
+ const executionDetailsHash = generateExecutionDetailsHash(
144
+ params.destChainId,
145
+ params.destinationAddress,
146
+ params.tokenOut,
147
+ params.amountOutMin.toString()
148
+ );
149
+
150
+ const genericData = {
151
+ user: params.user,
152
+ srcChainId: params.srcChainId,
153
+ tokenIn: params.tokenIn,
154
+ amountIn: params.amountIn,
155
+ minStablecoinsAmount: params.minStablecoinsAmount,
156
+ deadline: params.deadline,
157
+ executionDetailsHash: executionDetailsHash as `0x${string}`,
158
+ stopLossMaxOut: params.stopLossMaxOut,
159
+ takeProfitMinOut: params.takeProfitMinOut,
160
+ };
161
+
162
+ return {
163
+ genericData,
164
+ executionDetails,
165
+ chainSpecificData: {
166
+ Sui: {
167
+ transactionHash: params.transactionHash,
168
+ },
169
+ },
170
+ };
171
+ }
172
+
173
+ /**
174
+ * Generates secret hash for Sui single-chain limit orders
175
+ * @param tokenOut Output token address
176
+ * @param receiver Receiver address
177
+ * @param secretNumber Secret number (optional, generates random if not provided)
178
+ * @param extraTransfers Extra transfers array
179
+ * @returns Object containing secret number and secret hash
180
+ */
181
+ export function generateSuiLimitOrderSecretData(
182
+ tokenOut: string,
183
+ receiver: string,
184
+ secretNumber?: string,
185
+ extraTransfers?: ExtraTransfer[]
186
+ ): { secretNumber: string; secretHash: Uint8Array } {
187
+ const secret = secretNumber || getRandomU64Number();
188
+ const extraTransferCoinOut = extraTransfers?.[0]?.token;
189
+ const extraTransferReceiver = extraTransfers?.[0]?.receiver;
190
+
191
+ const secretHash = getSecretHash(
192
+ tokenOut,
193
+ receiver,
194
+ secret,
195
+ extraTransferCoinOut,
196
+ extraTransferReceiver
197
+ );
198
+
199
+ return {
200
+ secretNumber: secret,
201
+ secretHash: new Uint8Array(secretHash),
202
+ };
203
+ }
204
+
205
+ /**
206
+ * Generates secret hash for Sui single-chain DCA orders
207
+ * @param tokenOut Output token address
208
+ * @param receiver Receiver address
209
+ * @param secretNumber Secret number (optional, generates random if not provided)
210
+ * @param extraTransfers Extra transfers array
211
+ * @returns Object containing secret number and secret hash
212
+ */
213
+ export function generateSuiDcaOrderSecretData(
214
+ tokenOut: string,
215
+ receiver: string,
216
+ secretNumber?: string,
217
+ extraTransfers?: ExtraTransfer[]
218
+ ): { secretNumber: string; secretHash: Uint8Array } {
219
+ const secret = secretNumber || getRandomU64Number();
220
+ const extraTransferCoinOut = extraTransfers?.[0]?.token;
221
+ const extraTransferReceiver = extraTransfers?.[0]?.receiver;
222
+
223
+ const secretHash = getDcaSecretHash(
224
+ tokenOut,
225
+ receiver,
226
+ secret,
227
+ extraTransferCoinOut,
228
+ extraTransferReceiver
229
+ );
230
+
231
+ return {
232
+ secretNumber: secret,
233
+ secretHash: new Uint8Array(secretHash),
234
+ };
235
+ }
@@ -16,12 +16,16 @@ import type { CrossChainOrder } from '../orders/cross-chain.js';
16
16
  /**
17
17
  * Generates Sui order transaction for creating an order
18
18
  * @param order The order to generate transaction for
19
+ * @param client The Sui client instance (optional, creates new if not provided)
19
20
  * @returns Object containing the transaction
20
21
  */
21
- export async function getSuiOrderTransaction(order: CrossChainOrder): Promise<Transaction> {
22
+ export async function getSuiOrderTransaction(
23
+ order: CrossChainOrder,
24
+ client?: ReturnType<typeof createSuiClient>
25
+ ): Promise<Transaction> {
22
26
  const userAddress = order.user;
23
- const client = createSuiClient();
24
- const coins = await client.getCoins({
27
+ const suiClient = client || createSuiClient();
28
+ const coins = await suiClient.getCoins({
25
29
  owner: userAddress,
26
30
  coinType: order.sourceTokenAddress,
27
31
  });
@@ -62,7 +66,7 @@ export async function getSuiOrderTransaction(order: CrossChainOrder): Promise<Tr
62
66
 
63
67
  tx.moveCall({
64
68
  package: SUI_PACKAGE_ID,
65
- module: 'source_chain_guard',
69
+ module: 'cross_chain_limit_orders',
66
70
  function: 'create_order',
67
71
  arguments: [
68
72
  tx.object(guardAddress), // arg0: &Guard<T0, T2>
@@ -102,7 +102,7 @@ export class SuiSDK extends BaseSDK {
102
102
  protected override async prepareCrossChainOrder(order: CrossChainOrder): Promise<CrossChainOrderPrepared> {
103
103
  const signer = this.getKeyPair();
104
104
 
105
- const transaction = await getSuiOrderTransaction(order);
105
+ const transaction = await getSuiOrderTransaction(order, this.client);
106
106
 
107
107
  const tx = await this.client.signAndExecuteTransaction({
108
108
  signer,