@shogun-sdk/intents-sdk 1.2.1 → 1.2.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 (445) 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/single-chain-dca-order.js +49 -0
  11. package/dist/esm/core/evm/single-chain-dca-order.js.map +1 -0
  12. package/dist/esm/core/evm/single-chain-limit-order.js +45 -0
  13. package/dist/esm/core/evm/single-chain-limit-order.js.map +1 -0
  14. package/dist/esm/core/evm/types.js +8 -0
  15. package/dist/esm/core/evm/types.js.map +1 -0
  16. package/dist/esm/core/orders/common.js +3 -3
  17. package/dist/esm/core/orders/common.js.map +1 -1
  18. package/dist/esm/core/orders/cross-chain.js +2 -2
  19. package/dist/esm/core/orders/cross-chain.js.map +1 -1
  20. package/dist/esm/core/orders/dca-single-chain.js +4 -1
  21. package/dist/esm/core/orders/dca-single-chain.js.map +1 -1
  22. package/dist/esm/core/orders/single-chain.js +8 -1
  23. package/dist/esm/core/orders/single-chain.js.map +1 -1
  24. package/dist/esm/core/solana/cancel-order.js.map +1 -1
  25. package/dist/esm/core/solana/client.js +1 -1
  26. package/dist/esm/core/solana/client.js.map +1 -1
  27. package/dist/esm/core/solana/cross-chain-limit-order.js +18 -0
  28. package/dist/esm/core/solana/cross-chain-limit-order.js.map +1 -0
  29. package/dist/esm/core/solana/dca/cancel-order.js.map +1 -1
  30. package/dist/esm/core/solana/dca/create-order.js.map +1 -1
  31. package/dist/esm/core/solana/dca/single-chain-dca-order.js +23 -0
  32. package/dist/esm/core/solana/dca/single-chain-dca-order.js.map +1 -0
  33. package/dist/esm/core/solana/dca/single-chain-limit-order.js +29 -0
  34. package/dist/esm/core/solana/dca/single-chain-limit-order.js.map +1 -0
  35. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js +6 -4
  36. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js.map +1 -1
  37. package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js +90 -0
  38. package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js.map +1 -0
  39. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js +6 -4
  40. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js.map +1 -1
  41. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js +1 -0
  42. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js.map +1 -1
  43. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js +3 -3
  44. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js.map +1 -1
  45. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js +111 -6
  46. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js.map +1 -1
  47. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js +5 -8
  48. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js.map +1 -1
  49. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js +118 -0
  50. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js.map +1 -0
  51. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js +5 -8
  52. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js.map +1 -1
  53. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js +5 -8
  54. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js.map +1 -1
  55. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js +8 -9
  56. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js.map +1 -1
  57. package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js +170 -0
  58. package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js.map +1 -0
  59. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js +10 -16
  60. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js.map +1 -1
  61. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js +8 -6
  62. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js.map +1 -1
  63. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js +2 -0
  64. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js.map +1 -1
  65. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js +11 -12
  66. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js.map +1 -1
  67. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js +8 -9
  68. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js.map +1 -1
  69. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js +4 -4
  70. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js.map +1 -1
  71. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js +17 -7
  72. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js.map +1 -1
  73. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js +8 -9
  74. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js.map +1 -1
  75. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js +7 -5
  76. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js.map +1 -1
  77. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js +28 -16
  78. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js.map +1 -1
  79. package/dist/esm/core/solana/generated/cross-chain/shared/index.js +5 -5
  80. package/dist/esm/core/solana/generated/cross-chain/shared/index.js.map +1 -1
  81. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js.map +1 -1
  82. package/dist/esm/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.js.map +1 -1
  83. package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js +32 -0
  84. package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js.map +1 -0
  85. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js +42 -0
  86. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js.map +1 -0
  87. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js +26 -0
  88. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js.map +1 -0
  89. package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js +28 -0
  90. package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js.map +1 -0
  91. package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js +26 -0
  92. package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js.map +1 -0
  93. package/dist/esm/core/solana/generated/cross-chain/types/index.js +5 -0
  94. package/dist/esm/core/solana/generated/cross-chain/types/index.js.map +1 -1
  95. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js +6 -4
  96. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js.map +1 -1
  97. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js +3 -3
  98. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js.map +1 -1
  99. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js +3 -3
  100. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js.map +1 -1
  101. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js +3 -3
  102. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js.map +1 -1
  103. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js +3 -3
  104. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js.map +1 -1
  105. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js +5 -8
  106. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js.map +1 -1
  107. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js +8 -9
  108. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js.map +1 -1
  109. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js +8 -9
  110. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js.map +1 -1
  111. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js +8 -9
  112. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js.map +1 -1
  113. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js +8 -6
  114. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js.map +1 -1
  115. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js +8 -6
  116. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js.map +1 -1
  117. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js +8 -6
  118. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js.map +1 -1
  119. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js +9 -6
  120. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js.map +1 -1
  121. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js +9 -6
  122. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js.map +1 -1
  123. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js +9 -10
  124. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js.map +1 -1
  125. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js +4 -4
  126. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js.map +1 -1
  127. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js +17 -7
  128. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js.map +1 -1
  129. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js +2 -2
  130. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js.map +1 -1
  131. package/dist/esm/core/solana/generated/single-chain/shared/index.js +5 -5
  132. package/dist/esm/core/solana/generated/single-chain/shared/index.js.map +1 -1
  133. package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js.map +1 -1
  134. package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js.map +1 -1
  135. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js.map +1 -1
  136. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js.map +1 -1
  137. package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js.map +1 -1
  138. package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js.map +1 -1
  139. package/dist/esm/core/solana/inspect.js +1 -1
  140. package/dist/esm/core/solana/intent-helpers.js +177 -0
  141. package/dist/esm/core/solana/intent-helpers.js.map +1 -0
  142. package/dist/esm/core/solana/order-instructions.js.map +1 -1
  143. package/dist/esm/core/solana/sdk.js +4 -1
  144. package/dist/esm/core/solana/sdk.js.map +1 -1
  145. package/dist/esm/core/sui/cancel.js +1 -1
  146. package/dist/esm/core/sui/cancel.js.map +1 -1
  147. package/dist/esm/core/sui/cross-chain-limit-order.js +26 -0
  148. package/dist/esm/core/sui/cross-chain-limit-order.js.map +1 -0
  149. package/dist/esm/core/sui/intent-helpers.js +136 -0
  150. package/dist/esm/core/sui/intent-helpers.js.map +1 -0
  151. package/dist/esm/core/sui/order-transaction.js +5 -4
  152. package/dist/esm/core/sui/order-transaction.js.map +1 -1
  153. package/dist/esm/core/sui/sdk.js +1 -1
  154. package/dist/esm/core/sui/sdk.js.map +1 -1
  155. package/dist/esm/core/sui/single-chain-dca-order.js +99 -0
  156. package/dist/esm/core/sui/single-chain-dca-order.js.map +1 -0
  157. package/dist/esm/core/sui/single-chain-limit-order.js +103 -0
  158. package/dist/esm/core/sui/single-chain-limit-order.js.map +1 -0
  159. package/dist/esm/core/sui/validator.js +1 -2
  160. package/dist/esm/core/sui/validator.js.map +1 -1
  161. package/dist/esm/index.js +15 -0
  162. package/dist/esm/index.js.map +1 -1
  163. package/dist/types/constants.d.ts +3 -4
  164. package/dist/types/constants.d.ts.map +1 -1
  165. package/dist/types/core/evm/abi/source-chain-guard.d.ts +18 -484
  166. package/dist/types/core/evm/abi/source-chain-guard.d.ts.map +1 -1
  167. package/dist/types/core/evm/cross-chain-limit-order.d.ts +22 -0
  168. package/dist/types/core/evm/cross-chain-limit-order.d.ts.map +1 -0
  169. package/dist/types/core/evm/intent-helpers.d.ts +105 -0
  170. package/dist/types/core/evm/intent-helpers.d.ts.map +1 -0
  171. package/dist/types/core/evm/single-chain-dca-order.d.ts +26 -0
  172. package/dist/types/core/evm/single-chain-dca-order.d.ts.map +1 -0
  173. package/dist/types/core/evm/single-chain-limit-order.d.ts +23 -0
  174. package/dist/types/core/evm/single-chain-limit-order.d.ts.map +1 -0
  175. package/dist/types/core/evm/types.d.ts +8 -0
  176. package/dist/types/core/evm/types.d.ts.map +1 -0
  177. package/dist/types/core/orders/common.d.ts +2 -2
  178. package/dist/types/core/orders/common.d.ts.map +1 -1
  179. package/dist/types/core/orders/cross-chain.d.ts +1 -1
  180. package/dist/types/core/orders/cross-chain.d.ts.map +1 -1
  181. package/dist/types/core/orders/dca-single-chain.d.ts.map +1 -1
  182. package/dist/types/core/orders/single-chain.d.ts +1 -0
  183. package/dist/types/core/orders/single-chain.d.ts.map +1 -1
  184. package/dist/types/core/solana/cancel-order.d.ts +3 -3
  185. package/dist/types/core/solana/cancel-order.d.ts.map +1 -1
  186. package/dist/types/core/solana/cross-chain-limit-order.d.ts +9 -0
  187. package/dist/types/core/solana/cross-chain-limit-order.d.ts.map +1 -0
  188. package/dist/types/core/solana/dca/cancel-order.d.ts +2 -2
  189. package/dist/types/core/solana/dca/cancel-order.d.ts.map +1 -1
  190. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts +14 -0
  191. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts.map +1 -0
  192. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts +19 -0
  193. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts.map +1 -0
  194. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts +6 -6
  195. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts.map +1 -1
  196. package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts +110 -0
  197. package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts.map +1 -0
  198. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts +10 -6
  199. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts.map +1 -1
  200. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts +1 -0
  201. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts.map +1 -1
  202. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts +6 -6
  203. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts.map +1 -1
  204. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts +76 -6
  205. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts.map +1 -1
  206. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts +12 -12
  207. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts.map +1 -1
  208. package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts +124 -0
  209. package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts.map +1 -0
  210. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts +12 -12
  211. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts.map +1 -1
  212. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts +12 -12
  213. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts.map +1 -1
  214. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts +15 -15
  215. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts.map +1 -1
  216. package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts +130 -0
  217. package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts.map +1 -0
  218. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts +16 -12
  219. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts.map +1 -1
  220. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts +12 -12
  221. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts.map +1 -1
  222. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts +2 -0
  223. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts.map +1 -1
  224. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts +12 -12
  225. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts.map +1 -1
  226. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts +12 -12
  227. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts.map +1 -1
  228. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts +11 -11
  229. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts.map +1 -1
  230. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts +11 -11
  231. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -1
  232. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts +12 -12
  233. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts.map +1 -1
  234. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts +11 -11
  235. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts.map +1 -1
  236. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts +25 -18
  237. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts.map +1 -1
  238. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts +5 -5
  239. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts.map +1 -1
  240. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts +4 -4
  241. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts.map +1 -1
  242. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts +4 -4
  243. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts.map +1 -1
  244. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts +4 -4
  245. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -1
  246. package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts +28 -0
  247. package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts.map +1 -0
  248. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts +38 -0
  249. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts.map +1 -0
  250. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts +18 -0
  251. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts.map +1 -0
  252. package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts +24 -0
  253. package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts.map +1 -0
  254. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts +4 -4
  255. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts.map +1 -1
  256. package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts +18 -0
  257. package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts.map +1 -0
  258. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts +4 -4
  259. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts.map +1 -1
  260. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts +5 -0
  261. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts.map +1 -1
  262. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts +4 -4
  263. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts.map +1 -1
  264. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts +4 -4
  265. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts.map +1 -1
  266. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts +4 -4
  267. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts.map +1 -1
  268. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts +4 -4
  269. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts.map +1 -1
  270. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts +6 -6
  271. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts.map +1 -1
  272. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts +3 -3
  273. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts.map +1 -1
  274. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts +6 -6
  275. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts.map +1 -1
  276. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts +3 -3
  277. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts.map +1 -1
  278. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts +2 -2
  279. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts.map +1 -1
  280. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts +12 -12
  281. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts.map +1 -1
  282. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts +12 -12
  283. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts.map +1 -1
  284. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts +12 -12
  285. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts.map +1 -1
  286. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts +12 -12
  287. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts.map +1 -1
  288. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts +9 -9
  289. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts.map +1 -1
  290. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts +11 -11
  291. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts.map +1 -1
  292. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts +9 -9
  293. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts.map +1 -1
  294. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts +11 -11
  295. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts.map +1 -1
  296. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts +11 -11
  297. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts.map +1 -1
  298. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts +12 -12
  299. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts.map +1 -1
  300. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts +11 -11
  301. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts.map +1 -1
  302. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts +11 -11
  303. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -1
  304. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts +2 -2
  305. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts.map +1 -1
  306. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts +5 -5
  307. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts.map +1 -1
  308. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts +4 -4
  309. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts.map +1 -1
  310. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts +4 -4
  311. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts.map +1 -1
  312. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts +4 -4
  313. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -1
  314. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts +4 -4
  315. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts.map +1 -1
  316. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts +4 -4
  317. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts.map +1 -1
  318. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts +4 -4
  319. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts.map +1 -1
  320. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts +4 -4
  321. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts.map +1 -1
  322. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts +4 -4
  323. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts.map +1 -1
  324. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts +4 -4
  325. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts.map +1 -1
  326. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts +4 -4
  327. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts.map +1 -1
  328. package/dist/types/core/solana/intent-helpers.d.ts +120 -0
  329. package/dist/types/core/solana/intent-helpers.d.ts.map +1 -0
  330. package/dist/types/core/solana/sdk.d.ts.map +1 -1
  331. package/dist/types/core/sui/cross-chain-limit-order.d.ts +14 -0
  332. package/dist/types/core/sui/cross-chain-limit-order.d.ts.map +1 -0
  333. package/dist/types/core/sui/intent-helpers.d.ts +89 -0
  334. package/dist/types/core/sui/intent-helpers.d.ts.map +1 -0
  335. package/dist/types/core/sui/order-transaction.d.ts +3 -1
  336. package/dist/types/core/sui/order-transaction.d.ts.map +1 -1
  337. package/dist/types/core/sui/single-chain-dca-order.d.ts +22 -0
  338. package/dist/types/core/sui/single-chain-dca-order.d.ts.map +1 -0
  339. package/dist/types/core/sui/single-chain-limit-order.d.ts +26 -0
  340. package/dist/types/core/sui/single-chain-limit-order.d.ts.map +1 -0
  341. package/dist/types/core/sui/validator.d.ts.map +1 -1
  342. package/dist/types/index.d.ts +13 -0
  343. package/dist/types/index.d.ts.map +1 -1
  344. package/dist/types/types/intent.d.ts +13 -4
  345. package/dist/types/types/intent.d.ts.map +1 -1
  346. package/package.json +19 -9
  347. package/src/constants.ts +17 -23
  348. package/src/core/evm/abi/source-chain-guard.ts +32 -628
  349. package/src/core/evm/cross-chain-limit-order.ts +76 -0
  350. package/src/core/evm/intent-helpers.ts +204 -0
  351. package/src/core/evm/single-chain-dca-order.ts +85 -0
  352. package/src/core/evm/single-chain-limit-order.ts +78 -0
  353. package/src/core/evm/types.ts +15 -0
  354. package/src/core/orders/common.ts +4 -4
  355. package/src/core/orders/cross-chain.ts +2 -2
  356. package/src/core/orders/dca-single-chain.ts +4 -1
  357. package/src/core/orders/single-chain.ts +10 -1
  358. package/src/core/solana/cancel-order.ts +5 -5
  359. package/src/core/solana/client.ts +1 -1
  360. package/src/core/solana/cross-chain-limit-order.ts +24 -0
  361. package/src/core/solana/dca/cancel-order.ts +3 -3
  362. package/src/core/solana/dca/create-order.ts +2 -2
  363. package/src/core/solana/dca/single-chain-dca-order.ts +32 -0
  364. package/src/core/solana/dca/single-chain-limit-order.ts +45 -0
  365. package/src/core/solana/generated/cross-chain/accounts/adminSingleton.ts +20 -18
  366. package/src/core/solana/generated/cross-chain/accounts/dcaOrder.ts +248 -0
  367. package/src/core/solana/generated/cross-chain/accounts/guard.ts +24 -18
  368. package/src/core/solana/generated/cross-chain/accounts/index.ts +1 -0
  369. package/src/core/solana/generated/cross-chain/accounts/order.ts +17 -17
  370. package/src/core/solana/generated/cross-chain/errors/sourceChainGuard.ts +154 -9
  371. package/src/core/solana/generated/cross-chain/instructions/acceptAdmin.ts +44 -34
  372. package/src/core/solana/generated/cross-chain/instructions/cancelDcaOrder.ts +409 -0
  373. package/src/core/solana/generated/cross-chain/instructions/cancelOrder.ts +49 -41
  374. package/src/core/solana/generated/cross-chain/instructions/claimTokens.ts +54 -44
  375. package/src/core/solana/generated/cross-chain/instructions/collectProtocolFees.ts +52 -43
  376. package/src/core/solana/generated/cross-chain/instructions/createDcaOrder.ts +496 -0
  377. package/src/core/solana/generated/cross-chain/instructions/createGuard.ts +72 -54
  378. package/src/core/solana/generated/cross-chain/instructions/createOrder.ts +60 -42
  379. package/src/core/solana/generated/cross-chain/instructions/index.ts +2 -0
  380. package/src/core/solana/generated/cross-chain/instructions/initialize.ts +60 -42
  381. package/src/core/solana/generated/cross-chain/instructions/preStartOrderExecution.ts +55 -45
  382. package/src/core/solana/generated/cross-chain/instructions/setAdmin.ts +48 -30
  383. package/src/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.ts +88 -40
  384. package/src/core/solana/generated/cross-chain/instructions/startOrderExecution.ts +48 -39
  385. package/src/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.ts +45 -37
  386. package/src/core/solana/generated/cross-chain/programs/sourceChainGuard.ts +118 -37
  387. package/src/core/solana/generated/cross-chain/shared/index.ts +23 -14
  388. package/src/core/solana/generated/cross-chain/types/adminUpdateStarted.ts +9 -6
  389. package/src/core/solana/generated/cross-chain/types/adminUpdated.ts +6 -6
  390. package/src/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.ts +9 -6
  391. package/src/core/solana/generated/cross-chain/types/dcaExecutionStarted.ts +70 -0
  392. package/src/core/solana/generated/cross-chain/types/dcaOrderCreated.ts +92 -0
  393. package/src/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.ts +52 -0
  394. package/src/core/solana/generated/cross-chain/types/dcaTokenInSwapped.ts +62 -0
  395. package/src/core/solana/generated/cross-chain/types/executionStarted.ts +6 -6
  396. package/src/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.ts +55 -0
  397. package/src/core/solana/generated/cross-chain/types/guardCreated.ts +6 -6
  398. package/src/core/solana/generated/cross-chain/types/index.ts +5 -0
  399. package/src/core/solana/generated/cross-chain/types/orderCancelled.ts +6 -6
  400. package/src/core/solana/generated/cross-chain/types/orderCreated.ts +6 -6
  401. package/src/core/solana/generated/cross-chain/types/orderFulfilled.ts +6 -6
  402. package/src/core/solana/generated/cross-chain/types/tokenInSwapped.ts +6 -6
  403. package/src/core/solana/generated/single-chain/accounts/adminSingleton.ts +20 -18
  404. package/src/core/solana/generated/single-chain/accounts/dcaOrder.ts +11 -11
  405. package/src/core/solana/generated/single-chain/accounts/guard.ts +17 -17
  406. package/src/core/solana/generated/single-chain/accounts/limitOrder.ts +11 -11
  407. package/src/core/solana/generated/single-chain/errors/singleChainGuard.ts +10 -5
  408. package/src/core/solana/generated/single-chain/instructions/acceptAdmin.ts +44 -34
  409. package/src/core/solana/generated/single-chain/instructions/cancelDcaOrder.ts +54 -40
  410. package/src/core/solana/generated/single-chain/instructions/cancelLimitOrder.ts +51 -40
  411. package/src/core/solana/generated/single-chain/instructions/collectProtocolFees.ts +55 -42
  412. package/src/core/solana/generated/single-chain/instructions/createDcaOrder.ts +60 -38
  413. package/src/core/solana/generated/single-chain/instructions/createGuard.ts +69 -42
  414. package/src/core/solana/generated/single-chain/instructions/createLimitOrder.ts +57 -38
  415. package/src/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.ts +78 -55
  416. package/src/core/solana/generated/single-chain/instructions/fulfillLimitOrder.ts +81 -55
  417. package/src/core/solana/generated/single-chain/instructions/initialize.ts +58 -40
  418. package/src/core/solana/generated/single-chain/instructions/setAdmin.ts +48 -30
  419. package/src/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.ts +88 -40
  420. package/src/core/solana/generated/single-chain/programs/singleChainGuard.ts +76 -37
  421. package/src/core/solana/generated/single-chain/shared/index.ts +23 -14
  422. package/src/core/solana/generated/single-chain/types/adminUpdateStarted.ts +9 -6
  423. package/src/core/solana/generated/single-chain/types/adminUpdated.ts +6 -6
  424. package/src/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.ts +9 -6
  425. package/src/core/solana/generated/single-chain/types/dcaOrderCreated.ts +6 -6
  426. package/src/core/solana/generated/single-chain/types/dcaOrderFulfilled.ts +9 -6
  427. package/src/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.ts +9 -6
  428. package/src/core/solana/generated/single-chain/types/guardCreated.ts +6 -6
  429. package/src/core/solana/generated/single-chain/types/limitOrderCreated.ts +9 -6
  430. package/src/core/solana/generated/single-chain/types/limitOrderFulfilled.ts +9 -6
  431. package/src/core/solana/generated/single-chain/types/orderCancelled.ts +6 -6
  432. package/src/core/solana/inspect.ts +1 -1
  433. package/src/core/solana/intent-helpers.ts +273 -0
  434. package/src/core/solana/order-instructions.ts +3 -3
  435. package/src/core/solana/sdk.ts +13 -4
  436. package/src/core/sui/cancel.ts +1 -1
  437. package/src/core/sui/cross-chain-limit-order.ts +34 -0
  438. package/src/core/sui/intent-helpers.ts +235 -0
  439. package/src/core/sui/order-transaction.ts +8 -4
  440. package/src/core/sui/sdk.ts +1 -1
  441. package/src/core/sui/single-chain-dca-order.ts +139 -0
  442. package/src/core/sui/single-chain-limit-order.ts +143 -0
  443. package/src/core/sui/validator.ts +1 -2
  444. package/src/index.ts +55 -0
  445. package/src/types/intent.ts +15 -4
