@shogun-sdk/intents-sdk 1.2.31 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (660) hide show
  1. package/README.md +76 -25
  2. package/dist/index.cjs +8997 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +1654 -0
  5. package/dist/index.d.ts +1654 -0
  6. package/dist/index.js +9246 -0
  7. package/dist/index.js.map +1 -0
  8. package/package.json +44 -30
  9. package/src/auth/siwe.ts +8 -3
  10. package/src/chains.ts +6 -0
  11. package/src/constants.ts +71 -15
  12. package/src/core/evm/chain-provider.ts +4 -1
  13. package/src/core/evm/connectors/monad.ts +27 -0
  14. package/src/core/evm/cross-chain-limit-order.ts +14 -14
  15. package/src/core/evm/intent-helpers.ts +162 -21
  16. package/src/core/evm/intent-provider.ts +5 -4
  17. package/src/core/evm/permit2.ts +36 -0
  18. package/src/core/evm/single-chain-dca-order.ts +18 -18
  19. package/src/core/evm/single-chain-limit-order.ts +15 -15
  20. package/src/core/evm/types.ts +4 -4
  21. package/src/core/evm/validator.ts +1 -1
  22. package/src/core/orders/api/fetch.ts +33 -16
  23. package/src/core/orders/api/index.ts +39 -8
  24. package/src/core/orders/common.ts +2 -0
  25. package/src/core/orders/cross-chain.ts +15 -18
  26. package/src/core/orders/single-chain.ts +30 -13
  27. package/src/core/sdk.ts +11 -0
  28. package/src/core/solana/cancel-order.ts +4 -2
  29. package/src/core/solana/client.ts +1 -1
  30. package/src/core/solana/dca/cancel-order.ts +2 -1
  31. package/src/core/solana/dca/single-chain-dca-order.ts +19 -22
  32. package/src/core/solana/dca/single-chain-limit-order.ts +20 -22
  33. package/src/core/solana/generated/cross-chain/accounts/dcaOrder.ts +2 -2
  34. package/src/core/solana/generated/cross-chain/accounts/guard.ts +22 -10
  35. package/src/core/solana/generated/cross-chain/errors/sourceChainGuard.ts +37 -33
  36. package/src/core/solana/generated/cross-chain/instructions/cancelDcaOrder.ts +36 -22
  37. package/src/core/solana/generated/cross-chain/instructions/cancelOrder.ts +32 -18
  38. package/src/core/solana/generated/cross-chain/instructions/claimTokensForDcaInterval.ts +396 -0
  39. package/src/core/solana/generated/cross-chain/instructions/index.ts +5 -0
  40. package/src/core/solana/generated/cross-chain/instructions/preStartDcaOrderExecution.ts +504 -0
  41. package/src/core/solana/generated/cross-chain/instructions/setCancelAuthorities.ts +326 -0
  42. package/src/core/solana/generated/cross-chain/instructions/startDcaOrderExecution.ts +440 -0
  43. package/src/core/solana/generated/cross-chain/instructions/startDcaOrderExecutionAfterSwap.ts +322 -0
  44. package/src/core/solana/generated/cross-chain/programs/sourceChainGuard.ts +80 -0
  45. package/src/core/solana/generated/cross-chain/types/cancelAuthoritiesUpdated.ts +40 -0
  46. package/src/core/solana/generated/cross-chain/types/index.ts +1 -0
  47. package/src/core/solana/generated/single-chain/accounts/guard.ts +22 -10
  48. package/src/core/solana/generated/single-chain/errors/singleChainGuard.ts +24 -20
  49. package/src/core/solana/generated/single-chain/instructions/cancelDcaOrder.ts +28 -14
  50. package/src/core/solana/generated/single-chain/instructions/cancelLimitOrder.ts +28 -14
  51. package/src/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.ts +30 -4
  52. package/src/core/solana/generated/single-chain/instructions/fulfillLimitOrder.ts +30 -4
  53. package/src/core/solana/generated/single-chain/instructions/index.ts +1 -0
  54. package/src/core/solana/generated/single-chain/instructions/setCancelAuthorities.ts +326 -0
  55. package/src/core/solana/generated/single-chain/programs/singleChainGuard.ts +17 -1
  56. package/src/core/solana/generated/single-chain/types/cancelAuthoritiesUpdated.ts +40 -0
  57. package/src/core/solana/generated/single-chain/types/index.ts +1 -0
  58. package/src/core/solana/intent-helpers.ts +38 -27
  59. package/src/core/solana/sdk.ts +1 -1
  60. package/src/core/solana/utils.ts +10 -1
  61. package/src/core/sui/cross-chain-limit-order.ts +1 -29
  62. package/src/core/sui/intent-helpers.ts +39 -41
  63. package/src/core/sui/order-transaction.ts +1 -1
  64. package/src/core/sui/single-chain-dca-order.ts +19 -32
  65. package/src/core/sui/single-chain-limit-order.ts +19 -34
  66. package/src/index.ts +22 -9
  67. package/src/types/api.ts +22 -2
  68. package/src/types/intent.ts +42 -5
  69. package/src/types/token-list.ts +35 -0
  70. package/src/utils/base-validator.ts +0 -4
  71. package/src/utils/defillama.ts +2 -0
  72. package/src/utils/generate-execution-details-hash.ts +13 -0
  73. package/src/utils/quote/address.ts +4 -0
  74. package/src/utils/quote/aggregator.ts +326 -76
  75. package/src/utils/quote/liquidswap.ts +42 -13
  76. package/src/utils/quote/paraswap.ts +2 -0
  77. package/src/utils/quote/pricing/constants.ts +33 -0
  78. package/src/utils/quote/pricing/decimals.ts +11 -0
  79. package/src/utils/quote/pricing/estimate-amount-out.ts +36 -0
  80. package/src/utils/quote/pricing/expenses.ts +62 -0
  81. package/src/utils/quote/pricing/gas.ts +28 -0
  82. package/src/utils/quote/pumpfun/estimations.ts +206 -0
  83. package/src/utils/quote/pumpfun/estimations_amm.ts +165 -0
  84. package/src/utils/quote/pumpfun/index.ts +266 -0
  85. package/src/utils/quote/pumpfun/models.ts +163 -0
  86. package/src/utils/quote/pumpfun/utils.ts +343 -0
  87. package/src/utils/quote/raydium.ts +506 -0
  88. package/src/utils/quote/relay.ts +99 -0
  89. package/src/utils/quote/stablecoins-tokens.ts +35 -8
  90. package/src/utils/quote/utils.ts +8 -0
  91. package/src/utils/tokens/index.ts +38 -0
  92. package/dist/esm/auth/siwe.js +0 -26
  93. package/dist/esm/auth/siwe.js.map +0 -1
  94. package/dist/esm/chains.js +0 -62
  95. package/dist/esm/chains.js.map +0 -1
  96. package/dist/esm/config.js +0 -2
  97. package/dist/esm/config.js.map +0 -1
  98. package/dist/esm/constants.js +0 -106
  99. package/dist/esm/constants.js.map +0 -1
  100. package/dist/esm/core/evm/abi/erc20.js +0 -313
  101. package/dist/esm/core/evm/abi/erc20.js.map +0 -1
  102. package/dist/esm/core/evm/abi/permit2.js +0 -395
  103. package/dist/esm/core/evm/abi/permit2.js.map +0 -1
  104. package/dist/esm/core/evm/abi/single-chain-guard-limit.js +0 -768
  105. package/dist/esm/core/evm/abi/single-chain-guard-limit.js.map +0 -1
  106. package/dist/esm/core/evm/abi/source-chain-guard.js +0 -1121
  107. package/dist/esm/core/evm/abi/source-chain-guard.js.map +0 -1
  108. package/dist/esm/core/evm/cancel-order.js +0 -130
  109. package/dist/esm/core/evm/cancel-order.js.map +0 -1
  110. package/dist/esm/core/evm/chain-provider.js +0 -118
  111. package/dist/esm/core/evm/chain-provider.js.map +0 -1
  112. package/dist/esm/core/evm/connectors/hyperevm.js +0 -23
  113. package/dist/esm/core/evm/connectors/hyperevm.js.map +0 -1
  114. package/dist/esm/core/evm/cross-chain-limit-order.js +0 -43
  115. package/dist/esm/core/evm/cross-chain-limit-order.js.map +0 -1
  116. package/dist/esm/core/evm/intent-helpers.js +0 -130
  117. package/dist/esm/core/evm/intent-helpers.js.map +0 -1
  118. package/dist/esm/core/evm/intent-provider.js +0 -162
  119. package/dist/esm/core/evm/intent-provider.js.map +0 -1
  120. package/dist/esm/core/evm/order-signature.js +0 -41
  121. package/dist/esm/core/evm/order-signature.js.map +0 -1
  122. package/dist/esm/core/evm/permit2.js +0 -82
  123. package/dist/esm/core/evm/permit2.js.map +0 -1
  124. package/dist/esm/core/evm/sdk.js +0 -175
  125. package/dist/esm/core/evm/sdk.js.map +0 -1
  126. package/dist/esm/core/evm/single-chain-dca-order.js +0 -49
  127. package/dist/esm/core/evm/single-chain-dca-order.js.map +0 -1
  128. package/dist/esm/core/evm/single-chain-limit-order.js +0 -45
  129. package/dist/esm/core/evm/single-chain-limit-order.js.map +0 -1
  130. package/dist/esm/core/evm/types.js +0 -8
  131. package/dist/esm/core/evm/types.js.map +0 -1
  132. package/dist/esm/core/evm/validator.js +0 -111
  133. package/dist/esm/core/evm/validator.js.map +0 -1
  134. package/dist/esm/core/orders/api/fetch.js +0 -17
  135. package/dist/esm/core/orders/api/fetch.js.map +0 -1
  136. package/dist/esm/core/orders/api/index.js +0 -31
  137. package/dist/esm/core/orders/api/index.js.map +0 -1
  138. package/dist/esm/core/orders/common.js +0 -8
  139. package/dist/esm/core/orders/common.js.map +0 -1
  140. package/dist/esm/core/orders/cross-chain.js +0 -319
  141. package/dist/esm/core/orders/cross-chain.js.map +0 -1
  142. package/dist/esm/core/orders/dca-single-chain.js +0 -172
  143. package/dist/esm/core/orders/dca-single-chain.js.map +0 -1
  144. package/dist/esm/core/orders/single-chain.js +0 -197
  145. package/dist/esm/core/orders/single-chain.js.map +0 -1
  146. package/dist/esm/core/sdk.js +0 -86
  147. package/dist/esm/core/sdk.js.map +0 -1
  148. package/dist/esm/core/solana/cancel-order.js +0 -176
  149. package/dist/esm/core/solana/cancel-order.js.map +0 -1
  150. package/dist/esm/core/solana/client.js +0 -19
  151. package/dist/esm/core/solana/client.js.map +0 -1
  152. package/dist/esm/core/solana/cross-chain-limit-order.js +0 -18
  153. package/dist/esm/core/solana/cross-chain-limit-order.js.map +0 -1
  154. package/dist/esm/core/solana/dca/cancel-order.js +0 -61
  155. package/dist/esm/core/solana/dca/cancel-order.js.map +0 -1
  156. package/dist/esm/core/solana/dca/create-order.js +0 -82
  157. package/dist/esm/core/solana/dca/create-order.js.map +0 -1
  158. package/dist/esm/core/solana/dca/single-chain-dca-order.js +0 -23
  159. package/dist/esm/core/solana/dca/single-chain-dca-order.js.map +0 -1
  160. package/dist/esm/core/solana/dca/single-chain-limit-order.js +0 -29
  161. package/dist/esm/core/solana/dca/single-chain-limit-order.js.map +0 -1
  162. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js +0 -60
  163. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js.map +0 -1
  164. package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js +0 -90
  165. package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js.map +0 -1
  166. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js +0 -64
  167. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js.map +0 -1
  168. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js +0 -12
  169. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js.map +0 -1
  170. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js +0 -78
  171. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js.map +0 -1
  172. package/dist/esm/core/solana/generated/cross-chain/errors/index.js +0 -9
  173. package/dist/esm/core/solana/generated/cross-chain/errors/index.js.map +0 -1
  174. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js +0 -140
  175. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js.map +0 -1
  176. package/dist/esm/core/solana/generated/cross-chain/index.js +0 -13
  177. package/dist/esm/core/solana/generated/cross-chain/index.js.map +0 -1
  178. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js +0 -88
  179. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js.map +0 -1
  180. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js +0 -118
  181. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js.map +0 -1
  182. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js +0 -107
  183. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js.map +0 -1
  184. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js +0 -127
  185. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js.map +0 -1
  186. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js +0 -133
  187. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js.map +0 -1
  188. package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js +0 -170
  189. package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js.map +0 -1
  190. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js +0 -188
  191. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js.map +0 -1
  192. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js +0 -166
  193. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js.map +0 -1
  194. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js +0 -22
  195. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js.map +0 -1
  196. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js +0 -126
  197. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js.map +0 -1
  198. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js +0 -110
  199. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js.map +0 -1
  200. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js +0 -98
  201. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js.map +0 -1
  202. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js +0 -111
  203. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js.map +0 -1
  204. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js +0 -98
  205. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js.map +0 -1
  206. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js +0 -106
  207. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js.map +0 -1
  208. package/dist/esm/core/solana/generated/cross-chain/programs/index.js +0 -9
  209. package/dist/esm/core/solana/generated/cross-chain/programs/index.js.map +0 -1
  210. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js +0 -98
  211. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js.map +0 -1
  212. package/dist/esm/core/solana/generated/cross-chain/shared/index.js +0 -79
  213. package/dist/esm/core/solana/generated/cross-chain/shared/index.js.map +0 -1
  214. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js +0 -18
  215. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js.map +0 -1
  216. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdated.js +0 -18
  217. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdated.js.map +0 -1
  218. package/dist/esm/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.js +0 -24
  219. package/dist/esm/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.js.map +0 -1
  220. package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js +0 -32
  221. package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js.map +0 -1
  222. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js +0 -42
  223. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js.map +0 -1
  224. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js +0 -26
  225. package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js.map +0 -1
  226. package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js +0 -28
  227. package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js.map +0 -1
  228. package/dist/esm/core/solana/generated/cross-chain/types/executionStarted.js +0 -30
  229. package/dist/esm/core/solana/generated/cross-chain/types/executionStarted.js.map +0 -1
  230. package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js +0 -26
  231. package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js.map +0 -1
  232. package/dist/esm/core/solana/generated/cross-chain/types/guardCreated.js +0 -28
  233. package/dist/esm/core/solana/generated/cross-chain/types/guardCreated.js.map +0 -1
  234. package/dist/esm/core/solana/generated/cross-chain/types/index.js +0 -22
  235. package/dist/esm/core/solana/generated/cross-chain/types/index.js.map +0 -1
  236. package/dist/esm/core/solana/generated/cross-chain/types/orderCancelled.js +0 -18
  237. package/dist/esm/core/solana/generated/cross-chain/types/orderCancelled.js.map +0 -1
  238. package/dist/esm/core/solana/generated/cross-chain/types/orderCreated.js +0 -36
  239. package/dist/esm/core/solana/generated/cross-chain/types/orderCreated.js.map +0 -1
  240. package/dist/esm/core/solana/generated/cross-chain/types/orderFulfilled.js +0 -18
  241. package/dist/esm/core/solana/generated/cross-chain/types/orderFulfilled.js.map +0 -1
  242. package/dist/esm/core/solana/generated/cross-chain/types/tokenInSwapped.js +0 -26
  243. package/dist/esm/core/solana/generated/cross-chain/types/tokenInSwapped.js.map +0 -1
  244. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js +0 -60
  245. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js.map +0 -1
  246. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js +0 -75
  247. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js.map +0 -1
  248. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js +0 -62
  249. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js.map +0 -1
  250. package/dist/esm/core/solana/generated/single-chain/accounts/index.js +0 -12
  251. package/dist/esm/core/solana/generated/single-chain/accounts/index.js.map +0 -1
  252. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js +0 -65
  253. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js.map +0 -1
  254. package/dist/esm/core/solana/generated/single-chain/errors/index.js +0 -9
  255. package/dist/esm/core/solana/generated/single-chain/errors/index.js.map +0 -1
  256. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js +0 -101
  257. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js.map +0 -1
  258. package/dist/esm/core/solana/generated/single-chain/index.js +0 -13
  259. package/dist/esm/core/solana/generated/single-chain/index.js.map +0 -1
  260. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js +0 -88
  261. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js.map +0 -1
  262. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js +0 -84
  263. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js.map +0 -1
  264. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js +0 -84
  265. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js.map +0 -1
  266. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js +0 -121
  267. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js.map +0 -1
  268. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js +0 -172
  269. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js.map +0 -1
  270. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js +0 -163
  271. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js.map +0 -1
  272. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js +0 -168
  273. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js.map +0 -1
  274. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js +0 -146
  275. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js.map +0 -1
  276. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js +0 -146
  277. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js.map +0 -1
  278. package/dist/esm/core/solana/generated/single-chain/instructions/index.js +0 -20
  279. package/dist/esm/core/solana/generated/single-chain/instructions/index.js.map +0 -1
  280. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js +0 -126
  281. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js.map +0 -1
  282. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js +0 -98
  283. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js.map +0 -1
  284. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js +0 -111
  285. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js.map +0 -1
  286. package/dist/esm/core/solana/generated/single-chain/programs/index.js +0 -9
  287. package/dist/esm/core/solana/generated/single-chain/programs/index.js.map +0 -1
  288. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js +0 -90
  289. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js.map +0 -1
  290. package/dist/esm/core/solana/generated/single-chain/shared/index.js +0 -79
  291. package/dist/esm/core/solana/generated/single-chain/shared/index.js.map +0 -1
  292. package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js +0 -18
  293. package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js.map +0 -1
  294. package/dist/esm/core/solana/generated/single-chain/types/adminUpdated.js +0 -18
  295. package/dist/esm/core/solana/generated/single-chain/types/adminUpdated.js.map +0 -1
  296. package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js +0 -24
  297. package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js.map +0 -1
  298. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderCreated.js +0 -42
  299. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderCreated.js.map +0 -1
  300. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js +0 -18
  301. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js.map +0 -1
  302. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js +0 -30
  303. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js.map +0 -1
  304. package/dist/esm/core/solana/generated/single-chain/types/guardCreated.js +0 -26
  305. package/dist/esm/core/solana/generated/single-chain/types/guardCreated.js.map +0 -1
  306. package/dist/esm/core/solana/generated/single-chain/types/index.js +0 -18
  307. package/dist/esm/core/solana/generated/single-chain/types/index.js.map +0 -1
  308. package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js +0 -36
  309. package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js.map +0 -1
  310. package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js +0 -24
  311. package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js.map +0 -1
  312. package/dist/esm/core/solana/generated/single-chain/types/orderCancelled.js +0 -18
  313. package/dist/esm/core/solana/generated/single-chain/types/orderCancelled.js.map +0 -1
  314. package/dist/esm/core/solana/inspect.js +0 -43
  315. package/dist/esm/core/solana/inspect.js.map +0 -1
  316. package/dist/esm/core/solana/intent-helpers.js +0 -177
  317. package/dist/esm/core/solana/intent-helpers.js.map +0 -1
  318. package/dist/esm/core/solana/order-instructions.js +0 -163
  319. package/dist/esm/core/solana/order-instructions.js.map +0 -1
  320. package/dist/esm/core/solana/sdk.js +0 -220
  321. package/dist/esm/core/solana/sdk.js.map +0 -1
  322. package/dist/esm/core/solana/utils.js +0 -19
  323. package/dist/esm/core/solana/utils.js.map +0 -1
  324. package/dist/esm/core/solana/validator.js +0 -28
  325. package/dist/esm/core/solana/validator.js.map +0 -1
  326. package/dist/esm/core/sui/cancel.js +0 -36
  327. package/dist/esm/core/sui/cancel.js.map +0 -1
  328. package/dist/esm/core/sui/client.js +0 -3
  329. package/dist/esm/core/sui/client.js.map +0 -1
  330. package/dist/esm/core/sui/cross-chain-limit-order.js +0 -26
  331. package/dist/esm/core/sui/cross-chain-limit-order.js.map +0 -1
  332. package/dist/esm/core/sui/intent-helpers.js +0 -136
  333. package/dist/esm/core/sui/intent-helpers.js.map +0 -1
  334. package/dist/esm/core/sui/order-transaction.js +0 -58
  335. package/dist/esm/core/sui/order-transaction.js.map +0 -1
  336. package/dist/esm/core/sui/sdk.js +0 -119
  337. package/dist/esm/core/sui/sdk.js.map +0 -1
  338. package/dist/esm/core/sui/single-chain-dca-order.js +0 -99
  339. package/dist/esm/core/sui/single-chain-dca-order.js.map +0 -1
  340. package/dist/esm/core/sui/single-chain-limit-order.js +0 -103
  341. package/dist/esm/core/sui/single-chain-limit-order.js.map +0 -1
  342. package/dist/esm/core/sui/validator.js +0 -31
  343. package/dist/esm/core/sui/validator.js.map +0 -1
  344. package/dist/esm/errors/index.js +0 -68
  345. package/dist/esm/errors/index.js.map +0 -1
  346. package/dist/esm/index.js +0 -38
  347. package/dist/esm/index.js.map +0 -1
  348. package/dist/esm/types/api.js +0 -7
  349. package/dist/esm/types/api.js.map +0 -1
  350. package/dist/esm/types/intent.js +0 -2
  351. package/dist/esm/types/intent.js.map +0 -1
  352. package/dist/esm/utils/base-validator.js +0 -91
  353. package/dist/esm/utils/base-validator.js.map +0 -1
  354. package/dist/esm/utils/defillama.js +0 -104
  355. package/dist/esm/utils/defillama.js.map +0 -1
  356. package/dist/esm/utils/logger.js +0 -109
  357. package/dist/esm/utils/logger.js.map +0 -1
  358. package/dist/esm/utils/order-validator.js +0 -112
  359. package/dist/esm/utils/order-validator.js.map +0 -1
  360. package/dist/esm/utils/parsers.js +0 -28
  361. package/dist/esm/utils/parsers.js.map +0 -1
  362. package/dist/esm/utils/quote/aftermath.js +0 -15
  363. package/dist/esm/utils/quote/aftermath.js.map +0 -1
  364. package/dist/esm/utils/quote/aggregator.js +0 -254
  365. package/dist/esm/utils/quote/aggregator.js.map +0 -1
  366. package/dist/esm/utils/quote/jupiter.js +0 -31
  367. package/dist/esm/utils/quote/jupiter.js.map +0 -1
  368. package/dist/esm/utils/quote/liquidswap.js +0 -22
  369. package/dist/esm/utils/quote/liquidswap.js.map +0 -1
  370. package/dist/esm/utils/quote/paraswap.js +0 -67
  371. package/dist/esm/utils/quote/paraswap.js.map +0 -1
  372. package/dist/esm/utils/quote/stablecoins-tokens.js +0 -13
  373. package/dist/esm/utils/quote/stablecoins-tokens.js.map +0 -1
  374. package/dist/esm/utils/type-utils.js +0 -2
  375. package/dist/esm/utils/type-utils.js.map +0 -1
  376. package/dist/types/auth/siwe.d.ts +0 -13
  377. package/dist/types/auth/siwe.d.ts.map +0 -1
  378. package/dist/types/chains.d.ts +0 -62
  379. package/dist/types/chains.d.ts.map +0 -1
  380. package/dist/types/config.d.ts +0 -21
  381. package/dist/types/config.d.ts.map +0 -1
  382. package/dist/types/constants.d.ts +0 -43
  383. package/dist/types/constants.d.ts.map +0 -1
  384. package/dist/types/core/evm/abi/erc20.d.ts +0 -240
  385. package/dist/types/core/evm/abi/erc20.d.ts.map +0 -1
  386. package/dist/types/core/evm/abi/permit2.d.ts +0 -304
  387. package/dist/types/core/evm/abi/permit2.d.ts.map +0 -1
  388. package/dist/types/core/evm/abi/single-chain-guard-limit.d.ts +0 -596
  389. package/dist/types/core/evm/abi/single-chain-guard-limit.d.ts.map +0 -1
  390. package/dist/types/core/evm/abi/source-chain-guard.d.ts +0 -877
  391. package/dist/types/core/evm/abi/source-chain-guard.d.ts.map +0 -1
  392. package/dist/types/core/evm/cancel-order.d.ts +0 -28
  393. package/dist/types/core/evm/cancel-order.d.ts.map +0 -1
  394. package/dist/types/core/evm/chain-provider.d.ts +0 -62338
  395. package/dist/types/core/evm/chain-provider.d.ts.map +0 -1
  396. package/dist/types/core/evm/connectors/hyperevm.d.ts +0 -38
  397. package/dist/types/core/evm/connectors/hyperevm.d.ts.map +0 -1
  398. package/dist/types/core/evm/cross-chain-limit-order.d.ts +0 -22
  399. package/dist/types/core/evm/cross-chain-limit-order.d.ts.map +0 -1
  400. package/dist/types/core/evm/intent-helpers.d.ts +0 -105
  401. package/dist/types/core/evm/intent-helpers.d.ts.map +0 -1
  402. package/dist/types/core/evm/intent-provider.d.ts +0 -19
  403. package/dist/types/core/evm/intent-provider.d.ts.map +0 -1
  404. package/dist/types/core/evm/order-signature.d.ts +0 -22
  405. package/dist/types/core/evm/order-signature.d.ts.map +0 -1
  406. package/dist/types/core/evm/permit2.d.ts +0 -261
  407. package/dist/types/core/evm/permit2.d.ts.map +0 -1
  408. package/dist/types/core/evm/sdk.d.ts +0 -63
  409. package/dist/types/core/evm/sdk.d.ts.map +0 -1
  410. package/dist/types/core/evm/single-chain-dca-order.d.ts +0 -26
  411. package/dist/types/core/evm/single-chain-dca-order.d.ts.map +0 -1
  412. package/dist/types/core/evm/single-chain-limit-order.d.ts +0 -23
  413. package/dist/types/core/evm/single-chain-limit-order.d.ts.map +0 -1
  414. package/dist/types/core/evm/types.d.ts +0 -8
  415. package/dist/types/core/evm/types.d.ts.map +0 -1
  416. package/dist/types/core/evm/validator.d.ts +0 -23
  417. package/dist/types/core/evm/validator.d.ts.map +0 -1
  418. package/dist/types/core/orders/api/fetch.d.ts +0 -3
  419. package/dist/types/core/orders/api/fetch.d.ts.map +0 -1
  420. package/dist/types/core/orders/api/index.d.ts +0 -8
  421. package/dist/types/core/orders/api/index.d.ts.map +0 -1
  422. package/dist/types/core/orders/common.d.ts +0 -12
  423. package/dist/types/core/orders/common.d.ts.map +0 -1
  424. package/dist/types/core/orders/cross-chain.d.ts +0 -125
  425. package/dist/types/core/orders/cross-chain.d.ts.map +0 -1
  426. package/dist/types/core/orders/dca-single-chain.d.ts +0 -47
  427. package/dist/types/core/orders/dca-single-chain.d.ts.map +0 -1
  428. package/dist/types/core/orders/single-chain.d.ts +0 -47
  429. package/dist/types/core/orders/single-chain.d.ts.map +0 -1
  430. package/dist/types/core/sdk.d.ts +0 -30
  431. package/dist/types/core/sdk.d.ts.map +0 -1
  432. package/dist/types/core/solana/cancel-order.d.ts +0 -18
  433. package/dist/types/core/solana/cancel-order.d.ts.map +0 -1
  434. package/dist/types/core/solana/client.d.ts +0 -11
  435. package/dist/types/core/solana/client.d.ts.map +0 -1
  436. package/dist/types/core/solana/cross-chain-limit-order.d.ts +0 -9
  437. package/dist/types/core/solana/cross-chain-limit-order.d.ts.map +0 -1
  438. package/dist/types/core/solana/dca/cancel-order.d.ts +0 -5
  439. package/dist/types/core/solana/dca/cancel-order.d.ts.map +0 -1
  440. package/dist/types/core/solana/dca/create-order.d.ts +0 -8
  441. package/dist/types/core/solana/dca/create-order.d.ts.map +0 -1
  442. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts +0 -14
  443. package/dist/types/core/solana/dca/single-chain-dca-order.d.ts.map +0 -1
  444. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts +0 -19
  445. package/dist/types/core/solana/dca/single-chain-limit-order.d.ts.map +0 -1
  446. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts +0 -40
  447. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts.map +0 -1
  448. package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts +0 -110
  449. package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts.map +0 -1
  450. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts +0 -52
  451. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts.map +0 -1
  452. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts +0 -12
  453. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts.map +0 -1
  454. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts +0 -92
  455. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts.map +0 -1
  456. package/dist/types/core/solana/generated/cross-chain/errors/index.d.ts +0 -9
  457. package/dist/types/core/solana/generated/cross-chain/errors/index.d.ts.map +0 -1
  458. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts +0 -97
  459. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts.map +0 -1
  460. package/dist/types/core/solana/generated/cross-chain/index.d.ts +0 -13
  461. package/dist/types/core/solana/generated/cross-chain/index.d.ts.map +0 -1
  462. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts +0 -56
  463. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts.map +0 -1
  464. package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts +0 -124
  465. package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts.map +0 -1
  466. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts +0 -108
  467. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts.map +0 -1
  468. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts +0 -131
  469. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts.map +0 -1
  470. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts +0 -91
  471. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts.map +0 -1
  472. package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts +0 -130
  473. package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts.map +0 -1
  474. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts +0 -137
  475. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts.map +0 -1
  476. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts +0 -122
  477. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts.map +0 -1
  478. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts +0 -22
  479. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts.map +0 -1
  480. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts +0 -86
  481. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts.map +0 -1
  482. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts +0 -105
  483. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts.map +0 -1
  484. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts +0 -61
  485. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts.map +0 -1
  486. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts +0 -68
  487. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts.map +0 -1
  488. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts +0 -85
  489. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts.map +0 -1
  490. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts +0 -95
  491. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts.map +0 -1
  492. package/dist/types/core/solana/generated/cross-chain/programs/index.d.ts +0 -9
  493. package/dist/types/core/solana/generated/cross-chain/programs/index.d.ts.map +0 -1
  494. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts +0 -69
  495. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts.map +0 -1
  496. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts +0 -52
  497. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts.map +0 -1
  498. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts +0 -16
  499. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts.map +0 -1
  500. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts +0 -16
  501. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts.map +0 -1
  502. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts +0 -17
  503. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts.map +0 -1
  504. package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts +0 -28
  505. package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts.map +0 -1
  506. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts +0 -38
  507. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts.map +0 -1
  508. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts +0 -18
  509. package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts.map +0 -1
  510. package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts +0 -24
  511. package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts.map +0 -1
  512. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts +0 -26
  513. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts.map +0 -1
  514. package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts +0 -18
  515. package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts.map +0 -1
  516. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts +0 -19
  517. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts.map +0 -1
  518. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts +0 -22
  519. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts.map +0 -1
  520. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts +0 -16
  521. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts.map +0 -1
  522. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts +0 -32
  523. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts.map +0 -1
  524. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts +0 -16
  525. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts.map +0 -1
  526. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts +0 -22
  527. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts.map +0 -1
  528. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts +0 -40
  529. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts.map +0 -1
  530. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts +0 -99
  531. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts.map +0 -1
  532. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts +0 -48
  533. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts.map +0 -1
  534. package/dist/types/core/solana/generated/single-chain/accounts/index.d.ts +0 -12
  535. package/dist/types/core/solana/generated/single-chain/accounts/index.d.ts.map +0 -1
  536. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts +0 -79
  537. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts.map +0 -1
  538. package/dist/types/core/solana/generated/single-chain/errors/index.d.ts +0 -9
  539. package/dist/types/core/solana/generated/single-chain/errors/index.d.ts.map +0 -1
  540. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts +0 -71
  541. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts.map +0 -1
  542. package/dist/types/core/solana/generated/single-chain/index.d.ts +0 -13
  543. package/dist/types/core/solana/generated/single-chain/index.d.ts.map +0 -1
  544. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts +0 -56
  545. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts.map +0 -1
  546. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts +0 -72
  547. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts.map +0 -1
  548. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts +0 -72
  549. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts.map +0 -1
  550. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts +0 -91
  551. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts.map +0 -1
  552. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts +0 -134
  553. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts.map +0 -1
  554. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts +0 -107
  555. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts.map +0 -1
  556. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts +0 -126
  557. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts.map +0 -1
  558. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts +0 -179
  559. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts.map +0 -1
  560. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts +0 -179
  561. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts.map +0 -1
  562. package/dist/types/core/solana/generated/single-chain/instructions/index.d.ts +0 -20
  563. package/dist/types/core/solana/generated/single-chain/instructions/index.d.ts.map +0 -1
  564. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts +0 -86
  565. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts.map +0 -1
  566. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts +0 -61
  567. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts.map +0 -1
  568. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts +0 -68
  569. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts.map +0 -1
  570. package/dist/types/core/solana/generated/single-chain/programs/index.d.ts +0 -9
  571. package/dist/types/core/solana/generated/single-chain/programs/index.d.ts.map +0 -1
  572. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts +0 -63
  573. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts.map +0 -1
  574. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts +0 -52
  575. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts.map +0 -1
  576. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts +0 -16
  577. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts.map +0 -1
  578. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts +0 -16
  579. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts.map +0 -1
  580. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts +0 -17
  581. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts.map +0 -1
  582. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts +0 -38
  583. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts.map +0 -1
  584. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts +0 -16
  585. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts.map +0 -1
  586. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts +0 -26
  587. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts.map +0 -1
  588. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts +0 -18
  589. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts.map +0 -1
  590. package/dist/types/core/solana/generated/single-chain/types/index.d.ts +0 -18
  591. package/dist/types/core/solana/generated/single-chain/types/index.d.ts.map +0 -1
  592. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts +0 -32
  593. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts.map +0 -1
  594. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts +0 -20
  595. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts.map +0 -1
  596. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts +0 -16
  597. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts.map +0 -1
  598. package/dist/types/core/solana/inspect.d.ts +0 -14
  599. package/dist/types/core/solana/inspect.d.ts.map +0 -1
  600. package/dist/types/core/solana/intent-helpers.d.ts +0 -120
  601. package/dist/types/core/solana/intent-helpers.d.ts.map +0 -1
  602. package/dist/types/core/solana/order-instructions.d.ts +0 -16
  603. package/dist/types/core/solana/order-instructions.d.ts.map +0 -1
  604. package/dist/types/core/solana/sdk.d.ts +0 -73
  605. package/dist/types/core/solana/sdk.d.ts.map +0 -1
  606. package/dist/types/core/solana/utils.d.ts +0 -7
  607. package/dist/types/core/solana/utils.d.ts.map +0 -1
  608. package/dist/types/core/solana/validator.d.ts +0 -11
  609. package/dist/types/core/solana/validator.d.ts.map +0 -1
  610. package/dist/types/core/sui/cancel.d.ts +0 -3
  611. package/dist/types/core/sui/cancel.d.ts.map +0 -1
  612. package/dist/types/core/sui/client.d.ts +0 -3
  613. package/dist/types/core/sui/client.d.ts.map +0 -1
  614. package/dist/types/core/sui/cross-chain-limit-order.d.ts +0 -14
  615. package/dist/types/core/sui/cross-chain-limit-order.d.ts.map +0 -1
  616. package/dist/types/core/sui/intent-helpers.d.ts +0 -89
  617. package/dist/types/core/sui/intent-helpers.d.ts.map +0 -1
  618. package/dist/types/core/sui/order-transaction.d.ts +0 -11
  619. package/dist/types/core/sui/order-transaction.d.ts.map +0 -1
  620. package/dist/types/core/sui/sdk.d.ts +0 -57
  621. package/dist/types/core/sui/sdk.d.ts.map +0 -1
  622. package/dist/types/core/sui/single-chain-dca-order.d.ts +0 -22
  623. package/dist/types/core/sui/single-chain-dca-order.d.ts.map +0 -1
  624. package/dist/types/core/sui/single-chain-limit-order.d.ts +0 -26
  625. package/dist/types/core/sui/single-chain-limit-order.d.ts.map +0 -1
  626. package/dist/types/core/sui/validator.d.ts +0 -11
  627. package/dist/types/core/sui/validator.d.ts.map +0 -1
  628. package/dist/types/errors/index.d.ts +0 -20
  629. package/dist/types/errors/index.d.ts.map +0 -1
  630. package/dist/types/index.d.ts +0 -42
  631. package/dist/types/index.d.ts.map +0 -1
  632. package/dist/types/types/api.d.ts +0 -65
  633. package/dist/types/types/api.d.ts.map +0 -1
  634. package/dist/types/types/intent.d.ts +0 -136
  635. package/dist/types/types/intent.d.ts.map +0 -1
  636. package/dist/types/utils/base-validator.d.ts +0 -46
  637. package/dist/types/utils/base-validator.d.ts.map +0 -1
  638. package/dist/types/utils/defillama.d.ts +0 -61
  639. package/dist/types/utils/defillama.d.ts.map +0 -1
  640. package/dist/types/utils/logger.d.ts +0 -35
  641. package/dist/types/utils/logger.d.ts.map +0 -1
  642. package/dist/types/utils/order-validator.d.ts +0 -64
  643. package/dist/types/utils/order-validator.d.ts.map +0 -1
  644. package/dist/types/utils/parsers.d.ts +0 -6
  645. package/dist/types/utils/parsers.d.ts.map +0 -1
  646. package/dist/types/utils/quote/aftermath.d.ts +0 -9
  647. package/dist/types/utils/quote/aftermath.d.ts.map +0 -1
  648. package/dist/types/utils/quote/aggregator.d.ts +0 -64
  649. package/dist/types/utils/quote/aggregator.d.ts.map +0 -1
  650. package/dist/types/utils/quote/jupiter.d.ts +0 -16
  651. package/dist/types/utils/quote/jupiter.d.ts.map +0 -1
  652. package/dist/types/utils/quote/liquidswap.d.ts +0 -16
  653. package/dist/types/utils/quote/liquidswap.d.ts.map +0 -1
  654. package/dist/types/utils/quote/paraswap.d.ts +0 -23
  655. package/dist/types/utils/quote/paraswap.d.ts.map +0 -1
  656. package/dist/types/utils/quote/stablecoins-tokens.d.ts +0 -11
  657. package/dist/types/utils/quote/stablecoins-tokens.d.ts.map +0 -1
  658. package/dist/types/utils/type-utils.d.ts +0 -2
  659. package/dist/types/utils/type-utils.d.ts.map +0 -1
  660. package/src/core/solana/cross-chain-limit-order.ts +0 -24