package/README.md CHANGED
@@ -1,8 +1,34 @@
1
- # Intents SDK for Cross-Chain Swaps
1
+ # Shogun Intents SDK
2
2
 
3
- A TypeScript SDK for facilitating cross-chain token swaps across multiple blockchain ecosystems. This SDK helps developers easily integrate with Intents Protocol to enable seamless cross-chain transfers and swaps.
3
+ A comprehensive TypeScript SDK for intent-based cross-chain and single-chain token swaps across multiple blockchain ecosystems. Built on the Shogun Network, this SDK enables developers to create sophisticated trading strategies with advanced features like DCA (Dollar Cost Averaging), stop-loss, take-profit, and multi-chain routing.
4
4
 
5
- ## Installation (To be defined and published)
5
+ ## Features
6
+
7
+ ### 🔄 Cross-Chain Swaps
8
+ - **Multi-chain Support**: Seamlessly swap tokens across EVM chains (Arbitrum, Optimism, Base, Hyperliquid), Solana, and Sui
9
+ - **Intent-based Architecture**: Express trading intentions rather than executing complex multi-step transactions
10
+ - **Automatic Routing**: Intelligent routing through multiple DEXs and bridges for optimal execution
11
+ - **Stablecoin Intermediary**: Uses stablecoins as intermediate assets for efficient cross-chain swaps
12
+
13
+ ### 📈 Single-Chain Trading
14
+ - **Limit Orders**: Set specific price targets for token swaps
15
+ - **DCA Orders**: Dollar Cost Averaging with configurable intervals and amounts
16
+ - **Stop-Loss & Take-Profit**: Advanced risk management with automatic execution
17
+ - **Extra Transfers**: Include additional token transfers in your orders
18
+
19
+ ### 🛡️ Advanced Risk Management
20
+ - **Stop-Loss Protection**: Automatically sell when price drops below threshold
21
+ - **Take-Profit Orders**: Lock in profits when price reaches target
22
+ - **Slippage Protection**: Built-in slippage controls and price impact calculations
23
+ - **Deadline Management**: Time-based order expiration
24
+
25
+ ### 🔌 Multi-Provider Integration
26
+ - **EVM Chains**: ParaSwap integration for optimal routing
27
+ - **Solana**: Jupiter aggregator for best prices
28
+ - **Sui**: Aftermath and LiquidSwap integration
29
+ - **Cross-Chain**: DefiLlama price feeds and stablecoin routing
30
+
31
+ ## Installation
6
32
 
7
33
  ```bash
8
34
  npm install @shogun-sdk/intents-sdk
@@ -10,114 +36,649 @@ pnpm install @shogun-sdk/intents-sdk
10
36
  yarn add @shogun-sdk/intents-sdk
11
37
  ```
12
38
 
39
+ ## Constants & Configuration
40
+
41
+ The SDK provides important constants for guard addresses, stablecoins, and chain configurations:
42
+
43
+ ```typescript
44
+ import {
45
+ // Guard addresses for different order types
46
+ CROSS_CHAIN_GUARD_ADDRESSES,
47
+ SINGLE_CHAIN_GUARD_ADDRESSES,
48
+ DCA_SINGLE_CHAIN_GUARD_ADDRESSES,
49
+
50
+ // Stablecoin configurations
51
+ SOLANA_USDC_MINT,
52
+ SUI_GUARD_COLLATERAL_TYPE,
53
+ SUI_GUARD_STABLECOIN_TYPE,
54
+
55
+ // Package and contract IDs
56
+ SUI_PACKAGE_ID,
57
+ PERMIT2_ADDRESS,
58
+
59
+ // Native token addresses
60
+ NATIVE_SOLANA_TOKEN_ADDRESS,
61
+ WRAPPED_SOL_MINT_ADDRESS,
62
+ NATIVE_SUI_TOKEN_ADDRESS,
63
+ WRAPPED_ETH_ADDRESSES,
64
+
65
+ // Utility functions
66
+ isNativeEvmToken,
67
+
68
+ // Chain IDs
69
+ ChainID,
70
+ } from "@shogun-sdk/intents-sdk";
71
+
72
+ // Example: Get guard address for specific chain and order type
73
+ const arbitrumCrossChainGuard = CROSS_CHAIN_GUARD_ADDRESSES[ChainID.Arbitrum];
74
+ const baseSingleChainGuard = SINGLE_CHAIN_GUARD_ADDRESSES[ChainID.Base];
75
+ const hyperliquidDcaGuard = DCA_SINGLE_CHAIN_GUARD_ADDRESSES[ChainID.Hyperliquid];
76
+
77
+ // Example: Use Solana stablecoin configuration
78
+ console.log('Solana USDC:', SOLANA_USDC_MINT.mint, 'Decimals:', SOLANA_USDC_MINT.decimals);
79
+
80
+ // Example: Check if token is native ETH
81
+ const isNativeEth = isNativeEvmToken('0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee');
82
+ ```
83
+
13
84
  ## Architecture