@@ -1,10 +1,29 @@
1
+ import type { Address, Hex, TypedDataDefinition } from 'viem';
1
2
  import type { SupportedEvmChain } from '../../chains.js';
2
- import type { SingleChainUserIntentRequest, CrossChainUserIntentRequest, DcaSingleChainUserIntentRequest } from '../../types/intent.js';
3
+ import type {
4
+ SingleChainUserIntentRequest,
5
+ CrossChainUserIntentRequest,
6
+ DcaSingleChainUserIntentRequest,
7
+ DcaCrossChainUserIntentRequest,
8
+ } from '../../types/intent.js';
3
9
  import type { SingleChainOrder } from '../orders/single-chain.js';
4
10
  import type { CrossChainOrder } from '../orders/cross-chain.js';
5
11
  import type { DcaSingleChainOrder } from '../orders/dca-single-chain.js';
6
- import type { ExtraTransfer } from '../orders/common.js';
7
- import { getEVMCrossChainOrderTypedData, getEVMSingleChainOrderTypedData, getEVMDcaSingleChainOrderTypedData } from './order-signature.js';
12
+ import type { ExtraTransfer, StopLossType } from '../orders/common.js';
13
+ import {
14
+ getEVMCrossChainOrderTypedData,
15
+ getEVMSingleChainOrderTypedData,
16
+ getEVMDcaSingleChainOrderTypedData,
17
+ } from './order-signature.js';
18
+ import {
19
+ CROSS_CHAIN_DCA_PERMIT2_TYPES,
20
+ PERMIT2_DOMAIN,
21
+ type CrossChainDcaPermitTransferFrom,
22
+ } from './permit2.js';
23
+ import { EVMIntentProvider } from './intent-provider.js';
24
+ import { DCA_CROSS_CHAIN_GUARD_ADDRESSES, EVM_ZERO_SIGNATURE } from '../../constants.js';
25
+ import { generateExecutionDetailsHash } from '../../utils/generate-execution-details-hash.js';
26
+ import { Parsers } from '../../utils/parsers.js';
8
27
 