14
85
 
15
86
  The SDK uses a modular architecture with chain-specific implementations:
16
- - `EVMSDK`: Implementation for Ethereum Virtual Machine chains
17
- - `SolanaSDK`: Implementation for Solana blockchain
18
- - `SuiSDK`: Implementation for Sui blockchain
87
+
88
+ - **`EVMSDK`**: Ethereum Virtual Machine chains (Arbitrum, Optimism, Base, Hyperliquid)
89
+ - **`SolanaSDK`**: Solana blockchain with Jupiter integration
90
+ - **`SuiSDK`**: Sui blockchain with Aftermath and LiquidSwap support
19
91
 
20
92
  ## Usage
21
93
 
22
- ### Basic Usage
94
+ ### SDK Setup (server-side)
23
95
 
24
96
  ```typescript
25
97
  import { ChainID, EVMSDK, SolanaSDK, SuiSDK } from "@shogun-sdk/intents-sdk";
26
98
 
27
- // For EVM chains (Arbitrum, Optimism, Base)
99
+ // EVM (Arbitrum, Optimism, Base, Hyperliquid)
28
100
  const evmSdk = new EVMSDK({
29
101
  chainId: ChainID.Arbitrum,
30
- privateKey: '0x...', // Your private key
31
- rpcProviderUrl: 'https://arbitrum-mainnet.public.blastapi.io', // Optional: Default RPC will be used if not provided
102
+ privateKey: '0x...',
103
+ rpcProviderUrl: 'https://arbitrum-mainnet.public.blastapi.io', // optional
32
104
  });
33
105
 
34
- // For Solana
106
+ // Solana
35
107
  const solanaSdk = new SolanaSDK({
36
- privateKey: '...', // Your private key
37
- commitment: 'finalized', // Or 'confirmed'
38
- rpcProviderUrl: 'https://api.mainnet-beta.solana.com', // Optional
108
+ privateKey: '...',
109
+ commitment: 'finalized', // 'confirmed' | 'finalized'
110
+ rpcProviderUrl: 'https://api.mainnet-beta.solana.com', // optional
39
111
  });
40
112
 
41
- // For Sui
113
+ // Sui
42
114
  const suiSdk = new SuiSDK({
43
- privateKey: '...', // Your private key
115
+ privateKey: '...',
44
116
  });
45
117
  ```
46
118
 
47
- ### Creating and Submitting Orders
119
+ ### Cross-chain order (one call)
48
120
 
49
121
  ```typescript
50
- // Create and prepare a cross-chain order
51
- const preparedOrder = await sdk.createOrder({
122
+ import { ChainID } from "@shogun-sdk/intents-sdk";
123
+
124
+ const response = await evmSdk.createAndSendCrossChainOrder({
52
125
  sourceChainId: ChainID.Arbitrum,
53
- sourceTokenAddress: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9',
54
- sourceTokenAmount: BigInt(12000),
126
+ sourceTokenAddress: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9', // USDT
127
+ sourceTokenAmount: BigInt(10_000_000),
55
128
  destinationChainId: ChainID.Solana,
56
- destinationTokenAddress: 'So11111111111111111111111111111111111111112',
57
- destinationTokenMinAmount: BigInt(10000),
129
+ destinationTokenAddress: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC
58
130
  destinationAddress: '3Kiz4oBXpR9YuPNsVfvE5XnNzgwjrM9m2CbRzyyEVkpQ',
59
- minStablecoinAmount: BigInt(11000),
60
- deadline: Math.floor(Date.now() / 1000) + 3600, // 1 hour from now
131
+ deadline: Math.floor(Date.now() / 1000) + 3600,
61
132
  });
133
+ ```
62
134
 