9
28
  export type CreateEvmSingleChainLimitOrderIntentParams = {
10
29
  user: `0x${string}`;
@@ -18,8 +37,9 @@ export type CreateEvmSingleChainLimitOrderIntentParams = {
18
37
  deadline: number;
19
38
  nonce?: string;
20
39
  signature?: string;
21
- stopLossMaxOut?: bigint;
22
40
  takeProfitMinOut?: bigint;
41
+ stopLossType?: StopLossType;
42
+ stopLossTriggerPrice?: string;
23
43
  };
24
44
 
25
45
  export type CreateEvmSingleChainDcaOrderIntentParams = {
@@ -53,8 +73,9 @@ export type CreateEvmCrossChainOrderIntentParams = {
53
73
  extraTransfers?: ExtraTransfer[];
54
74
  nonce?: string;
55
75
  signature?: string;
56
- stopLossMaxOut?: bigint;
57
76
  takeProfitMinOut?: bigint;
77
+ stopLossType?: StopLossType;
78
+ stopLossTriggerPrice?: string;
58
79
  };
59
80
 
60
81
  /**
@@ -63,7 +84,7 @@ export type CreateEvmCrossChainOrderIntentParams = {
63
84
  * @returns Formatted intent request ready to send to auctioneer
64
85
  */
65
86
  export function createEvmSingleChainLimitOrderIntentRequest(
66
- params: CreateEvmSingleChainLimitOrderIntentParams
87
+ params: CreateEvmSingleChainLimitOrderIntentParams,
67
88
  ): SingleChainUserIntentRequest {
68
89
  const order: SingleChainOrder = {
69
90
  user: params.user,
@@ -75,8 +96,9 @@ export function createEvmSingleChainLimitOrderIntentRequest(
75
96
  destinationAddress: params.destinationAddress,
76
97
  extraTransfers: params.extraTransfers,
77
98
  deadline: params.deadline,
78
- stopLossMaxOut: params.stopLossMaxOut,
79
99
  takeProfitMinOut: params.takeProfitMinOut,
100
+ stopLossType: params.stopLossType,
101
+ stopLossTriggerPrice: params.stopLossTriggerPrice,
80
102
  } as SingleChainOrder;
81
103
 
82
104
  return {
@@ -84,7 +106,7 @@ export function createEvmSingleChainLimitOrderIntentRequest(
84
106
  chainSpecificData: {
85
107
  EVM: {
86
108
  nonce: params.nonce || String(Math.floor(Math.random() * 10000000)),
87
- signature: params.signature || '0x0000000000000000000000000000000000000000000000000000000000000000',
109
+ signature: params.signature || EVM_ZERO_SIGNATURE,
88
110
  },
89
111
  },
90
112
  };
@@ -96,7 +118,7 @@ export function createEvmSingleChainLimitOrderIntentRequest(
96
118
  * @returns Formatted intent request ready to send to auctioneer
97
119
  */
98
120
  export function createEvmSingleChainDcaOrderIntentRequest(
99
- params: CreateEvmSingleChainDcaOrderIntentParams
121
+ params: CreateEvmSingleChainDcaOrderIntentParams,
100
122
  ): DcaSingleChainUserIntentRequest {
101
123
  const order: DcaSingleChainOrder = {
102
124
  user: params.user,
@@ -118,7 +140,7 @@ export function createEvmSingleChainDcaOrderIntentRequest(
118
140
  chainSpecificData: {
119
141
  EVM: {
120
142
  nonce: params.nonce || String(Math.floor(Math.random() * 10000000)),
121
- signature: params.signature || '0x0000000000000000000000000000000000000000000000000000000000000000',
143
+ signature: params.signature || EVM_ZERO_SIGNATURE,
122
144
  },
123
145
  },
124
146
  };
@@ -130,18 +152,22 @@ export function createEvmSingleChainDcaOrderIntentRequest(
130
152
  * @returns Formatted intent request ready to send to auctioneer
131
153
  */
132
154
  export function createEvmCrossChainOrderIntentRequest(
133
- params: CreateEvmCrossChainOrderIntentParams
155
+ params: CreateEvmCrossChainOrderIntentParams,
134
156
  ): CrossChainUserIntentRequest {
135
- const executionDetails = JSON.stringify({
157
+ const executionDetails = {
136
158
  destChainId: params.destinationChainId,
137
159
  tokenOut: params.destinationTokenAddress,
138
- amountOutMin: params.destinationTokenMinAmount || 1n,
160
+ amountOutMin: params.destinationTokenMinAmount?.toString() || '1',
139
161
  destinationAddress: params.destinationAddress,
140
162
  extraTransfers: params.extraTransfers,
141
- });
163
+ takeProfitMinOut: params.takeProfitMinOut?.toString(),
164
+ stopLossType: params.stopLossType,
165
+ stopLossTriggerPrice: params.stopLossTriggerPrice,
166
+ };
167
+ const executionDetailsString = JSON.stringify(executionDetails, Parsers.bigIntReplacer);
142
168
 
143
- // Calculate execution details hash
144
- const executionDetailsHash = `0x${require('crypto').createHash('sha256').update(executionDetails).digest('hex')}` as `0x${string}`;
169
+ // Hash the exact string we send; the auctioneer recomputes sha256 over it and rejects on mismatch
170
+ const executionDetailsHash = generateExecutionDetailsHash(executionDetailsString);
145
171
 
146
172
  const genericData = {
147
173
  user: params.user,
@@ -150,19 +176,17 @@ export function createEvmCrossChainOrderIntentRequest(
150
176
  amountIn: params.sourceTokenAmount,
151
177
  minStablecoinsAmount: params.minStablecoinAmount || 1n,
152
178
  deadline: params.deadline,
153
- executionDetailsHash,
179
+ executionDetailsHash: executionDetailsHash as `0x${string}`,
154
180
  extraTransfers: params.extraTransfers,
155
- stopLossMaxOut: params.stopLossMaxOut,
156
- takeProfitMinOut: params.takeProfitMinOut,
157
181
  };
158
182
 
159
183
  return {
160
184
  genericData,
161
- executionDetails,
185
+ executionDetails: executionDetailsString,
162
186
  chainSpecificData: {
163
187
  EVM: {
164
188
  nonce: params.nonce || String(Math.floor(Math.random() * 10000000)),
165
- signature: params.signature || '0x0000000000000000000000000000000000000000000000000000000000000000',
189
+ signature: params.signature || EVM_ZERO_SIGNATURE,
166
190
  },
167
191
  },
168
192
  };
@@ -202,3 +226,120 @@ export async function generateEvmCrossChainOrderTypedData(order: CrossChainOrder
202
226
  export function generateEvmRandomNonce(): string {
203
227
  return String(Math.floor(Math.random() * 10000000));
204
228
  }
229
+
230
+ export type CreateEvmCrossChainDcaOrderIntentParams = {
231
+ user: `0x${string}`;
232
+ sourceChainId: SupportedEvmChain;
233
+ sourceTokenAddress: string;
234
+ destinationChainId: number;
235
+ destinationTokenAddress: string;
236
+ destinationTokenMinAmount?: bigint;
237
+ destinationAddress: string;
238
+ minStablecoinAmount?: bigint;
239
+ deadline: number;
240
+ startTime: number;
241
+ amountInPerInterval: bigint;
242
+ totalIntervals: number;
243
+ intervalDuration: number;
244
+ extraTransfers?: ExtraTransfer[];
245
+ nonce?: string;
246
+ signature?: string;
247
+ };
248
+
249
+ /**
250
+ * Builds the cross-chain DCA execution-details string and its SHA-256 hash.
251
+ * Both the wire payload and the EIP-712 witness must reference the SAME string/hash, so this
252
+ * is the single source of truth — the auctioneer recomputes sha256 over the string it receives.
253
+ */
254
+ function buildCrossChainDcaExecutionDetails(params: CreateEvmCrossChainDcaOrderIntentParams): {
255
+ executionDetailsString: string;
256
+ executionDetailsHash: string;
257
+ } {
258
+ const executionDetails = {
259
+ destChainId: params.destinationChainId,
260
+ tokenOut: params.destinationTokenAddress,
261
+ amountOutMin: params.destinationTokenMinAmount?.toString() || '1',
262
+ destinationAddress: params.destinationAddress,
263
+ extraTransfers: params.extraTransfers,
264
+ };
265
+ const executionDetailsString = JSON.stringify(executionDetails, Parsers.bigIntReplacer);
266
+ return { executionDetailsString, executionDetailsHash: generateExecutionDetailsHash(executionDetailsString) };
267
+ }
268
+
269
+ /**
270
+ * Creates an EVM cross-chain DCA order intent request, ready to POST to
271
+ * `/user_intent/cross_chain/dca_order`. Pass `nonce`/`signature` from
272
+ * {@link getEVMCrossChainDcaOrderTypedData} for an executable order.
273
+ */
274
+ export function createEvmCrossChainDcaOrderIntentRequest(
275
+ params: CreateEvmCrossChainDcaOrderIntentParams,
276
+ ): DcaCrossChainUserIntentRequest {
277
+ const { executionDetailsString, executionDetailsHash } = buildCrossChainDcaExecutionDetails(params);
278
+
279
+ return {
280
+ genericData: {
281
+ user: params.user,
282
+ srcChainId: params.sourceChainId,
283
+ tokenIn: params.sourceTokenAddress,
284
+ minStablecoinsAmount: params.minStablecoinAmount || 1n,
285
+ deadline: params.deadline,
286
+ executionDetailsHash: executionDetailsHash as `0x${string}`,
287
+ startTime: params.startTime,
288
+ amountInPerInterval: params.amountInPerInterval,
289
+ totalIntervals: params.totalIntervals,
290
+ intervalDuration: params.intervalDuration,
291
+ },
292
+ executionDetails: executionDetailsString,
293
+ chainSpecificData: {
294
+ EVM: {
295
+ nonce: params.nonce || generateEvmRandomNonce(),
296
+ signature: params.signature || EVM_ZERO_SIGNATURE,
297
+ },
298
+ },
299
+ };
300
+ }
301
+
302
+ /**
303
+ * Generates the EIP-712 typed data (and nonce) for a cross-chain DCA order's Permit2 witness.
304
+ * Sign `orderTypedData`, then pass the resulting `nonce`/`signature` into
305
+ * {@link createEvmCrossChainDcaOrderIntentRequest} — both share the same execution-details hash.
306
+ */
307
+ export function getEVMCrossChainDcaOrderTypedData(
308
+ params: CreateEvmCrossChainDcaOrderIntentParams,
309
+ providedNonce?: bigint,
310
+ ): { orderTypedData: TypedDataDefinition; nonce: bigint } {
311
+ const { executionDetailsHash } = buildCrossChainDcaExecutionDetails(params);
312
+ const nonce = providedNonce ?? EVMIntentProvider.getRandomNonce();
313
+ const totalAmountIn = params.amountInPerInterval * BigInt(params.totalIntervals);
314
+ const spender = DCA_CROSS_CHAIN_GUARD_ADDRESSES[params.sourceChainId] as Address;
315
+
316
+ const message: CrossChainDcaPermitTransferFrom = {
317
+ permitted: { token: params.sourceTokenAddress as Address, amount: totalAmountIn },
318
+ spender,
319
+ nonce,
320
+ deadline: BigInt(params.deadline),
321
+ witness: {
322
+ user: params.user as Address,
323
+ tokenIn: params.sourceTokenAddress as Address,
324
+ srcChainId: params.sourceChainId,
325
+ startTime: params.startTime,
326
+ deadline: params.deadline,
327
+ totalIntervals: params.totalIntervals,
328
+ intervalDuration: params.intervalDuration,
329
+ amountInPerInterval: params.amountInPerInterval,
330
+ minStablecoinsAmountPerInterval: params.minStablecoinAmount || 1n,
331
+ executionDetailsHash: executionDetailsHash as Hex,
332
+ nonce,
333
+ },
334
+ };
335
+
336
+ return {
337
+ orderTypedData: {
338
+ domain: PERMIT2_DOMAIN(params.sourceChainId),
339
+ types: CROSS_CHAIN_DCA_PERMIT2_TYPES,
340
+ primaryType: 'PermitWitnessTransferFrom',
341
+ message,
342
+ },
343
+ nonce,
344
+ };
345
+ }
@@ -6,6 +6,7 @@ import {
6
6
  CROSS_CHAIN_GUARD_ADDRESSES,
7
7
  MAX_UINT_32,
8
8
  DCA_SINGLE_CHAIN_GUARD_ADDRESSES,
9
+ normalizeNativeEvmTokenForSigning,
9
10
  } from '../../constants.js';
10
11
  import {
11
12
  getEVMCrossChainOrderTypedData,
@@ -103,14 +104,14 @@ export class EVMIntentProvider {
103
104
  const spender = SINGLE_CHAIN_GUARD_ADDRESSES[order.chainId as SupportedEvmChain] as Address;
104
105
 
105
106
  const requestedOutput: TransferData = {
106
- token: order.tokenOut as Address,
107
+ token: normalizeNativeEvmTokenForSigning(order.tokenOut) as Address,
107
108
  receiver: order.destinationAddress as Address,
108
109
  amount: order.amountOutMin,
109
110
  };
110
111
 
111
112
  const extraTransfers: TransferData[] =
112
113
  order.extraTransfers?.map((transfer) => ({
113
- token: transfer.token as Address,
114
+ token: normalizeNativeEvmTokenForSigning(transfer.token) as Address,
114
115
  receiver: transfer.receiver as Address,
115
116
  amount: transfer.amount,
116
117
  })) || [];
@@ -166,14 +167,14 @@ export class EVMIntentProvider {
166
167
  const spender = DCA_SINGLE_CHAIN_GUARD_ADDRESSES[order.chainId as SupportedEvmChain] as Address;
167
168
 
168
169
  const requestedOutput: TransferData = {
169
- token: order.tokenOut as Address,
170
+ token: normalizeNativeEvmTokenForSigning(order.tokenOut) as Address,
170
171
  receiver: order.destinationAddress as Address,
171
172
  amount: BigInt(order.amountOutMin),
172
173
  };
173
174
 
174
175
  const extraTransfers: TransferData[] =
175
176
  order.extraTransfers?.map((transfer) => ({
176
- token: transfer.token as Address,
177
+ token: normalizeNativeEvmTokenForSigning(transfer.token) as Address,
177
178
  receiver: transfer.receiver as Address,
178
179
  amount: transfer.amount,
179
180
  })) || [];
@@ -174,3 +174,39 @@ export const DCA_SINGLE_CHAIN_PERMIT2_TYPES = {
174
174
  { name: 'witness', type: 'SingleChainDcaOrder' },
175
175
  ],
176
176
  } as const;
177
+
178
+ export type CrossChainDcaPermitTransferFrom = {
179
+ permitted: TokenPermissions;
180
+ spender: Address;
181
+ nonce: bigint;
182
+ deadline: bigint;
183
+ witness: DcaOrderInfo;
184
+ };
185
+
186
+ // Cross-chain DCA witness — mirrors the auctioneer's
187
+ // `DcaOrderInfo(address user,address tokenIn,uint32 srcChainId,uint32 startTime,uint32 deadline,
188
+ // uint24 totalIntervals,uint32 intervalDuration,uint128 amountInPerInterval,
189
+ // uint128 minStablecoinsAmountPerInterval,bytes32 executionDetailsHash,uint256 nonce)`.
190
+ export const CROSS_CHAIN_DCA_PERMIT2_TYPES = {
191
+ TokenPermissions: TOKEN_PERMISSIONS_TYPE,
192
+ DcaOrderInfo: [
193
+ { name: 'user', type: 'address' },
194
+ { name: 'tokenIn', type: 'address' },
195
+ { name: 'srcChainId', type: 'uint32' },
196
+ { name: 'startTime', type: 'uint32' },
197
+ { name: 'deadline', type: 'uint32' },
198
+ { name: 'totalIntervals', type: 'uint24' },
199
+ { name: 'intervalDuration', type: 'uint32' },
200
+ { name: 'amountInPerInterval', type: 'uint128' },
201
+ { name: 'minStablecoinsAmountPerInterval', type: 'uint128' },
202
+ { name: 'executionDetailsHash', type: 'bytes32' },
203
+ { name: 'nonce', type: 'uint256' },
204
+ ],
205
+ PermitWitnessTransferFrom: [
206
+ { name: 'permitted', type: 'TokenPermissions' },
207
+ { name: 'spender', type: 'address' },
208
+ { name: 'nonce', type: 'uint256' },
209
+ { name: 'deadline', type: 'uint256' },
210
+ { name: 'witness', type: 'DcaOrderInfo' },
211
+ ],
212
+ } as const;
@@ -1,20 +1,20 @@
1
- import { ethers, type TypedDataField, type AddressLike, type BigNumberish, type BytesLike } from "ethers";
2
- import { SignatureTransfer } from "@uniswap/permit2-sdk";
3
- import { TransferDataType, type TransferDataStruct } from "./types.js";
1
+ import { ethers, type TypedDataField, type AddressLike, type BigNumberish, type BytesLike } from 'ethers';
2
+ import { SignatureTransfer } from '@uniswap/permit2-sdk';
3
+ import { TransferDataType, type TransferDataStruct } from './types.js';
4
4
 
5
5
  export const SingleChainDcaOrderType: Record<string, TypedDataField[]> = {
6
6
  SingleChainDcaOrder: [
7
- { type: "address", name: "user" },
8
- { type: "address", name: "tokenIn" },
9
- { type: "uint32", name: "startTime" },
10
- { type: "uint256", name: "amountInPerInterval" },
11
- { type: "uint24", name: "totalIntervals" },
12
- { type: "uint32", name: "intervalDuration" },
13
- { type: "TransferData", name: "requestedOutput" },
14
- { type: "TransferData[]", name: "extraTransfers" },
15
- { type: "bytes", name: "encodedExternalCallData" },
16
- { type: "uint32", name: "deadline" },
17
- { type: "uint256", name: "nonce" },
7
+ { type: 'address', name: 'user' },
8
+ { type: 'address', name: 'tokenIn' },
9
+ { type: 'uint32', name: 'startTime' },
10
+ { type: 'uint256', name: 'amountInPerInterval' },
11
+ { type: 'uint24', name: 'totalIntervals' },
12
+ { type: 'uint32', name: 'intervalDuration' },
13
+ { type: 'TransferData', name: 'requestedOutput' },
14
+ { type: 'TransferData[]', name: 'extraTransfers' },
15
+ { type: 'bytes', name: 'encodedExternalCallData' },
16
+ { type: 'uint32', name: 'deadline' },
17
+ { type: 'uint256', name: 'nonce' },
18
18
  ],
19
19
  TransferData: TransferDataType.TransferData!,
20
20
  };
@@ -41,7 +41,7 @@ export async function signSingleChainDcaOrder(
41
41
  order: SingleChainDcaOrderStruct,
42
42
  chainId: number,
43
43
  guardAddress: string,
44
- permit2Address: string
44
+ permit2Address: string,
45
45
  ): Promise<{
46
46
  domain: any;
47
47
  types: any;
@@ -63,9 +63,9 @@ export async function signSingleChainDcaOrder(
63
63
  chainId,
64
64
  {
65
65
  witness: order,
66
- witnessTypeName: "SingleChainDcaOrder",
66
+ witnessTypeName: 'SingleChainDcaOrder',
67
67
  witnessType: SingleChainDcaOrderType,
68
- }
68
+ },
69
69
  );
70
70
 
71
71
  return {
@@ -79,7 +79,7 @@ export async function signSingleChainDcaOrder(
79
79
  verifyingContract: permitData.domain.verifyingContract,
80
80
  },
81
81
  permitData.types,
82
- permitData.values
82
+ permitData.values,
83
83
  ),
84
84
  };
85
85
  }
@@ -1,17 +1,17 @@
1
- import { ethers, type TypedDataField, type AddressLike, type BigNumberish, type BytesLike } from "ethers";
2
- import { SignatureTransfer } from "@uniswap/permit2-sdk";
3
- import { TransferDataType, type TransferDataStruct } from "./types.js";
1
+ import { ethers, type TypedDataField, type AddressLike, type BigNumberish, type BytesLike } from 'ethers';
2
+ import { SignatureTransfer } from '@uniswap/permit2-sdk';
3
+ import { TransferDataType, type TransferDataStruct } from './types.js';
4
4
 
5
5
  export const SingleChainLimitOrderType: Record<string, TypedDataField[]> = {
6
6
  SingleChainLimitOrder: [
7
- { type: "address", name: "user" },
8
- { type: "address", name: "tokenIn" },
9
- { type: "uint256", name: "amountIn" },
10
- { type: "TransferData", name: "requestedOutput" },
11
- { type: "TransferData[]", name: "extraTransfers" },
12
- { type: "bytes", name: "encodedExternalCallData" },
13
- { type: "uint32", name: "deadline" },
14
- { type: "uint256", name: "nonce" },
7
+ { type: 'address', name: 'user' },
8
+ { type: 'address', name: 'tokenIn' },
9
+ { type: 'uint256', name: 'amountIn' },
10
+ { type: 'TransferData', name: 'requestedOutput' },
11
+ { type: 'TransferData[]', name: 'extraTransfers' },
12
+ { type: 'bytes', name: 'encodedExternalCallData' },
13
+ { type: 'uint32', name: 'deadline' },
14
+ { type: 'uint256', name: 'nonce' },
15
15
  ],
16
16
  TransferData: TransferDataType.TransferData!,
17
17
  };
@@ -35,7 +35,7 @@ export async function signSingleChainLimitOrder(
35
35
  order: SingleChainLimitOrderStruct,
36
36
  chainId: number,
37
37
  guardAddress: string,
38
- permit2Address: string
38
+ permit2Address: string,
39
39
  ): Promise<{
40
40
  domain: any;
41
41
  types: any;
@@ -56,9 +56,9 @@ export async function signSingleChainLimitOrder(
56
56
  chainId,
57
57
  {
58
58
  witness: order,
59
- witnessTypeName: "SingleChainLimitOrder",
59
+ witnessTypeName: 'SingleChainLimitOrder',
60
60
  witnessType: SingleChainLimitOrderType,
61
- }
61
+ },
62
62
  );
63
63
 
64
64
  return {
@@ -72,7 +72,7 @@ export async function signSingleChainLimitOrder(
72
72
  verifyingContract: permitData.domain.verifyingContract,
73
73
  },
74
74
  permitData.types,
75
- permitData.values
75
+ permitData.values,
76
76
  ),
77
77
  };
78
78
  }
@@ -1,10 +1,10 @@
1
- import type { AddressLike, BigNumberish, TypedDataField } from "ethers";
1
+ import type { AddressLike, BigNumberish, TypedDataField } from 'ethers';
2
2
 
3
3
  export const TransferDataType: Record<string, TypedDataField[]> = {
4
4
  TransferData: [
5
- { type: "address", name: "token" },
6
- { type: "address", name: "receiver" },
7
- { type: "uint256", name: "amount" },
5
+ { type: 'address', name: 'token' },
6
+ { type: 'address', name: 'receiver' },
7
+ { type: 'uint256', name: 'amount' },
8
8
  ],
9
9
  };
10
10
 
@@ -77,7 +77,7 @@ export class EvmValidator extends BaseValidator {
77
77
  ): Promise<void> {
78
78
  const chain = order.chainId as SupportedEvmChain;
79
79
 
80
- const validSingleChainChains = [ChainID.Hyperliquid, ChainID.Base];
80
+ const validSingleChainChains = [ChainID.Hyperliquid, ChainID.Base, ChainID.BSC, ChainID.Arbitrum, ChainID.Optimism, ChainID.MONAD];
81
81
 
82
82
  if (!validSingleChainChains.includes(chain)) {
83
83
  throw new ValidationError(`Chain ${chain} is not supported for single chain orders`);
@@ -1,21 +1,38 @@
1
- import { AUCTIONEER_URL } from '../../../constants.js';
2
- import type { ApiResponse, ApiUserOrders } from '../../../types/api.js';
1
+ import { AuctioneerAPI } from './index.js';
2
+ import type { SupportedChain } from '../../../chains.js';
3
+ import type { ApiUserOrders } from '../../../types/api.js';
3
4
 
4
- export async function fetchUserOrders(jwtToken: string): Promise<ApiUserOrders> {
5
- const url = `${AUCTIONEER_URL}/user_intent`;
6
- const response = await fetch(url, {
7
- method: 'GET',
8
- headers: {
9
- 'Content-Type': 'application/json',
10
- Authorization: `Bearer ${jwtToken}`,
11
- },
12
- });
13
-
14
- const data: ApiResponse<ApiUserOrders> = await response.json();
5
+ /**
6
+ * Parameters for {@link fetchUserOrders}.
7
+ *
8
+ * The auctioneer resolves the wallets to query from the JWT claims and/or the `wallet`
9
+ * address, so at least one of `token`/`wallet` must be provided. `network` optionally
10
+ * restricts the results to a single chain.
11
+ */
12
+ export interface FetchUserOrdersParams {
13
+ /**
14
+ * SIWE-issued JWT. Optional while the auctioneer skips JWT verification — when present,
15
+ * its wallet claims are queried in addition to `wallet`. Obtain it with
16
+ * `EVMSDK.authenticate()` (or the `fetchSiweMessage` + `fetchJWTToken` pair).
17
+ */
18
+ token?: string;
19
+ /** Wallet address to query. Required when no `token` is supplied. */
20
+ wallet?: string;
21
+ /** Restrict results to a single chain; omit to return orders on every network. */
22
+ network?: SupportedChain;
23
+ }
15
24
 
16
- if (!data.success) {
17
- throw new Error(`Failed to fetch user orders: ${data.error}`);
25
+ /**
26
+ * Fetches the orders owned by a wallet (and/or the wallets encoded in a SIWE-issued JWT).
27
+ *
28
+ * ⚠️ The auctioneer currently skips JWT verification, so the queried wallet may be passed
29
+ * directly via `wallet`. Once verification is restored, only wallets proved via SIWE (i.e.
30
+ * carried by a valid `token`) will be readable.
31
+ */
32
+ export async function fetchUserOrders({ token, wallet, network }: FetchUserOrdersParams): Promise<ApiUserOrders> {
33
+ if (!token && !wallet) {
34
+ throw new Error('fetchUserOrders requires a `wallet` address or a SIWE-issued `token` (JWT)');
18
35
  }
19
36
 
20
- return data.data!;
37
+ return new AuctioneerAPI(token).getUserOrders({ wallet, network });
21
38
  }
@@ -1,10 +1,25 @@
1
1
  import { AUCTIONEER_URL } from '../../../constants.js';
2
+ import type { SupportedChain } from '../../../chains.js';
2
3
  import type { ApiResponse, ApiUserOrders } from '../../../types/api.js';
3
4
 
5
+ /**
6
+ * Query filters for `GET /user_intent`.
7
+ *
8
+ * The auctioneer resolves the wallets to query from the (currently unvalidated) JWT claims
9
+ * and/or the `wallet` param; at least one source must be present. `network` optionally
10
+ * restricts results to a single chain — omit it to return orders on every network.
11
+ */
12
+ export interface GetUserOrdersParams {
13
+ /** Wallet address to query. Combined with any wallet(s) carried by the JWT claims. */
14
+ wallet?: string;
15
+ /** Restrict results to a single chain. Serialized as its chain id (e.g. 8453). */
16
+ network?: SupportedChain;
17
+ }
18
+
4
19
  export class AuctioneerAPI {
5
- public aggregatedToken: string;
20
+ public aggregatedToken?: string;
6
21
 
7
- constructor(aggregatedToken: string) {
22
+ constructor(aggregatedToken?: string) {
8
23
  this.aggregatedToken = aggregatedToken;
9
24
  }
10
25
 
@@ -12,14 +27,30 @@ export class AuctioneerAPI {
12
27
  this.aggregatedToken = token;
13
28
  }
14
29
 
15
- public async getUserOrders() {
16
- const url = `${AUCTIONEER_URL}/user_intent`;
30
+ public async getUserOrders(params: GetUserOrdersParams = {}) {
31
+ const query = new URLSearchParams();
32
+ if (params.wallet) {
33
+ query.set('wallet', params.wallet);
34
+ }
35
+ if (params.network !== undefined) {
36
+ query.set('network', String(params.network));
37
+ }
38
+
39
+ const queryString = query.toString();
40
+ const url = `${AUCTIONEER_URL}/user_intent${queryString ? `?${queryString}` : ''}`;
41
+
42
+ // JWT is optional while the auctioneer skips verification; only send the header when a
43
+ // token is present. Otherwise the wallet is resolved from the `wallet` param alone.
44
+ const headers: Record<string, string> = {
45
+ 'Content-Type': 'application/json',
46
+ };
47
+ if (this.aggregatedToken) {
48
+ headers.Authorization = `Bearer ${this.aggregatedToken}`;
49
+ }
50
+
17
51
  const response = await fetch(url, {
18
52
  method: 'GET',
19
- headers: {
20
- 'Content-Type': 'application/json',
21
- Authorization: `Bearer ${this.aggregatedToken}`,
22
- },
53
+ headers,
23
54
  });
24
55
 
25
56
  const data: ApiResponse<ApiUserOrders> = await response.json();
@@ -1,6 +1,8 @@
1
1
  import { IntentsOrderType } from '../../constants.js';
2
2
  import type { CrossChainOrderPrepared, SingleChainOrderPrepared } from '../../types/intent.js';
3
3
 
4
+ export type StopLossType = 'FIXED' | 'TRAILING_ABSOLUTE' | 'TRAILING_PERCENT';
5
+
4
6
  export type ExtraTransfer = {
5
7
  /** Token address */
6
8
  token: string;