63
- // Or Send the order to the auctioneer
64
- const response = await sdk.createAndSendOrder({
65
- sourceChainId: ChainID.Arbitrum,
66
- sourceTokenAddress: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9',
67
- sourceTokenAmount: BigInt(12000),
68
- destinationChainId: ChainID.Solana,
69
- destinationTokenAddress: 'So11111111111111111111111111111111111111112',
70
- destinationTokenMinAmount: BigInt(10000),
135
+ ### Single-chain limit order (one call)
136
+
137
+ ```typescript
138
+ import { ChainID } from "@shogun-sdk/intents-sdk";
139
+
140
+ const response = await solanaSdk.createAndSendSingleChainOrder({
141
+ chainId: ChainID.Solana,
142
+ amountIn: BigInt(1_000_000), // 1 SOL (6 decimals)
143
+ tokenIn: 'So11111111111111111111111111111111111111112',
144
+ tokenOut: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
145
+ amountOutMin: BigInt(100_000_000), // 100 USDC
71
146
  destinationAddress: '3Kiz4oBXpR9YuPNsVfvE5XnNzgwjrM9m2CbRzyyEVkpQ',
72
- minStablecoinAmount: BigInt(11000),
73
- deadline: Math.floor(Date.now() / 1000) + 3600, // 1 hour from now
147
+ deadline: Math.floor(Date.now() / 1000) + 86400,
148
+ });
149
+ ```
150
+
151
+ ### DCA order (EVM, one call)
152
+
153
+ ```typescript
154
+ import { ChainID } from "@shogun-sdk/intents-sdk";
155
+
156
+ const response = await evmSdk.createAndSendDcaSingleChainOrder({
157
+ chainId: ChainID.Arbitrum,
158
+ tokenIn: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1', // WETH
159
+ tokenOut: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9', // USDT
160
+ destinationAddress: '0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6',
161
+ startTime: Math.floor(Date.now() / 1000),
162
+ amountInPerInterval: BigInt(100_000_000),
163
+ totalIntervals: 10,
164
+ intervalDuration: 3600,
165
+ deadline: Math.floor(Date.now() / 1000) + 86400 * 7,
166
+ });
167
+ ```
168
+
169
+ ### Sui Single-Chain Orders (Manual Transaction Building)
170
+
171
+ ```typescript
172
+ import {
173
+ ChainID,
174
+ createSuiClient,
175
+ getSuiSingleChainLimitOrderTransaction,
176
+ getSuiSingleChainDcaOrderTransaction,
177
+ generateSuiLimitOrderSecretData,
178
+ generateSuiDcaOrderSecretData,
179
+ createSuiSingleChainLimitOrderIntentRequest,
180
+ createSuiSingleChainDcaOrderIntentRequest,
181
+ // Import guard addresses and stablecoin configurations
182
+ CROSS_CHAIN_GUARD_ADDRESSES,
183
+ SUI_GUARD_STABLECOIN_TYPE,
184
+ SUI_PACKAGE_ID,
185
+ } from "@shogun-sdk/intents-sdk";
186
+
187
+ // Create Sui client
188
+ const client = createSuiClient();
189
+ // Use the correct guard address from constants
190
+ const guardAddress = CROSS_CHAIN_GUARD_ADDRESSES[ChainID.Sui];
191
+
192
+ // Example: Sui Single-Chain Limit Order
193
+ const limitOrder = await SingleChainOrder.create({
194
+ chainId: ChainID.Sui,
195
+ amountIn: BigInt(200_000),
196
+ tokenIn: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
197
+ tokenOut: "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",
198
+ amountOutMin: BigInt(1),
199
+ destinationAddress: "0x...",
200
+ deadline: Math.floor(Date.now() / 1000) + 3600,
201
+ user: "0x...",
202
+ });
203
+
204
+ // Generate secret data
205
+ const { secretNumber, secretHash } = generateSuiLimitOrderSecretData(
206
+ limitOrder.tokenOut,
207
+ limitOrder.destinationAddress,
208
+ undefined, // auto-generate secret number
209
+ limitOrder.extraTransfers
210
+ );
211
+
212
+ // Build transaction
213
+ const tx = await getSuiSingleChainLimitOrderTransaction(
214
+ limitOrder,
215
+ secretHash,
216
+ guardAddress,
217
+ client
218
+ );
219
+
220
+ // Sign and execute transaction
221
+ const result = await client.signAndExecuteTransaction({
222
+ signer: keypair,
223
+ transaction: tx,
224
+ });
225
+
226
+ // Create intent request for auctioneer
227
+ const intentRequest = createSuiSingleChainLimitOrderIntentRequest({
228
+ user: limitOrder.user,
229
+ tokenIn: limitOrder.tokenIn,
230
+ tokenOut: limitOrder.tokenOut,
231
+ amountIn: limitOrder.amountIn,
232
+ amountOutMin: limitOrder.amountOutMin,
233
+ destinationAddress: limitOrder.destinationAddress,
234
+ deadline: limitOrder.deadline,
235
+ transactionHash: result.digest,
236
+ secretNumber,
237
+ });
238
+
239
+ // Example: Sui Single-Chain DCA Order
240
+ const dcaOrder = await DcaSingleChainOrder.create({
241
+ chainId: ChainID.Sui,
242
+ tokenIn: "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",
243
+ tokenOut: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
244
+ destinationAddress: "0x...",
245
+ startTime: Math.floor(Date.now() / 1000),
246
+ amountInPerInterval: BigInt(1_932_100),
247
+ totalIntervals: 2,
248
+ intervalDuration: 300, // 5 minutes
249
+ deadline: Math.floor(Date.now() / 1000) + 1200, // 20 minutes
250
+ user: "0x...",
74
251
  });
252
+
253
+ // Generate DCA secret data
254
+ const { secretNumber: dcaSecretNumber, secretHash: dcaSecretHash } = generateSuiDcaOrderSecretData(
255
+ dcaOrder.tokenOut,
256
+ dcaOrder.destinationAddress
257
+ );
258
+
259
+ // Build DCA transaction
260
+ const dcaTx = await getSuiSingleChainDcaOrderTransaction(
261
+ dcaOrder,
262
+ dcaSecretHash,
263
+ guardAddress,
264
+ client
265
+ );
266
+
267
+ // Create DCA intent request
268
+ const dcaIntentRequest = createSuiSingleChainDcaOrderIntentRequest({
269
+ user: dcaOrder.user,
270
+ tokenIn: dcaOrder.tokenIn,
271
+ tokenOut: dcaOrder.tokenOut,
272
+ amountInPerInterval: dcaOrder.amountInPerInterval,
273
+ totalIntervals: dcaOrder.totalIntervals,
274
+ intervalDuration: dcaOrder.intervalDuration,
275
+ amountOutMin: dcaOrder.amountOutMin,
276
+ destinationAddress: dcaOrder.destinationAddress,
277
+ startTime: dcaOrder.startTime,
278
+ deadline: dcaOrder.deadline,
279
+ transactionHash: result.digest,
280
+ secretNumber: dcaSecretNumber,
281
+ });
282
+ ```
283
+
284
+ ### Advanced risk management (stop-loss / take-profit)
285
+
286
+ ```typescript
287
+ import { ChainID } from "@shogun-sdk/intents-sdk";
288
+
289
+ await evmSdk.createAndSendCrossChainOrder({
290
+ sourceChainId: ChainID.Base,
291
+ sourceTokenAddress: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913', // USDC
292
+ sourceTokenAmount: BigInt(1_000_000_000), // 1000 USDC (6dp)
293
+ destinationChainId: ChainID.Arbitrum,
294
+ destinationTokenAddress: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1', // WETH
295
+ destinationAddress: '0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6',
296
+ stopLossMaxOut: BigInt(2_500_000_000),
297
+ takeProfitMinOut: BigInt(3_500_000_000),
298
+ deadline: Math.floor(Date.now() / 1000) + 3600,
299
+ });
300
+ ```
301
+
302
+ ### EVM Guard Addresses and Configuration
303
+
304
+ When working with EVM chains, you can access guard addresses for different order types:
305
+
306
+ ```typescript
307
+ import {
308
+ CROSS_CHAIN_GUARD_ADDRESSES,
309
+ SINGLE_CHAIN_GUARD_ADDRESSES,
310
+ DCA_SINGLE_CHAIN_GUARD_ADDRESSES,
311
+ PERMIT2_ADDRESS,
312
+ WRAPPED_ETH_ADDRESSES,
313
+ ChainID,
314
+ } from "@shogun-sdk/intents-sdk";
315
+
316
+ // Get guard addresses for different chains and order types
317
+ const arbitrumCrossChain = CROSS_CHAIN_GUARD_ADDRESSES[ChainID.Arbitrum];
318
+ const baseSingleChain = SINGLE_CHAIN_GUARD_ADDRESSES[ChainID.Base];
319
+ const hyperliquidDca = DCA_SINGLE_CHAIN_GUARD_ADDRESSES[ChainID.Hyperliquid];
320
+
321
+ // Get Permit2 address for token approvals
322
+ const permit2Address = PERMIT2_ADDRESS[ChainID.Arbitrum];
323
+
324
+ // Get wrapped ETH address for each chain
325
+ const wrappedEthArbitrum = WRAPPED_ETH_ADDRESSES[ChainID.Arbitrum];
326
+ const wrappedEthBase = WRAPPED_ETH_ADDRESSES[ChainID.Base];
327
+
328
+ console.log('Arbitrum Cross-chain Guard:', arbitrumCrossChain);
329
+ console.log('Base Single-chain Guard:', baseSingleChain);
330
+ console.log('Hyperliquid DCA Guard:', hyperliquidDca);
331
+ ```
332
+
333
+ ### Solana Configuration
334
+
335
+ For Solana integration, use the provided mint addresses and configurations:
336
+
337
+ ```typescript
338
+ import {
339
+ SOLANA_USDC_MINT,
340
+ NATIVE_SOLANA_TOKEN_ADDRESS,
341
+ WRAPPED_SOL_MINT_ADDRESS,
342
+ CROSS_CHAIN_GUARD_ADDRESSES,
343
+ SINGLE_CHAIN_GUARD_ADDRESSES,
344
+ ChainID,
345
+ } from "@shogun-sdk/intents-sdk";
346
+
347
+ // Solana USDC mint configuration
348
+ console.log('USDC Mint:', SOLANA_USDC_MINT.mint);
349
+ console.log('USDC Decimals:', SOLANA_USDC_MINT.decimals);
350
+
351
+ // Native and wrapped SOL addresses
352
+ console.log('Native SOL:', NATIVE_SOLANA_TOKEN_ADDRESS);
353
+ console.log('Wrapped SOL:', WRAPPED_SOL_MINT_ADDRESS);
354
+
355
+ // Guard addresses for Solana
356
+ const solanaCrossChainGuard = CROSS_CHAIN_GUARD_ADDRESSES[ChainID.Solana];
357
+ const solanaSingleChainGuard = SINGLE_CHAIN_GUARD_ADDRESSES[ChainID.Solana];
358
+ ```
359
+
360
+ ### Browser integration (manual signing)
361
+
362
+ For browser wallets, prepare the order and sign manually, then submit:
363
+
364
+ ```typescript
365
+ import {
366
+ ChainID,
367
+ CrossChainOrder,
368
+ getEVMCrossChainOrderTypedData,
369
+ } from "@shogun-sdk/intents-sdk";
370
+ import { createWalletClient, custom } from 'viem';
371
+
372
+ // 1) Build order (user address is inferred by SDK when using high-level APIs).
373
+ const order = await CrossChainOrder.create({
374
+ sourceChainId: ChainID.Arbitrum,
375
+ sourceTokenAddress: '0xfd086...bb9',
376
+ sourceTokenAmount: BigInt(10_000_000),
377
+ destinationChainId: ChainID.Base,
378
+ destinationTokenAddress: '0x833589...2913',
379
+ destinationAddress: '0xYourDest',
380
+ deadline: Math.floor(Date.now() / 1000) + 3600,
381
+ user: '0xYourEoa', // required when not using EVMSDK.create* helpers
382
+ });
383
+
384
+ // 2) Get EIP-712 typed data + random nonce
385
+ const { orderTypedData, nonce } = await getEVMCrossChainOrderTypedData(order);
386
+
387
+ // 3) Sign with wallet client (e.g. window.ethereum)
388
+ const walletClient = createWalletClient({ transport: custom(window.ethereum!) });
389
+ const signature = await walletClient.signTypedData({
390
+ account: order.user as `0x${string}`,
391
+ domain: orderTypedData.domain,
392
+ types: orderTypedData.types,
393
+ primaryType: orderTypedData.primaryType,
394
+ message: orderTypedData.message,
395
+ });
396
+
397
+ // 4) Submit to auctioneer
398
+ await order.sendToAuctioneer({ nonce: nonce.toString(), signature: signature.slice(2) });
75
399
  ```
76
400
 
77
401
  ## Supported Chains
78
402
 
79
- | Chain | Chain ID | Status |
80
- |-------|----------|--------|
81
- | Arbitrum | 42161 | ✅ Supported |
82
- | Optimism | 10 | ✅ Supported |
83
- | Base | 8453 | ✅ Supported |
84
- | Solana | 7565164 | ✅ Supported |
85
- | Sui | 101 | ✅ Supported |
403
+ | Chain | Chain ID | Type | Features | Status |
404
+ |-------|----------|------|----------|--------|
405
+ | Arbitrum | 42161 | EVM | Cross-chain, Single-chain, DCA | ✅ Supported |
406
+ | Optimism | 10 | EVM | Cross-chain, Single-chain, DCA | ✅ Supported |
407
+ | Base | 8453 | EVM | Cross-chain, Single-chain, DCA | ✅ Supported |
408
+ | Hyperliquid | 999 | EVM | Cross-chain, Single-chain, DCA | ✅ Supported |
409
+ | Solana | 7565164 | Solana | Cross-chain, Single-chain, DCA | ✅ Supported |
410
+ | Sui | 101 | Sui | Cross-chain, Single-chain, DCA | ✅ Supported |
411
+
412
+ ## Use Cases
413
+
414
+ ### 🏦 DeFi Applications
415
+ - **Cross-chain DEX Aggregation**: Build applications that find the best prices across multiple chains
416
+ - **Portfolio Management**: Automate rebalancing across different blockchain ecosystems
417
+ - **Yield Farming**: Move assets between chains to optimize yield opportunities
418
+
419
+ ### 📊 Trading Platforms
420
+ - **Advanced Order Types**: Implement sophisticated trading strategies with stop-loss and take-profit
421
+ - **DCA Strategies**: Allow users to dollar-cost average into positions over time
422
+ - **Cross-chain Arbitrage**: Execute arbitrage opportunities across different chains
423
+
424
+ ### 🔄 Bridge Applications
425
+ - **Intent-based Bridging**: Let users express their destination intent rather than complex multi-step processes
426
+ - **Multi-hop Routing**: Automatically find optimal paths through multiple chains and DEXs
427
+ - **Stablecoin Routing**: Use stablecoins as intermediate assets for efficient cross-chain transfers
428
+
429
+ ### 🎯 Automated Trading
430
+ - **Bot Integration**: Build trading bots that can operate across multiple chains
431
+ - **Strategy Execution**: Implement complex trading strategies that span multiple ecosystems
432
+ - **Risk Management**: Automate stop-loss and take-profit execution across chains
433
+
434
+ ## Order Management
435
+
436
+ ### Fetching User Orders
437
+
438
+ ```typescript
439
+ import { fetchUserOrders } from "@shogun-sdk/intents-sdk";
440
+
441
+ // Authenticate and fetch user orders
442
+ const jwt = await evmSdk.authenticate(); // or solanaSdk.authenticate(), suiSdk.authenticate()
443
+ const orders = await fetchUserOrders(jwt);
444
+
445
+ console.log('Cross-chain orders:', orders.crossChainLimitOrders);
446
+ console.log('Single-chain orders:', orders.singleChainLimitOrders);
447
+ ```
448
+
449
+ ### Canceling Orders
86
450
 
87
- ## Example Implementation
451
+ ```typescript
452
+ // Cancel a cross-chain order
453
+ const cancelTxHash = await evmSdk.cancelCrossChainOrder({
454
+ orderId: '0x...',
455
+ user: '0x...',
456
+ tokenIn: '0x...',
457
+ amountIn: BigInt(1000),
458
+ srcChainId: ChainID.Arbitrum,
459
+ deadline: 1234567890,
460
+ minStablecoinsAmount: BigInt(1000),
461
+ executionDetailsHash: '0x...',
462
+ nonce: BigInt(123)
463
+ });
464
+
465
+ // Cancel a single-chain order
466
+ const cancelTxHash2 = await evmSdk.cancelSingleChainOrder({
467
+ orderId: '0x...',
468
+ user: '0x...',
469
+ tokenIn: '0x...',
470
+ amountIn: BigInt(1000),
471
+ requestedOutput: { token: '0x...', receiver: '0x...', amount: BigInt(1000) },
472
+ extraTransfers: [],
473
+ encodedExternalCallData: '0x',
474
+ deadline: 1234567890,
475
+ nonce: BigInt(123)
476
+ });
477
+
478
+ // Solana cancellations use order public keys
479
+ await solanaSdk.cancelCrossChainOrder('OrderPubkeyBase58');
480
+ await solanaSdk.cancelSingleChainOrder('OrderPubkeyBase58');
88
481
 
89
- Here's a complete example of creating an order from Arbitrum to Solana:
482
+ // Sui cancellations use digest/hash
483
+ await suiSdk.cancelCrossChainOrder('TransactionDigest');
484
+ ```
485
+
486
+ ## Quotes & pricing
487
+
488
+ You can fetch rough price/amount estimates without creating orders using the built-in quote aggregator:
489
+
490
+ ```typescript
491
+ import { ChainID, QuoteProvider } from "@shogun-sdk/intents-sdk";
492
+
493
+ // Cross-chain quote (uses routers with DefiLlama fallback)
494
+ const quote = await QuoteProvider.getQuote({
495
+ sourceChainId: ChainID.Arbitrum,
496
+ destChainId: ChainID.Base,
497
+ amount: BigInt(10_000_000), // 10 USDT
498
+ tokenIn: '0xfd086...bb9',
499
+ tokenOut: '0x833589...2913', // USDC on Base
500
+ });
501
+
502
+ console.log({
503
+ amountInUsd: quote.amountInUsd,
504
+ estimatedAmountOut: quote.estimatedAmountOut.toString(),
505
+ estimatedAmountOutReduced: quote.estimatedAmountOutReduced.toString(),
506
+ });
507
+ ```
508
+
509
+ ## Quote Providers
510
+
511
+ The SDK integrates with multiple quote providers for optimal pricing:
512
+
513
+ - **ParaSwap**: EVM chain routing and pricing
514
+ - **Jupiter**: Solana DEX aggregation
515
+ - **Aftermath**: Sui DEX integration
516
+ - **LiquidSwap**: Sui native DEX
517
+ - **DefiLlama**: Cross-chain price feeds
518
+
519
+ ## Error Handling
520
+
521
+ ```typescript
522
+ import { ValidationError } from "@shogun-sdk/intents-sdk";
523
+
524
+ try {
525
+ const order = await CrossChainOrder.create(params);
526
+ } catch (error) {
527
+ if (error instanceof ValidationError) {
528
+ console.error("Order validation failed:", error.message);
529
+ } else {
530
+ console.error("Unexpected error:", error);
531
+ }
532
+ }
533
+ ```
534
+
535
+ ## Complete example
90
536
 
91
537
  ```typescript
92
538
  import { ChainID, EVMSDK, ValidationError } from "@shogun-sdk/intents-sdk";
93
539
 
94
- async function createCrossChainOrder() {
540
+ async function createAdvancedCrossChainOrder() {
95
541
  try {
96
542
  const sdk = new EVMSDK({
97
543
  chainId: ChainID.Arbitrum,
98
544
  privateKey: process.env.PRIVATE_KEY as `0x${string}`,
99
545
  });
100
546
 
101
- const response = await sdk.createAndSendOrder({
547
+ const response = await sdk.createAndSendCrossChainOrder({
102
548
  sourceChainId: ChainID.Arbitrum,
103
- sourceTokenAddress: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9', // USDT on Arbitrum
104
- sourceTokenAmount: BigInt(10_000_000), // 10 USDT with 6 decimals
549
+ sourceTokenAddress: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9',
550
+ sourceTokenAmount: BigInt(10_000_000),
105
551
  destinationChainId: ChainID.Solana,
106
- destinationTokenAddress: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB', // USDT on Solana
107
- destinationTokenMinAmount: BigInt(9_500_000), // 9.5 USDT minimum to receive
108
- destinationAddress: '3Kiz4oBXpR9YuPNsVfvE5XnNzgwjrM9m2CbRzyyEVkpQ', // Solana destination address
109
- minStablecoinAmount: BigInt(9_800_000), // Minimum stablecoin amount for protocol
110
- deadline: Math.floor(Date.now() / 1000) + 3600, // 1 hour from now
552
+ destinationTokenAddress: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
553
+ destinationAddress: '3Kiz4oBXpR9YuPNsVfvE5XnNzgwjrM9m2CbRzyyEVkpQ',
554
+ stopLossMaxOut: BigInt(9_000_000),
555
+ takeProfitMinOut: BigInt(11_000_000),
556
+ deadline: Math.floor(Date.now() / 1000) + 3600,
111
557
  });
112
558
 
559
+ console.log('Order created successfully:', response);
113
560
  return response;
114
561
  } catch (error) {
115
562
  if (error instanceof ValidationError) {
116
563
  console.error("Invalid order parameters:", error.message);
117
564
  } else {
118
- console.error("Failed to create and send order:", error);
565
+ console.error("Failed to create order:", error);
119
566
  }
120
567
  throw error;
121
568
  }
122
569
  }
123
- ```
570
+ ```
571
+
572
+ ## Advanced Sui Integration
573
+
574
+ The SDK provides comprehensive Sui blockchain support with both high-level SDK methods and low-level transaction builders:
575
+
576
+ ### High-Level SDK Usage (Recommended)
577
+
578
+ ```typescript
579
+ import { ChainID, SuiSDK } from "@shogun-sdk/intents-sdk";
580
+
581
+ const suiSdk = new SuiSDK({
582
+ privateKey: '...',
583
+ });
584
+
585
+ // Cross-chain order (one call)
586
+ const crossChainResponse = await suiSdk.createAndSendCrossChainOrder({
587
+ sourceChainId: ChainID.Sui,
588
+ sourceTokenAddress: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC',
589
+ sourceTokenAmount: BigInt(500_000),
590
+ destinationChainId: ChainID.Base,
591
+ destinationTokenAddress: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913',
592
+ destinationAddress: '0xD022311DAcaa30f8396cA9d2C4662a2eF083A1Dd',
593
+ deadline: Math.floor(Date.now() / 1000) + 1200,
594
+ });
595
+ ```
596
+
597
+ ### Low-Level Transaction Builders
598
+
599
+ For advanced use cases, you can use the low-level transaction builders:
600
+
601
+ ```typescript
602
+ import {
603
+ createSuiClient,
604
+ getSuiOrderTransaction,
605
+ getSuiSingleChainLimitOrderTransaction,
606
+ getSuiSingleChainDcaOrderTransaction,
607
+ createSuiCrossChainOrderIntentRequest,
608
+ generateExecutionDetailsHash,
609
+ // Import constants for proper configuration
610
+ CROSS_CHAIN_GUARD_ADDRESSES,
611
+ SUI_GUARD_STABLECOIN_TYPE,
612
+ SUI_PACKAGE_ID,
613
+ ChainID,
614
+ } from "@shogun-sdk/intents-sdk";
615
+
616
+ // Create client with optional custom configuration
617
+ const client = createSuiClient();
618
+ const guardAddress = CROSS_CHAIN_GUARD_ADDRESSES[ChainID.Sui];
619
+
620
+ // Cross-chain transaction builder
621
+ const crossChainTx = await getSuiOrderTransaction(crossChainOrder, client);
622
+
623
+ // Single-chain limit order transaction builder
624
+ const limitOrderTx = await getSuiSingleChainLimitOrderTransaction(
625
+ singleChainOrder,
626
+ secretHash,
627
+ guardAddress, // Using CROSS_CHAIN_GUARD_ADDRESSES[ChainID.Sui]
628
+ client
629
+ );
630
+
631
+ // Single-chain DCA order transaction builder
632
+ const dcaTx = await getSuiSingleChainDcaOrderTransaction(
633
+ dcaOrder,
634
+ secretHash,
635
+ guardAddress, // Using CROSS_CHAIN_GUARD_ADDRESSES[ChainID.Sui]
636
+ client
637
+ );
638
+
639
+ // Cross-chain intent request builder
640
+ const crossChainIntent = createSuiCrossChainOrderIntentRequest({
641
+ user: "0x...",
642
+ srcChainId: ChainID.Sui,
643
+ tokenIn: "0x...",
644
+ amountIn: BigInt(500_000),
645
+ minStablecoinsAmount: BigInt(1),
646
+ deadline: Math.floor(Date.now() / 1000) + 1200,
647
+ destChainId: ChainID.Base,
648
+ destinationAddress: "0x...",
649
+ tokenOut: "0x...",
650
+ amountOutMin: BigInt(1),
651
+ transactionHash: "FQWndwYJhNQUoHyvR8UuhGURC2EKx9eWErFm9Tc2DggF",
652
+ });
653
+ ```
654
+
655
+ ### Sui-Specific Features
656
+
657
+ - **Secret Hash Generation**: Automatic generation of cryptographic hashes for order security
658
+ - **Gas Optimization**: Smart coin merging and splitting to minimize gas costs
659
+ - **Native SUI Support**: Handles native SUI token transactions with gas considerations
660
+ - **Extra Transfers**: Support for additional token transfers within orders (limited to 1 per order)
661
+ - **Guard Contract Integration**: Seamless integration with Sui guard contracts
662
+ - **Transaction Validation**: Built-in validation and balance checking
663
+
664
+ ### Available Sui Functions
665
+
666
+ | Function | Description | Use Case |
667
+ |----------|-------------|----------|
668
+ | `getSuiOrderTransaction` | Cross-chain order transaction | Cross-chain swaps from Sui |
669
+ | `getSuiSingleChainLimitOrderTransaction` | Single-chain limit order | Limit orders on Sui |
670
+ | `getSuiSingleChainDcaOrderTransaction` | Single-chain DCA order | DCA strategies on Sui |
671
+ | `createSuiCrossChainOrderIntentRequest` | Cross-chain intent payload | Manual cross-chain order submission |
672
+ | `createSuiSingleChainLimitOrderIntentRequest` | Limit order intent payload | Manual limit order submission |
673
+ | `createSuiSingleChainDcaOrderIntentRequest` | DCA order intent payload | Manual DCA order submission |
674
+ | `generateSuiLimitOrderSecretData` | Secret hash for limit orders | Security for limit orders |
675
+ | `generateSuiDcaOrderSecretData` | Secret hash for DCA orders | Security for DCA orders |
676
+ | `generateExecutionDetailsHash` | Execution details hash | Cross-chain order verification |
677
+ | `getSuiRandomU64Number` | Random number generation | Cryptographic randomness |
678
+
679
+ ## Notes
680
+
681
+ - Server-side usage is recommended for EVM/Sui/Solana private keys. In browsers, use the manual signing flow with the exported helpers and never expose raw private keys.
682
+ - Non‑EVM chains (Solana, Sui) perform on-chain preparation during create/send flows; validation is handled for you when using the high-level methods.
683
+ - Sui orders support up to 1 extra transfer per order due to Move language constraints.
684
+ - All Sui transaction builders accept an optional `client` parameter for better dependency injection and performance optimization.