@shogun-sdk/intents-sdk 1.0.2 → 1.1.1

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 (619) hide show
  1. package/README.md +0 -1
  2. package/dist/esm/auth/siwe.js +26 -0
  3. package/dist/esm/auth/siwe.js.map +1 -0
  4. package/dist/esm/chains.js +21 -8
  5. package/dist/esm/chains.js.map +1 -1
  6. package/dist/esm/constants.js +73 -35
  7. package/dist/esm/constants.js.map +1 -1
  8. package/dist/esm/core/evm/abi/single-chain-guard-limit.js +768 -0
  9. package/dist/esm/core/evm/abi/single-chain-guard-limit.js.map +1 -0
  10. package/dist/esm/core/evm/cancel-order.js +130 -0
  11. package/dist/esm/core/evm/cancel-order.js.map +1 -0
  12. package/dist/esm/core/evm/{viem-provider.js → chain-provider.js} +18 -3
  13. package/dist/esm/core/evm/chain-provider.js.map +1 -0
  14. package/dist/esm/core/evm/connectors/hyperevm.js +23 -0
  15. package/dist/esm/core/evm/connectors/hyperevm.js.map +1 -0
  16. package/dist/esm/core/evm/intent-provider.js +58 -8
  17. package/dist/esm/core/evm/intent-provider.js.map +1 -1
  18. package/dist/esm/core/evm/order-signature.js +15 -15
  19. package/dist/esm/core/evm/order-signature.js.map +1 -1
  20. package/dist/esm/core/evm/permit2.js +31 -3
  21. package/dist/esm/core/evm/permit2.js.map +1 -1
  22. package/dist/esm/core/evm/sdk.js +94 -78
  23. package/dist/esm/core/evm/sdk.js.map +1 -1
  24. package/dist/esm/core/evm/validator.js +52 -8
  25. package/dist/esm/core/evm/validator.js.map +1 -1
  26. package/dist/esm/core/orders/api/fetch.js +17 -0
  27. package/dist/esm/core/orders/api/fetch.js.map +1 -0
  28. package/dist/esm/core/orders/api/index.js +31 -0
  29. package/dist/esm/core/orders/api/index.js.map +1 -0
  30. package/dist/esm/core/orders/common.js +8 -0
  31. package/dist/esm/core/orders/common.js.map +1 -0
  32. package/dist/esm/core/orders/cross-chain.js +316 -0
  33. package/dist/esm/core/orders/cross-chain.js.map +1 -0
  34. package/dist/esm/core/orders/single-chain.js +185 -0
  35. package/dist/esm/core/orders/single-chain.js.map +1 -0
  36. package/dist/esm/core/sdk.js +77 -109
  37. package/dist/esm/core/sdk.js.map +1 -1
  38. package/dist/esm/core/solana/cancel-order.js +176 -0
  39. package/dist/esm/core/solana/cancel-order.js.map +1 -0
  40. package/dist/esm/core/solana/generated/{accounts → cross-chain/accounts}/adminSingleton.js +3 -1
  41. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js.map +1 -0
  42. package/dist/esm/core/solana/generated/{accounts → cross-chain/accounts}/guard.js +1 -1
  43. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js.map +1 -0
  44. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js.map +1 -0
  45. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js.map +1 -0
  46. package/dist/esm/core/solana/generated/cross-chain/errors/index.js.map +1 -0
  47. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js.map +1 -0
  48. package/dist/esm/core/solana/generated/cross-chain/index.js.map +1 -0
  49. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js +91 -0
  50. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js.map +1 -0
  51. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js.map +1 -0
  52. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js.map +1 -0
  53. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js.map +1 -0
  54. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js.map +1 -0
  55. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js.map +1 -0
  56. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/index.js +1 -0
  57. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js.map +1 -0
  58. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/initialize.js +19 -1
  59. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js.map +1 -0
  60. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js.map +1 -0
  61. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js.map +1 -0
  62. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js.map +1 -0
  63. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js.map +1 -0
  64. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js.map +1 -0
  65. package/dist/esm/core/solana/generated/cross-chain/programs/index.js.map +1 -0
  66. package/dist/esm/core/solana/generated/{programs → cross-chain/programs}/sourceChainGuard.js +16 -12
  67. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js.map +1 -0
  68. package/dist/esm/core/solana/generated/cross-chain/shared/index.js.map +1 -0
  69. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js +18 -0
  70. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js.map +1 -0
  71. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdated.js.map +1 -0
  72. package/dist/esm/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.js.map +1 -0
  73. package/dist/esm/core/solana/generated/cross-chain/types/executionStarted.js.map +1 -0
  74. package/dist/esm/core/solana/generated/cross-chain/types/guardCreated.js.map +1 -0
  75. package/dist/esm/core/solana/generated/{types → cross-chain/types}/index.js +1 -0
  76. package/dist/esm/core/solana/generated/cross-chain/types/index.js.map +1 -0
  77. package/dist/esm/core/solana/generated/cross-chain/types/orderCancelled.js.map +1 -0
  78. package/dist/esm/core/solana/generated/cross-chain/types/orderCreated.js.map +1 -0
  79. package/dist/esm/core/solana/generated/cross-chain/types/orderFulfilled.js.map +1 -0
  80. package/dist/esm/core/solana/generated/cross-chain/types/tokenInSwapped.js.map +1 -0
  81. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js +58 -0
  82. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js.map +1 -0
  83. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js +75 -0
  84. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js.map +1 -0
  85. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js +62 -0
  86. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js.map +1 -0
  87. package/dist/esm/core/solana/generated/single-chain/accounts/index.js +12 -0
  88. package/dist/esm/core/solana/generated/single-chain/accounts/index.js.map +1 -0
  89. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js +65 -0
  90. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js.map +1 -0
  91. package/dist/esm/core/solana/generated/single-chain/errors/index.js +9 -0
  92. package/dist/esm/core/solana/generated/single-chain/errors/index.js.map +1 -0
  93. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js +101 -0
  94. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js.map +1 -0
  95. package/dist/esm/core/solana/generated/single-chain/index.js +13 -0
  96. package/dist/esm/core/solana/generated/single-chain/index.js.map +1 -0
  97. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js +91 -0
  98. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js.map +1 -0
  99. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js +91 -0
  100. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js.map +1 -0
  101. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js +91 -0
  102. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js.map +1 -0
  103. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js +140 -0
  104. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js.map +1 -0
  105. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js +188 -0
  106. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js.map +1 -0
  107. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js +173 -0
  108. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js.map +1 -0
  109. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js +184 -0
  110. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js.map +1 -0
  111. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js +170 -0
  112. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js.map +1 -0
  113. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js +167 -0
  114. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js.map +1 -0
  115. package/dist/esm/core/solana/generated/single-chain/instructions/index.js +20 -0
  116. package/dist/esm/core/solana/generated/single-chain/instructions/index.js.map +1 -0
  117. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js +127 -0
  118. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js.map +1 -0
  119. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js +98 -0
  120. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js.map +1 -0
  121. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js +104 -0
  122. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js.map +1 -0
  123. package/dist/esm/core/solana/generated/single-chain/programs/index.js +9 -0
  124. package/dist/esm/core/solana/generated/single-chain/programs/index.js.map +1 -0
  125. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js +90 -0
  126. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js.map +1 -0
  127. package/dist/esm/core/solana/generated/single-chain/shared/index.js +82 -0
  128. package/dist/esm/core/solana/generated/single-chain/shared/index.js.map +1 -0
  129. package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js +18 -0
  130. package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js.map +1 -0
  131. package/dist/esm/core/solana/generated/single-chain/types/adminUpdated.js +18 -0
  132. package/dist/esm/core/solana/generated/single-chain/types/adminUpdated.js.map +1 -0
  133. package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js +24 -0
  134. package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js.map +1 -0
  135. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderCreated.js +42 -0
  136. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderCreated.js.map +1 -0
  137. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js +18 -0
  138. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js.map +1 -0
  139. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js +30 -0
  140. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js.map +1 -0
  141. package/dist/esm/core/solana/generated/single-chain/types/guardCreated.js +26 -0
  142. package/dist/esm/core/solana/generated/single-chain/types/guardCreated.js.map +1 -0
  143. package/dist/esm/core/solana/generated/single-chain/types/index.js +18 -0
  144. package/dist/esm/core/solana/generated/single-chain/types/index.js.map +1 -0
  145. package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js +36 -0
  146. package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js.map +1 -0
  147. package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js +24 -0
  148. package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js.map +1 -0
  149. package/dist/esm/core/solana/generated/single-chain/types/orderCancelled.js +18 -0
  150. package/dist/esm/core/solana/generated/single-chain/types/orderCancelled.js.map +1 -0
  151. package/dist/esm/core/solana/order-instructions.js +89 -28
  152. package/dist/esm/core/solana/order-instructions.js.map +1 -1
  153. package/dist/esm/core/solana/sdk.js +86 -26
  154. package/dist/esm/core/solana/sdk.js.map +1 -1
  155. package/dist/esm/core/solana/utils.js +19 -0
  156. package/dist/esm/core/solana/utils.js.map +1 -0
  157. package/dist/esm/core/solana/validator.js +4 -1
  158. package/dist/esm/core/solana/validator.js.map +1 -1
  159. package/dist/esm/core/sui/cancel.js +36 -0
  160. package/dist/esm/core/sui/cancel.js.map +1 -0
  161. package/dist/esm/core/sui/order-transaction.js +10 -19
  162. package/dist/esm/core/sui/order-transaction.js.map +1 -1
  163. package/dist/esm/core/sui/sdk.js +49 -24
  164. package/dist/esm/core/sui/sdk.js.map +1 -1
  165. package/dist/esm/core/sui/validator.js +4 -1
  166. package/dist/esm/core/sui/validator.js.map +1 -1
  167. package/dist/esm/errors/index.js +0 -32
  168. package/dist/esm/errors/index.js.map +1 -1
  169. package/dist/esm/index.js +16 -6
  170. package/dist/esm/index.js.map +1 -1
  171. package/dist/esm/types/api.js +6 -1
  172. package/dist/esm/types/api.js.map +1 -1
  173. package/dist/esm/utils/base-validator.js +16 -4
  174. package/dist/esm/utils/base-validator.js.map +1 -1
  175. package/dist/esm/utils/defillama.js +12 -23
  176. package/dist/esm/utils/defillama.js.map +1 -1
  177. package/dist/esm/utils/order-validator.js +17 -11
  178. package/dist/esm/utils/order-validator.js.map +1 -1
  179. package/dist/esm/utils/parsers.js +8 -31
  180. package/dist/esm/utils/parsers.js.map +1 -1
  181. package/dist/esm/utils/quote/aftermath.js +15 -0
  182. package/dist/esm/utils/quote/aftermath.js.map +1 -0
  183. package/dist/esm/utils/quote/aggregator.js +254 -0
  184. package/dist/esm/utils/quote/aggregator.js.map +1 -0
  185. package/dist/esm/utils/quote/jupiter.js +31 -0
  186. package/dist/esm/utils/quote/jupiter.js.map +1 -0
  187. package/dist/esm/utils/quote/liquidswap.js +22 -0
  188. package/dist/esm/utils/quote/liquidswap.js.map +1 -0
  189. package/dist/esm/utils/quote/paraswap.js +67 -0
  190. package/dist/esm/utils/quote/paraswap.js.map +1 -0
  191. package/dist/esm/utils/quote/stablecoins-tokens.js +13 -0
  192. package/dist/esm/utils/quote/stablecoins-tokens.js.map +1 -0
  193. package/dist/types/auth/siwe.d.ts +13 -0
  194. package/dist/types/auth/siwe.d.ts.map +1 -0
  195. package/dist/types/chains.d.ts +11 -9
  196. package/dist/types/chains.d.ts.map +1 -1
  197. package/dist/types/constants.d.ts +29 -11
  198. package/dist/types/constants.d.ts.map +1 -1
  199. package/dist/types/core/evm/abi/single-chain-guard-limit.d.ts +596 -0
  200. package/dist/types/core/evm/abi/single-chain-guard-limit.d.ts.map +1 -0
  201. package/dist/types/core/evm/cancel-order.d.ts +28 -0
  202. package/dist/types/core/evm/cancel-order.d.ts.map +1 -0
  203. package/dist/types/core/evm/chain-provider.d.ts +62338 -0
  204. package/dist/types/core/evm/chain-provider.d.ts.map +1 -0
  205. package/dist/types/core/evm/connectors/hyperevm.d.ts +38 -0
  206. package/dist/types/core/evm/connectors/hyperevm.d.ts.map +1 -0
  207. package/dist/types/core/evm/intent-provider.d.ts +9 -6
  208. package/dist/types/core/evm/intent-provider.d.ts.map +1 -1
  209. package/dist/types/core/evm/order-signature.d.ts +9 -17
  210. package/dist/types/core/evm/order-signature.d.ts.map +1 -1
  211. package/dist/types/core/evm/permit2.d.ts +100 -4
  212. package/dist/types/core/evm/permit2.d.ts.map +1 -1
  213. package/dist/types/core/evm/sdk.d.ts +34 -27
  214. package/dist/types/core/evm/sdk.d.ts.map +1 -1
  215. package/dist/types/core/evm/validator.d.ts +8 -2
  216. package/dist/types/core/evm/validator.d.ts.map +1 -1
  217. package/dist/types/core/orders/api/fetch.d.ts +3 -0
  218. package/dist/types/core/orders/api/fetch.d.ts.map +1 -0
  219. package/dist/types/core/orders/api/index.d.ts +8 -0
  220. package/dist/types/core/orders/api/index.d.ts.map +1 -0
  221. package/dist/types/core/orders/common.d.ts +12 -0
  222. package/dist/types/core/orders/common.d.ts.map +1 -0
  223. package/dist/types/core/{order.d.ts → orders/cross-chain.d.ts} +36 -33
  224. package/dist/types/core/orders/cross-chain.d.ts.map +1 -0
  225. package/dist/types/core/orders/single-chain.d.ts +46 -0
  226. package/dist/types/core/orders/single-chain.d.ts.map +1 -0
  227. package/dist/types/core/sdk.d.ts +13 -77
  228. package/dist/types/core/sdk.d.ts.map +1 -1
  229. package/dist/types/core/solana/cancel-order.d.ts +18 -0
  230. package/dist/types/core/solana/cancel-order.d.ts.map +1 -0
  231. package/dist/types/core/solana/generated/{accounts → cross-chain/accounts}/adminSingleton.d.ts +5 -1
  232. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts.map +1 -0
  233. package/dist/types/core/solana/generated/{accounts → cross-chain/accounts}/guard.d.ts +1 -1
  234. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts.map +1 -0
  235. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts.map +1 -0
  236. package/dist/types/core/solana/generated/{accounts → cross-chain/accounts}/order.d.ts +1 -1
  237. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts.map +1 -0
  238. package/dist/types/core/solana/generated/cross-chain/errors/index.d.ts.map +1 -0
  239. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts.map +1 -0
  240. package/dist/types/core/solana/generated/cross-chain/index.d.ts.map +1 -0
  241. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts +56 -0
  242. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts.map +1 -0
  243. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts.map +1 -0
  244. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/claimTokens.d.ts +6 -6
  245. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts.map +1 -0
  246. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/collectProtocolFees.d.ts +3 -3
  247. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts.map +1 -0
  248. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts.map +1 -0
  249. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts.map +1 -0
  250. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/index.d.ts +1 -0
  251. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts.map +1 -0
  252. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/initialize.d.ts +30 -7
  253. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts.map +1 -0
  254. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts.map +1 -0
  255. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/setAdmin.d.ts +3 -3
  256. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts.map +1 -0
  257. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/setAuctioneerPubKey.d.ts +3 -3
  258. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -0
  259. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts.map +1 -0
  260. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts.map +1 -0
  261. package/dist/types/core/solana/generated/cross-chain/programs/index.d.ts.map +1 -0
  262. package/dist/types/core/solana/generated/{programs → cross-chain/programs}/sourceChainGuard.d.ts +17 -14
  263. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts.map +1 -0
  264. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts.map +1 -0
  265. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts +16 -0
  266. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts.map +1 -0
  267. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts.map +1 -0
  268. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -0
  269. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts.map +1 -0
  270. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts.map +1 -0
  271. package/dist/types/core/solana/generated/{types → cross-chain/types}/index.d.ts +1 -0
  272. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts.map +1 -0
  273. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts.map +1 -0
  274. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts.map +1 -0
  275. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts.map +1 -0
  276. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts.map +1 -0
  277. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts +40 -0
  278. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts.map +1 -0
  279. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts +99 -0
  280. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts.map +1 -0
  281. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts +48 -0
  282. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts.map +1 -0
  283. package/dist/types/core/solana/generated/single-chain/accounts/index.d.ts +12 -0
  284. package/dist/types/core/solana/generated/single-chain/accounts/index.d.ts.map +1 -0
  285. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts +79 -0
  286. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts.map +1 -0
  287. package/dist/types/core/solana/generated/single-chain/errors/index.d.ts +9 -0
  288. package/dist/types/core/solana/generated/single-chain/errors/index.d.ts.map +1 -0
  289. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts +71 -0
  290. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts.map +1 -0
  291. package/dist/types/core/solana/generated/single-chain/index.d.ts +13 -0
  292. package/dist/types/core/solana/generated/single-chain/index.d.ts.map +1 -0
  293. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts +56 -0
  294. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts.map +1 -0
  295. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts +72 -0
  296. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts.map +1 -0
  297. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts +72 -0
  298. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts.map +1 -0
  299. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts +91 -0
  300. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts.map +1 -0
  301. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts +134 -0
  302. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts.map +1 -0
  303. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts +107 -0
  304. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts.map +1 -0
  305. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts +126 -0
  306. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts.map +1 -0
  307. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts +179 -0
  308. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts.map +1 -0
  309. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts +179 -0
  310. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts.map +1 -0
  311. package/dist/types/core/solana/generated/single-chain/instructions/index.d.ts +20 -0
  312. package/dist/types/core/solana/generated/single-chain/instructions/index.d.ts.map +1 -0
  313. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts +86 -0
  314. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts.map +1 -0
  315. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts +61 -0
  316. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts.map +1 -0
  317. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts +68 -0
  318. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -0
  319. package/dist/types/core/solana/generated/single-chain/programs/index.d.ts +9 -0
  320. package/dist/types/core/solana/generated/single-chain/programs/index.d.ts.map +1 -0
  321. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts +63 -0
  322. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts.map +1 -0
  323. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts +52 -0
  324. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts.map +1 -0
  325. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts +16 -0
  326. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts.map +1 -0
  327. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts +16 -0
  328. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts.map +1 -0
  329. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts +17 -0
  330. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -0
  331. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts +38 -0
  332. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts.map +1 -0
  333. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts +16 -0
  334. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts.map +1 -0
  335. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts +26 -0
  336. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts.map +1 -0
  337. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts +18 -0
  338. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts.map +1 -0
  339. package/dist/types/core/solana/generated/single-chain/types/index.d.ts +18 -0
  340. package/dist/types/core/solana/generated/single-chain/types/index.d.ts.map +1 -0
  341. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts +32 -0
  342. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts.map +1 -0
  343. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts +20 -0
  344. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts.map +1 -0
  345. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts +16 -0
  346. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts.map +1 -0
  347. package/dist/types/core/solana/order-instructions.d.ts +14 -15
  348. package/dist/types/core/solana/order-instructions.d.ts.map +1 -1
  349. package/dist/types/core/solana/sdk.d.ts +8 -4
  350. package/dist/types/core/solana/sdk.d.ts.map +1 -1
  351. package/dist/types/core/solana/utils.d.ts +6 -0
  352. package/dist/types/core/solana/utils.d.ts.map +1 -0
  353. package/dist/types/core/solana/validator.d.ts +2 -1
  354. package/dist/types/core/solana/validator.d.ts.map +1 -1
  355. package/dist/types/core/sui/cancel.d.ts +3 -0
  356. package/dist/types/core/sui/cancel.d.ts.map +1 -0
  357. package/dist/types/core/sui/order-transaction.d.ts +2 -7
  358. package/dist/types/core/sui/order-transaction.d.ts.map +1 -1
  359. package/dist/types/core/sui/sdk.d.ts +6 -4
  360. package/dist/types/core/sui/sdk.d.ts.map +1 -1
  361. package/dist/types/core/sui/validator.d.ts +2 -1
  362. package/dist/types/core/sui/validator.d.ts.map +1 -1
  363. package/dist/types/errors/index.d.ts +0 -15
  364. package/dist/types/errors/index.d.ts.map +1 -1
  365. package/dist/types/index.d.ts +20 -8
  366. package/dist/types/index.d.ts.map +1 -1
  367. package/dist/types/types/api.d.ts +59 -2
  368. package/dist/types/types/api.d.ts.map +1 -1
  369. package/dist/types/types/intent.d.ts +33 -57
  370. package/dist/types/types/intent.d.ts.map +1 -1
  371. package/dist/types/utils/base-validator.d.ts +15 -4
  372. package/dist/types/utils/base-validator.d.ts.map +1 -1
  373. package/dist/types/utils/defillama.d.ts +1 -1
  374. package/dist/types/utils/defillama.d.ts.map +1 -1
  375. package/dist/types/utils/order-validator.d.ts +20 -11
  376. package/dist/types/utils/order-validator.d.ts.map +1 -1
  377. package/dist/types/utils/parsers.d.ts +0 -13
  378. package/dist/types/utils/parsers.d.ts.map +1 -1
  379. package/dist/types/utils/quote/aftermath.d.ts +9 -0
  380. package/dist/types/utils/quote/aftermath.d.ts.map +1 -0
  381. package/dist/types/utils/quote/aggregator.d.ts +64 -0
  382. package/dist/types/utils/quote/aggregator.d.ts.map +1 -0
  383. package/dist/types/utils/quote/jupiter.d.ts +16 -0
  384. package/dist/types/utils/quote/jupiter.d.ts.map +1 -0
  385. package/dist/types/utils/quote/liquidswap.d.ts +16 -0
  386. package/dist/types/utils/quote/liquidswap.d.ts.map +1 -0
  387. package/dist/types/utils/quote/paraswap.d.ts +23 -0
  388. package/dist/types/utils/quote/paraswap.d.ts.map +1 -0
  389. package/dist/types/utils/quote/stablecoins-tokens.d.ts +11 -0
  390. package/dist/types/utils/quote/stablecoins-tokens.d.ts.map +1 -0
  391. package/package.json +14 -2
  392. package/src/auth/siwe.ts +41 -0
  393. package/src/chains.ts +21 -10
  394. package/src/constants.ts +86 -38
  395. package/src/core/evm/abi/single-chain-guard-limit.ts +767 -0
  396. package/src/core/evm/cancel-order.ts +163 -0
  397. package/src/core/evm/{viem-provider.ts → chain-provider.ts} +18 -2
  398. package/src/core/evm/connectors/hyperevm.ts +23 -0
  399. package/src/core/evm/intent-provider.ts +71 -12
  400. package/src/core/evm/order-signature.ts +25 -38
  401. package/src/core/evm/permit2.ts +82 -12
  402. package/src/core/evm/sdk.ts +147 -89
  403. package/src/core/evm/validator.ts +73 -11
  404. package/src/core/orders/api/fetch.ts +22 -0
  405. package/src/core/orders/api/index.ts +33 -0
  406. package/src/core/orders/common.ts +19 -0
  407. package/src/core/orders/cross-chain.ts +323 -0
  408. package/src/core/orders/single-chain.ts +174 -0
  409. package/src/core/sdk.ts +102 -136
  410. package/src/core/solana/cancel-order.ts +264 -0
  411. package/src/core/solana/generated/{accounts → cross-chain/accounts}/adminSingleton.ts +15 -9
  412. package/src/core/solana/generated/{accounts → cross-chain/accounts}/guard.ts +10 -10
  413. package/src/core/solana/generated/{accounts → cross-chain/accounts}/order.ts +8 -8
  414. package/src/core/solana/generated/cross-chain/instructions/acceptAdmin.ts +200 -0
  415. package/src/core/solana/generated/{instructions → cross-chain/instructions}/claimTokens.ts +10 -10
  416. package/src/core/solana/generated/{instructions → cross-chain/instructions}/collectProtocolFees.ts +8 -8
  417. package/src/core/solana/generated/{instructions → cross-chain/instructions}/createGuard.ts +5 -5
  418. package/src/core/solana/generated/{instructions → cross-chain/instructions}/createOrder.ts +5 -5
  419. package/src/core/solana/generated/{instructions → cross-chain/instructions}/index.ts +1 -0
  420. package/src/core/solana/generated/{instructions → cross-chain/instructions}/initialize.ts +104 -12
  421. package/src/core/solana/generated/{instructions → cross-chain/instructions}/setAdmin.ts +8 -8
  422. package/src/core/solana/generated/{instructions → cross-chain/instructions}/setAuctioneerPubKey.ts +8 -8
  423. package/src/core/solana/generated/{programs → cross-chain/programs}/sourceChainGuard.ts +16 -2
  424. package/src/core/solana/generated/{shared → cross-chain/shared}/index.ts +2 -2
  425. package/src/core/solana/generated/cross-chain/types/adminUpdateStarted.ts +35 -0
  426. package/src/core/solana/generated/{types → cross-chain/types}/index.ts +1 -0
  427. package/src/core/solana/generated/single-chain/accounts/adminSingleton.ts +142 -0
  428. package/src/core/solana/generated/single-chain/accounts/dcaOrder.ts +222 -0
  429. package/src/core/solana/generated/single-chain/accounts/guard.ts +156 -0
  430. package/src/core/solana/generated/single-chain/accounts/index.ts +12 -0
  431. package/src/core/solana/generated/single-chain/accounts/limitOrder.ts +192 -0
  432. package/src/core/solana/generated/single-chain/errors/index.ts +9 -0
  433. package/src/core/solana/generated/single-chain/errors/singleChainGuard.ts +140 -0
  434. package/src/core/solana/generated/single-chain/index.ts +13 -0
  435. package/src/core/solana/generated/single-chain/instructions/acceptAdmin.ts +200 -0
  436. package/src/core/solana/generated/single-chain/instructions/cancelDcaOrder.ts +251 -0
  437. package/src/core/solana/generated/single-chain/instructions/cancelLimitOrder.ts +254 -0
  438. package/src/core/solana/generated/single-chain/instructions/collectProtocolFees.ts +373 -0
  439. package/src/core/solana/generated/single-chain/instructions/createDcaOrder.ts +500 -0
  440. package/src/core/solana/generated/single-chain/instructions/createGuard.ts +437 -0
  441. package/src/core/solana/generated/single-chain/instructions/createLimitOrder.ts +491 -0
  442. package/src/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.ts +538 -0
  443. package/src/core/solana/generated/single-chain/instructions/fulfillLimitOrder.ts +532 -0
  444. package/src/core/solana/generated/single-chain/instructions/index.ts +20 -0
  445. package/src/core/solana/generated/single-chain/instructions/initialize.ts +323 -0
  446. package/src/core/solana/generated/single-chain/instructions/setAdmin.ts +211 -0
  447. package/src/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.ts +241 -0
  448. package/src/core/solana/generated/single-chain/programs/index.ts +9 -0
  449. package/src/core/solana/generated/single-chain/programs/singleChainGuard.ts +247 -0
  450. package/src/core/solana/generated/single-chain/shared/index.ts +124 -0
  451. package/src/core/solana/generated/single-chain/types/adminUpdateStarted.ts +35 -0
  452. package/src/core/solana/generated/single-chain/types/adminUpdated.ts +35 -0
  453. package/src/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.ts +44 -0
  454. package/src/core/solana/generated/single-chain/types/dcaOrderCreated.ts +89 -0
  455. package/src/core/solana/generated/single-chain/types/dcaOrderFulfilled.ts +35 -0
  456. package/src/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.ts +63 -0
  457. package/src/core/solana/generated/single-chain/types/guardCreated.ts +47 -0
  458. package/src/core/solana/generated/single-chain/types/index.ts +18 -0
  459. package/src/core/solana/generated/single-chain/types/limitOrderCreated.ts +77 -0
  460. package/src/core/solana/generated/single-chain/types/limitOrderFulfilled.ts +46 -0
  461. package/src/core/solana/generated/single-chain/types/orderCancelled.ts +35 -0
  462. package/src/core/solana/order-instructions.ts +166 -52
  463. package/src/core/solana/sdk.ts +134 -31
  464. package/src/core/solana/utils.ts +31 -0
  465. package/src/core/solana/validator.ts +5 -1
  466. package/src/core/sui/cancel.ts +44 -0
  467. package/src/core/sui/order-transaction.ts +14 -31
  468. package/src/core/sui/sdk.ts +75 -30
  469. package/src/core/sui/validator.ts +5 -1
  470. package/src/errors/index.ts +1 -37
  471. package/src/index.ts +36 -14
  472. package/src/types/api.ts +73 -4
  473. package/src/types/intent.ts +42 -63
  474. package/src/utils/base-validator.ts +26 -8
  475. package/src/utils/defillama.ts +15 -30
  476. package/src/utils/order-validator.ts +21 -23
  477. package/src/utils/parsers.ts +10 -35
  478. package/src/utils/quote/aftermath.ts +24 -0
  479. package/src/utils/quote/aggregator.ts +331 -0
  480. package/src/utils/quote/jupiter.ts +39 -0
  481. package/src/utils/quote/liquidswap.ts +42 -0
  482. package/src/utils/quote/paraswap.ts +87 -0
  483. package/src/utils/quote/stablecoins-tokens.ts +22 -0
  484. package/dist/esm/core/evm/viem-provider.js.map +0 -1
  485. package/dist/esm/core/order.js +0 -190
  486. package/dist/esm/core/order.js.map +0 -1
  487. package/dist/esm/core/solana/generated/accounts/adminSingleton.js.map +0 -1
  488. package/dist/esm/core/solana/generated/accounts/guard.js.map +0 -1
  489. package/dist/esm/core/solana/generated/accounts/index.js.map +0 -1
  490. package/dist/esm/core/solana/generated/accounts/order.js.map +0 -1
  491. package/dist/esm/core/solana/generated/errors/index.js.map +0 -1
  492. package/dist/esm/core/solana/generated/errors/sourceChainGuard.js.map +0 -1
  493. package/dist/esm/core/solana/generated/index.js.map +0 -1
  494. package/dist/esm/core/solana/generated/instructions/cancelOrder.js.map +0 -1
  495. package/dist/esm/core/solana/generated/instructions/claimTokens.js.map +0 -1
  496. package/dist/esm/core/solana/generated/instructions/collectProtocolFees.js.map +0 -1
  497. package/dist/esm/core/solana/generated/instructions/createGuard.js.map +0 -1
  498. package/dist/esm/core/solana/generated/instructions/createOrder.js.map +0 -1
  499. package/dist/esm/core/solana/generated/instructions/index.js.map +0 -1
  500. package/dist/esm/core/solana/generated/instructions/initialize.js.map +0 -1
  501. package/dist/esm/core/solana/generated/instructions/preStartOrderExecution.js.map +0 -1
  502. package/dist/esm/core/solana/generated/instructions/setAdmin.js.map +0 -1
  503. package/dist/esm/core/solana/generated/instructions/setAuctioneerPubKey.js.map +0 -1
  504. package/dist/esm/core/solana/generated/instructions/startOrderExecution.js.map +0 -1
  505. package/dist/esm/core/solana/generated/instructions/startOrderExecutionAfterSwap.js.map +0 -1
  506. package/dist/esm/core/solana/generated/programs/index.js.map +0 -1
  507. package/dist/esm/core/solana/generated/programs/sourceChainGuard.js.map +0 -1
  508. package/dist/esm/core/solana/generated/shared/index.js.map +0 -1
  509. package/dist/esm/core/solana/generated/types/adminUpdated.js.map +0 -1
  510. package/dist/esm/core/solana/generated/types/auctioneerPubkeyUpdated.js.map +0 -1
  511. package/dist/esm/core/solana/generated/types/executionStarted.js.map +0 -1
  512. package/dist/esm/core/solana/generated/types/guardCreated.js.map +0 -1
  513. package/dist/esm/core/solana/generated/types/index.js.map +0 -1
  514. package/dist/esm/core/solana/generated/types/orderCancelled.js.map +0 -1
  515. package/dist/esm/core/solana/generated/types/orderCreated.js.map +0 -1
  516. package/dist/esm/core/solana/generated/types/orderFulfilled.js.map +0 -1
  517. package/dist/esm/core/solana/generated/types/tokenInSwapped.js.map +0 -1
  518. package/dist/esm/types/user-order.js +0 -16
  519. package/dist/esm/types/user-order.js.map +0 -1
  520. package/dist/types/core/evm/viem-provider.d.ts +0 -19304
  521. package/dist/types/core/evm/viem-provider.d.ts.map +0 -1
  522. package/dist/types/core/order.d.ts.map +0 -1
  523. package/dist/types/core/solana/generated/accounts/adminSingleton.d.ts.map +0 -1
  524. package/dist/types/core/solana/generated/accounts/guard.d.ts.map +0 -1
  525. package/dist/types/core/solana/generated/accounts/index.d.ts.map +0 -1
  526. package/dist/types/core/solana/generated/accounts/order.d.ts.map +0 -1
  527. package/dist/types/core/solana/generated/errors/index.d.ts.map +0 -1
  528. package/dist/types/core/solana/generated/errors/sourceChainGuard.d.ts.map +0 -1
  529. package/dist/types/core/solana/generated/index.d.ts.map +0 -1
  530. package/dist/types/core/solana/generated/instructions/cancelOrder.d.ts.map +0 -1
  531. package/dist/types/core/solana/generated/instructions/claimTokens.d.ts.map +0 -1
  532. package/dist/types/core/solana/generated/instructions/collectProtocolFees.d.ts.map +0 -1
  533. package/dist/types/core/solana/generated/instructions/createGuard.d.ts.map +0 -1
  534. package/dist/types/core/solana/generated/instructions/createOrder.d.ts.map +0 -1
  535. package/dist/types/core/solana/generated/instructions/index.d.ts.map +0 -1
  536. package/dist/types/core/solana/generated/instructions/initialize.d.ts.map +0 -1
  537. package/dist/types/core/solana/generated/instructions/preStartOrderExecution.d.ts.map +0 -1
  538. package/dist/types/core/solana/generated/instructions/setAdmin.d.ts.map +0 -1
  539. package/dist/types/core/solana/generated/instructions/setAuctioneerPubKey.d.ts.map +0 -1
  540. package/dist/types/core/solana/generated/instructions/startOrderExecution.d.ts.map +0 -1
  541. package/dist/types/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts.map +0 -1
  542. package/dist/types/core/solana/generated/programs/index.d.ts.map +0 -1
  543. package/dist/types/core/solana/generated/programs/sourceChainGuard.d.ts.map +0 -1
  544. package/dist/types/core/solana/generated/shared/index.d.ts.map +0 -1
  545. package/dist/types/core/solana/generated/types/adminUpdated.d.ts.map +0 -1
  546. package/dist/types/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts.map +0 -1
  547. package/dist/types/core/solana/generated/types/executionStarted.d.ts.map +0 -1
  548. package/dist/types/core/solana/generated/types/guardCreated.d.ts.map +0 -1
  549. package/dist/types/core/solana/generated/types/index.d.ts.map +0 -1
  550. package/dist/types/core/solana/generated/types/orderCancelled.d.ts.map +0 -1
  551. package/dist/types/core/solana/generated/types/orderCreated.d.ts.map +0 -1
  552. package/dist/types/core/solana/generated/types/orderFulfilled.d.ts.map +0 -1
  553. package/dist/types/core/solana/generated/types/tokenInSwapped.d.ts.map +0 -1
  554. package/dist/types/types/user-order.d.ts +0 -37
  555. package/dist/types/types/user-order.d.ts.map +0 -1
  556. package/src/core/order.ts +0 -186
  557. package/src/types/user-order.ts +0 -74
  558. package/dist/esm/core/solana/generated/{accounts → cross-chain/accounts}/index.js +0 -0
  559. package/dist/esm/core/solana/generated/{accounts → cross-chain/accounts}/order.js +0 -0
  560. package/dist/esm/core/solana/generated/{errors → cross-chain/errors}/index.js +0 -0
  561. package/dist/esm/core/solana/generated/{errors → cross-chain/errors}/sourceChainGuard.js +0 -0
  562. package/dist/esm/core/solana/generated/{index.js → cross-chain/index.js} +0 -0
  563. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/cancelOrder.js +0 -0
  564. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/claimTokens.js +0 -0
  565. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/collectProtocolFees.js +0 -0
  566. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/createGuard.js +0 -0
  567. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/createOrder.js +0 -0
  568. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/preStartOrderExecution.js +0 -0
  569. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/setAdmin.js +0 -0
  570. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/setAuctioneerPubKey.js +0 -0
  571. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/startOrderExecution.js +0 -0
  572. package/dist/esm/core/solana/generated/{instructions → cross-chain/instructions}/startOrderExecutionAfterSwap.js +0 -0
  573. package/dist/esm/core/solana/generated/{programs → cross-chain/programs}/index.js +0 -0
  574. package/dist/esm/core/solana/generated/{shared → cross-chain/shared}/index.js +0 -0
  575. package/dist/esm/core/solana/generated/{types → cross-chain/types}/adminUpdated.js +0 -0
  576. package/dist/esm/core/solana/generated/{types → cross-chain/types}/auctioneerPubkeyUpdated.js +0 -0
  577. package/dist/esm/core/solana/generated/{types → cross-chain/types}/executionStarted.js +0 -0
  578. package/dist/esm/core/solana/generated/{types → cross-chain/types}/guardCreated.js +0 -0
  579. package/dist/esm/core/solana/generated/{types → cross-chain/types}/orderCancelled.js +0 -0
  580. package/dist/esm/core/solana/generated/{types → cross-chain/types}/orderCreated.js +0 -0
  581. package/dist/esm/core/solana/generated/{types → cross-chain/types}/orderFulfilled.js +0 -0
  582. package/dist/esm/core/solana/generated/{types → cross-chain/types}/tokenInSwapped.js +0 -0
  583. package/dist/types/core/solana/generated/{accounts → cross-chain/accounts}/index.d.ts +0 -0
  584. package/dist/types/core/solana/generated/{errors → cross-chain/errors}/index.d.ts +0 -0
  585. package/dist/types/core/solana/generated/{errors → cross-chain/errors}/sourceChainGuard.d.ts +0 -0
  586. package/dist/types/core/solana/generated/{index.d.ts → cross-chain/index.d.ts} +0 -0
  587. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/cancelOrder.d.ts +0 -0
  588. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/createGuard.d.ts +0 -0
  589. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/createOrder.d.ts +0 -0
  590. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/preStartOrderExecution.d.ts +0 -0
  591. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/startOrderExecution.d.ts +0 -0
  592. package/dist/types/core/solana/generated/{instructions → cross-chain/instructions}/startOrderExecutionAfterSwap.d.ts +0 -0
  593. package/dist/types/core/solana/generated/{programs → cross-chain/programs}/index.d.ts +0 -0
  594. package/dist/types/core/solana/generated/{shared → cross-chain/shared}/index.d.ts +0 -0
  595. package/dist/types/core/solana/generated/{types → cross-chain/types}/adminUpdated.d.ts +0 -0
  596. package/dist/types/core/solana/generated/{types → cross-chain/types}/auctioneerPubkeyUpdated.d.ts +0 -0
  597. package/dist/types/core/solana/generated/{types → cross-chain/types}/executionStarted.d.ts +0 -0
  598. package/dist/types/core/solana/generated/{types → cross-chain/types}/guardCreated.d.ts +0 -0
  599. package/dist/types/core/solana/generated/{types → cross-chain/types}/orderCancelled.d.ts +0 -0
  600. package/dist/types/core/solana/generated/{types → cross-chain/types}/orderCreated.d.ts +0 -0
  601. package/dist/types/core/solana/generated/{types → cross-chain/types}/orderFulfilled.d.ts +0 -0
  602. package/dist/types/core/solana/generated/{types → cross-chain/types}/tokenInSwapped.d.ts +0 -0
  603. package/src/core/solana/generated/{accounts → cross-chain/accounts}/index.ts +0 -0
  604. package/src/core/solana/generated/{errors → cross-chain/errors}/index.ts +0 -0
  605. package/src/core/solana/generated/{errors → cross-chain/errors}/sourceChainGuard.ts +0 -0
  606. package/src/core/solana/generated/{index.ts → cross-chain/index.ts} +0 -0
  607. package/src/core/solana/generated/{instructions → cross-chain/instructions}/cancelOrder.ts +4 -4
  608. package/src/core/solana/generated/{instructions → cross-chain/instructions}/preStartOrderExecution.ts +4 -4
  609. package/src/core/solana/generated/{instructions → cross-chain/instructions}/startOrderExecution.ts +4 -4
  610. package/src/core/solana/generated/{instructions → cross-chain/instructions}/startOrderExecutionAfterSwap.ts +4 -4
  611. package/src/core/solana/generated/{programs → cross-chain/programs}/index.ts +0 -0
  612. package/src/core/solana/generated/{types → cross-chain/types}/adminUpdated.ts +4 -4
  613. package/src/core/solana/generated/{types → cross-chain/types}/auctioneerPubkeyUpdated.ts +4 -4
  614. package/src/core/solana/generated/{types → cross-chain/types}/executionStarted.ts +4 -4
  615. package/src/core/solana/generated/{types → cross-chain/types}/guardCreated.ts +4 -4
  616. package/src/core/solana/generated/{types → cross-chain/types}/orderCancelled.ts +4 -4
  617. package/src/core/solana/generated/{types → cross-chain/types}/orderCreated.ts +4 -4
  618. package/src/core/solana/generated/{types → cross-chain/types}/orderFulfilled.ts +4 -4
  619. package/src/core/solana/generated/{types → cross-chain/types}/tokenInSwapped.ts +4 -4
@@ -0,0 +1,163 @@
1
+ import { encodeFunctionData, type Hex } from 'viem';
2
+ import type { ExtraTransfer } from '../orders/common.js';
3
+
4
+ export type CancelSingleChainOrderParams = {
5
+ orderId: string;
6
+ user: string;
7
+ tokenIn: string;
8
+ amountIn: bigint;
9
+ requestedOutput: ExtraTransfer;
10
+ extraTransfers: ExtraTransfer[];
11
+ encodedExternalCallData: string;
12
+ deadline: number;
13
+ nonce: bigint;
14
+ };
15
+
16
+ export type CancelCrossChainOrderParams = {
17
+ orderId: string;
18
+ user: string;
19
+ tokenIn: string;
20
+ amountIn: bigint;
21
+ srcChainId: number;
22
+ deadline: number;
23
+ minStablecoinsAmount: bigint;
24
+ executionDetailsHash: string;
25
+ nonce: bigint;
26
+ };
27
+
28
+ const CROSS_CHAIN_CANCEL_ORDER_ABI = [
29
+ {
30
+ inputs: [
31
+ {
32
+ components: [
33
+ { name: 'user', type: 'address' },
34
+ { name: 'tokenIn', type: 'address' },
35
+ { name: 'srcChainId', type: 'uint256' },
36
+ { name: 'deadline', type: 'uint256' },
37
+ { name: 'amountIn', type: 'uint256' },
38
+ { name: 'minStablecoinsAmount', type: 'uint256' },
39
+ { name: 'executionDetailsHash', type: 'bytes32' },
40
+ { name: 'nonce', type: 'uint256' },
41
+ ],
42
+ name: 'orderInfo',
43
+ type: 'tuple',
44
+ },
45
+ ],
46
+ name: 'cancelOrder',
47
+ outputs: [],
48
+ stateMutability: 'nonpayable',
49
+ type: 'function',
50
+ },
51
+ ] as const;
52
+
53
+ const SINGLE_CHAIN_CANCEL_ORDER_ABI = [
54
+ {
55
+ inputs: [
56
+ {
57
+ components: [
58
+ { name: 'amountIn', type: 'uint256' },
59
+ { name: 'tokenIn', type: 'address' },
60
+ { name: 'deadline', type: 'uint256' },
61
+ { name: 'nonce', type: 'uint256' },
62
+ { name: 'encodedExternalCallData', type: 'bytes' },
63
+ {
64
+ components: [
65
+ { name: 'amount', type: 'uint256' },
66
+ { name: 'receiver', type: 'address' },
67
+ { name: 'token', type: 'address' },
68
+ ],
69
+ name: 'extraTransfers',
70
+ type: 'tuple[]',
71
+ },
72
+ {
73
+ components: [
74
+ { name: 'amount', type: 'uint256' },
75
+ { name: 'receiver', type: 'address' },
76
+ { name: 'token', type: 'address' },
77
+ ],
78
+ name: 'requestedOutput',
79
+ type: 'tuple',
80
+ },
81
+ { name: 'user', type: 'address' },
82
+ ],
83
+ name: 'order',
84
+ type: 'tuple',
85
+ },
86
+ ],
87
+ name: 'cancelManuallyCreatedOrder',
88
+ outputs: [],
89
+ stateMutability: 'nonpayable',
90
+ type: 'function',
91
+ },
92
+ ] as const;
93
+
94
+ const PERMIT2_INVALIDATE_NONCES_ABI = [
95
+ {
96
+ inputs: [
97
+ { name: 'wordPos', type: 'uint256' },
98
+ { name: 'mask', type: 'uint256' },
99
+ ],
100
+ name: 'invalidateUnorderedNonces',
101
+ outputs: [],
102
+ stateMutability: 'nonpayable',
103
+ type: 'function',
104
+ },
105
+ ] as const;
106
+
107
+ export function getCancelCrossChainOrderRawData(params: CancelCrossChainOrderParams): Hex {
108
+ const orderInfo = {
109
+ user: params.user as Hex,
110
+ tokenIn: params.tokenIn as Hex,
111
+ srcChainId: BigInt(params.srcChainId),
112
+ deadline: BigInt(params.deadline),
113
+ amountIn: params.amountIn,
114
+ minStablecoinsAmount: params.minStablecoinsAmount,
115
+ executionDetailsHash: params.executionDetailsHash as Hex,
116
+ nonce: params.nonce,
117
+ };
118
+
119
+ return encodeFunctionData({
120
+ abi: CROSS_CHAIN_CANCEL_ORDER_ABI,
121
+ functionName: 'cancelOrder',
122
+ args: [orderInfo],
123
+ });
124
+ }
125
+
126
+ export function getCancelSingleChainOrderRawData(params: CancelSingleChainOrderParams): Hex {
127
+ const order = {
128
+ amountIn: params.amountIn,
129
+ tokenIn: params.tokenIn as Hex,
130
+ deadline: BigInt(params.deadline),
131
+ nonce: params.nonce,
132
+ encodedExternalCallData: params.encodedExternalCallData as Hex,
133
+ extraTransfers: params.extraTransfers.map((transfer) => ({
134
+ amount: transfer.amount,
135
+ receiver: transfer.receiver as Hex,
136
+ token: transfer.token as Hex,
137
+ })),
138
+ requestedOutput: {
139
+ amount: params.requestedOutput.amount,
140
+ receiver: params.requestedOutput.receiver as Hex,
141
+ token: params.requestedOutput.token as Hex,
142
+ },
143
+ user: params.user as Hex,
144
+ };
145
+
146
+ return encodeFunctionData({
147
+ abi: SINGLE_CHAIN_CANCEL_ORDER_ABI,
148
+ functionName: 'cancelManuallyCreatedOrder',
149
+ args: [order],
150
+ });
151
+ }
152
+
153
+ export function getInvalidateNoncesRawData(nonce: bigint): Hex {
154
+ const nonceWordPos = nonce >> 8n;
155
+ const nonceBitPos = nonce - nonceWordPos * 256n;
156
+ const mask = 1n << nonceBitPos;
157
+
158
+ return encodeFunctionData({
159
+ abi: PERMIT2_INVALIDATE_NONCES_ABI,
160
+ functionName: 'invalidateUnorderedNonces',
161
+ args: [nonceWordPos, mask],
162
+ });
163
+ }
@@ -18,11 +18,14 @@ import type { EVMConfig } from '../../config.js';
18
18
  import { ERC20ABI } from './abi/erc20.js';
19
19
  import { SOURCE_CHAIN_GUARD_ABI } from './abi/source-chain-guard.js';
20
20
  import { PERMIT2_ABI } from './abi/permit2.js';
21
+ import { SINGLE_CHAIN_GUARD_LIMIT_ABI } from './abi/single-chain-guard-limit.js';
22
+ import { hyperEVM } from './connectors/hyperevm.js';
21
23
 
22
- const chainIdToProviderChainMap = {
24
+ export const chainIdToProviderChainMap: Record<SupportedEvmChain, Chain> = {
23
25
  [ChainID.Arbitrum]: arbitrum,
24
26
  [ChainID.Optimism]: optimism,
25
27
  [ChainID.Base]: base,
28
+ [ChainID.Hyperliquid]: hyperEVM,
26
29
  };
27
30
 
28
31
  export class ChainProvider {
@@ -79,8 +82,21 @@ export class ChainProvider {
79
82
  });
80
83
  }
81
84
 
85
+ getSingleChainAuctioneerContract(address: Address) {
86
+ return getContract({
87
+ address: address,
88
+ abi: SINGLE_CHAIN_GUARD_LIMIT_ABI,
89
+ client: {
90
+ wallet: this.walletClient,
91
+ public: this.publicClient,
92
+ chain: chainIdToProviderChainMap[this.chainId],
93
+ account: this.walletClient.account,
94
+ },
95
+ });
96
+ }
97
+
82
98
  // Any type since the inferred type of this node exceeds the maximum length the compiler will serialize
83
- getAuctioneerContract(auctioneerAddress: Address): any {
99
+ getCrossChainAuctioneerContract(auctioneerAddress: Address): any {
84
100
  return getContract({
85
101
  address: auctioneerAddress,
86
102
  abi: SOURCE_CHAIN_GUARD_ABI,
@@ -0,0 +1,23 @@
1
+ import { defineChain } from 'viem';
2
+
3
+ export const hyperEVM = defineChain({
4
+ id: 999,
5
+ name: 'HyperEVM',
6
+ nativeCurrency: {
7
+ decimals: 18,
8
+ name: 'HyperEVM',
9
+ symbol: 'HYPE',
10
+ },
11
+ rpcUrls: {
12
+ default: {
13
+ http: ['https://rpc.hyperliquid.xyz/evm'],
14
+ },
15
+ },
16
+ blockExplorers: {
17
+ default: {
18
+ name: 'HyperEVM Explorer',
19
+ url: 'https://hyperevmscan.io/',
20
+ },
21
+ },
22
+ testnet: false,
23
+ });
@@ -1,22 +1,23 @@
1
1
  import { type Address } from 'viem';
2
2
  import { type SupportedEvmChain } from '../../chains.js';
3
3
  import type { EVMConfig } from '../../config.js';
4
- import { SRC_CHAIN_GUARD } from '../../constants.js';
5
- import type { PreparedOrder } from '../../types/intent.js';
6
- import type { Order } from '../order.js';
7
- import { getEvmOrderTypedData } from './order-signature.js';
8
- import { type PermitTransferFrom } from './permit2.js';
9
- import { ChainProvider } from './viem-provider.js';
4
+ import { SINGLE_CHAIN_GUARD_ADDRESSES, CROSS_CHAIN_GUARD_ADDRESSES, MAX_UINT_32 } from '../../constants.js';
5
+ import { getEVMCrossChainOrderTypedData, getEVMSingleChainOrderTypedData } from './order-signature.js';
6
+ import { type CrossChainPermitTransferFrom, type SingleChainPermitTransferFrom, type TransferData } from './permit2.js';
7
+ import { ChainProvider } from './chain-provider.js';
8
+ import type { CrossChainOrder } from '../orders/cross-chain.js';
9
+ import type { SingleChainOrder } from '../orders/single-chain.js';
10
+ import type { CrossChainOrderPrepared, SingleChainOrderPrepared } from '../../types/intent.js';
10
11
 
11
12
  export class EVMIntentProvider {
12
- public provider: ChainProvider;
13
+ provider: ChainProvider;
13
14
 
14
15
  constructor(config: EVMConfig) {
15
16
  this.provider = new ChainProvider(config);
16
17
  }
17
18
 
18
- async prepare(order: Order): Promise<PreparedOrder> {
19
- const { orderTypedData: dataToSign, nonce } = await getEvmOrderTypedData(order);
19
+ async prepareSingleChainOrder(order: SingleChainOrder): Promise<SingleChainOrderPrepared> {
20
+ const { orderTypedData: dataToSign, nonce } = await getEVMSingleChainOrderTypedData(order);
20
21
 
21
22
  const signature = await this.provider.walletClient.signTypedData({
22
23
  message: dataToSign.message,
@@ -35,13 +36,35 @@ export class EVMIntentProvider {
35
36
  };
36
37
  }
37
38
 
38
- static getPermissionMessage(order: Order, nonce: bigint): PermitTransferFrom {
39
+ async prepareCrossChainOrder(order: CrossChainOrder): Promise<CrossChainOrderPrepared> {
40
+ const { orderTypedData: dataToSign, nonce } = await getEVMCrossChainOrderTypedData(order);
41
+
42
+ const signature = await this.provider.walletClient.signTypedData({
43
+ message: dataToSign.message,
44
+ primaryType: dataToSign.primaryType,
45
+ types: dataToSign.types,
46
+ domain: dataToSign.domain,
47
+ account: this.provider.getAccount(),
48
+ });
49
+
50
+ return {
51
+ order,
52
+ preparedData: {
53
+ nonce: nonce.toString(),
54
+ signature: signature.slice(2),
55
+ },
56
+ };
57
+ }
58
+
59
+ static getCrossChainPermissionMessage(order: CrossChainOrder, nonce: bigint): CrossChainPermitTransferFrom {
60
+ const spender = CROSS_CHAIN_GUARD_ADDRESSES[order.sourceChainId as SupportedEvmChain] as Address;
61
+
39
62
  return {
40
63
  permitted: {
41
64
  token: order.sourceTokenAddress as Address,
42
65
  amount: order.sourceTokenAmount,
43
66
  },
44
- spender: SRC_CHAIN_GUARD[order.sourceChainId as SupportedEvmChain] as Address,
67
+ spender,
45
68
  nonce,
46
69
  deadline: BigInt(order.deadline),
47
70
  witness: {
@@ -57,7 +80,43 @@ export class EVMIntentProvider {
57
80
  };
58
81
  }
59
82
 
83
+ static getSingleChainLimitPermissionMessage(order: SingleChainOrder, nonce: bigint): SingleChainPermitTransferFrom {
84
+ const spender = SINGLE_CHAIN_GUARD_ADDRESSES[order.chainId as SupportedEvmChain] as Address;
85
+
86
+ const requestedOutput: TransferData = {
87
+ token: order.tokenOut as Address,
88
+ receiver: order.destinationAddress as Address,
89
+ amount: order.amountOutMin,
90
+ };
91
+
92
+ const extraTransfers: TransferData[] =
93
+ order.extraTransfers?.map((transfer) => ({
94
+ token: transfer.token as Address,
95
+ receiver: transfer.receiver as Address,
96
+ amount: transfer.amount,
97
+ })) || [];
98
+
99
+ return {
100
+ permitted: {
101
+ token: order.tokenIn as Address,
102
+ amount: order.amountIn,
103
+ },
104
+ spender,
105
+ nonce,
106
+ deadline: BigInt(order.deadline),
107
+ witness: {
108
+ user: order.user as Address,
109
+ tokenIn: order.tokenIn as Address,
110
+ amountIn: order.amountIn,
111
+ requestedOutput,
112
+ encodedExternalCallData: '0x', // TODO: Update when external call data is supported
113
+ extraTransfers,
114
+ deadline: order.deadline,
115
+ nonce,
116
+ },
117
+ };
118
+ }
60
119
  static getRandomNonce(): bigint {
61
- return BigInt(Math.floor(Math.random() * 1000000000000));
120
+ return BigInt(Math.floor(Math.random() * Number(MAX_UINT_32)));
62
121
  }
63
122
  }
@@ -1,56 +1,43 @@
1
- import type { TypedDataDomain } from 'viem';
1
+ import type { TypedDataDefinition } from 'viem';
2
2
  import type { SupportedEvmChain } from '../../chains.js';
3
- import type { Order } from '../order.js';
3
+ import type { CrossChainOrder } from '../orders/cross-chain.js';
4
4
  import { EVMIntentProvider } from './intent-provider.js';
5
- import { PERMIT2_DOMAIN, PERMIT2_TYPES, type PermitTransferFrom } from './permit2.js';
6
- import type { ApiResponse } from '../../types/api.js';
7
- import type { PreparedOrder } from '../../types/intent.js';
8
- import { BaseSDK } from '../sdk.js';
5
+ import { CROSS_CHAIN_PERMIT2_TYPES, PERMIT2_DOMAIN, SINGLE_CHAIN_LIMIT_PERMIT2_TYPES } from './permit2.js';
6
+ import type { SingleChainOrder } from '../orders/single-chain.js';
9
7
 
10
- export type EvmOrderTypedData = {
11
- domain: TypedDataDomain;
12
- types: typeof PERMIT2_TYPES;
13
- primaryType: 'PermitWitnessTransferFrom';
14
- message: PermitTransferFrom;
15
- };
8
+ export async function getEVMSingleChainOrderTypedData(
9
+ order: SingleChainOrder,
10
+ ): Promise<{ orderTypedData: TypedDataDefinition; nonce: bigint }> {
11
+ const randomNonce = EVMIntentProvider.getRandomNonce();
12
+ const permissionMessage = EVMIntentProvider.getSingleChainLimitPermissionMessage(order, randomNonce);
13
+
14
+ const orderTypedData = {
15
+ domain: PERMIT2_DOMAIN(order.chainId as SupportedEvmChain),
16
+ types: SINGLE_CHAIN_LIMIT_PERMIT2_TYPES,
17
+ primaryType: 'PermitWitnessTransferFrom',
18
+ message: permissionMessage,
19
+ };
20
+
21
+ return { orderTypedData, nonce: randomNonce };
22
+ }
16
23
 
17
24
  /**
18
25
  * Generates typed data for EVM order signatures
19
26
  * @param order The order to generate typed data for
20
27
  * @returns Object containing the typed data and nonce
21
28
  */
22
- export async function getEvmOrderTypedData(
23
- order: Order,
24
- ): Promise<{ orderTypedData: EvmOrderTypedData; nonce: bigint }> {
29
+ export async function getEVMCrossChainOrderTypedData(
30
+ order: CrossChainOrder,
31
+ ): Promise<{ orderTypedData: TypedDataDefinition; nonce: bigint }> {
25
32
  const randomNonce = EVMIntentProvider.getRandomNonce();
26
- const permissionMessage = EVMIntentProvider.getPermissionMessage(order, randomNonce);
33
+ const permissionMessage = EVMIntentProvider.getCrossChainPermissionMessage(order, randomNonce);
27
34
 
28
35
  const orderTypedData = {
29
36
  domain: PERMIT2_DOMAIN(order.sourceChainId as SupportedEvmChain),
30
- types: PERMIT2_TYPES,
37
+ types: CROSS_CHAIN_PERMIT2_TYPES,
31
38
  primaryType: 'PermitWitnessTransferFrom',
32
39
  message: permissionMessage,
33
- } as EvmOrderTypedData;
34
-
35
- return { orderTypedData, nonce: randomNonce };
36
- }
37
-
38
- export async function sendEvmRequest({
39
- order,
40
- signature,
41
- nonce,
42
- }: {
43
- order: Order;
44
- signature: string;
45
- nonce: bigint;
46
- }): Promise<ApiResponse> {
47
- const preparedOrder: PreparedOrder = {
48
- order,
49
- preparedData: {
50
- signature,
51
- nonce: nonce.toString(),
52
- },
53
40
  };
54
41
 
55
- return BaseSDK.sendOrder(preparedOrder);
42
+ return { orderTypedData, nonce: randomNonce };
56
43
  }
@@ -7,7 +7,13 @@ export type TokenPermissions = {
7
7
  amount: bigint;
8
8
  };
9
9
 
10
- export type OrderInfo = {
10
+ export type TransferData = {
11
+ token: Address;
12
+ receiver: Address;
13
+ amount: bigint;
14
+ };
15
+
16
+ export type CrossChainOrderInfo = {
11
17
  user: Address;
12
18
  tokenIn: Address;
13
19
  srcChainId: number;
@@ -18,21 +24,63 @@ export type OrderInfo = {
18
24
  nonce: bigint;
19
25
  };
20
26
 
21
- export type PermitTransferFrom = {
27
+ export type SingleChainLimitOrder = {
28
+ user: Address;
29
+ tokenIn: Address;
30
+ amountIn: bigint;
31
+ requestedOutput: TransferData;
32
+ extraTransfers: TransferData[];
33
+ encodedExternalCallData: Hex;
34
+ deadline: number;
35
+ nonce: bigint;
36
+ };
37
+
38
+ export type DcaOrderInfo = {
39
+ user: Address;
40
+ tokenIn: Address;
41
+ srcChainId: number;
42
+ startTime: number;
43
+ deadline: number;
44
+ totalIntervals: number;
45
+ intervalDuration: number;
46
+ amountInPerInterval: bigint;
47
+ minStablecoinsAmountPerInterval: bigint;
48
+ executionDetailsHash: Hex;
49
+ nonce: bigint;
50
+ };
51
+
52
+ export type CrossChainPermitTransferFrom = {
22
53
  permitted: TokenPermissions;
23
54
  spender: Address;
24
55
  nonce: bigint;
25
56
  deadline: bigint;
26
- witness: OrderInfo;
57
+ witness: CrossChainOrderInfo;
27
58
  };
28
59
 
29
- const TOKEN_PERMISSIONS = [
60
+ export type SingleChainPermitTransferFrom = {
61
+ permitted: TokenPermissions;
62
+ spender: Address;
63
+ nonce: bigint;
64
+ deadline: bigint;
65
+ witness: SingleChainLimitOrder;
66
+ };
67
+
68
+ export type PermitTransferFrom = CrossChainPermitTransferFrom | SingleChainPermitTransferFrom;
69
+
70
+ const TOKEN_PERMISSIONS_TYPE = [
30
71
  { name: 'token', type: 'address' },
31
72
  { name: 'amount', type: 'uint256' },
32
73
  ] as const;
33
74
 
34
- export const PERMIT2_TYPES = {
35
- TokenPermissions: TOKEN_PERMISSIONS,
75
+ const TRANSFER_DATA_TYPE = [
76
+ { name: 'token', type: 'address' },
77
+ { name: 'receiver', type: 'address' },
78
+ { name: 'amount', type: 'uint256' },
79
+ ] as const;
80
+
81
+ // Cross-chain order types
82
+ export const CROSS_CHAIN_PERMIT2_TYPES = {
83
+ TokenPermissions: TOKEN_PERMISSIONS_TYPE,
36
84
  OrderInfo: [
37
85
  { name: 'user', type: 'address' },
38
86
  { name: 'tokenIn', type: 'address' },
@@ -52,9 +100,31 @@ export const PERMIT2_TYPES = {
52
100
  ],
53
101
  } as const;
54
102
 
55
- export const PERMIT2_DOMAIN = (chainId: SupportedEvmChain) =>
56
- ({
57
- name: 'Permit2',
58
- chainId,
59
- verifyingContract: PERMIT2_ADDRESS[chainId],
60
- }) as TypedDataDomain;
103
+ // Single-chain limit order types
104
+ export const SINGLE_CHAIN_LIMIT_PERMIT2_TYPES = {
105
+ TokenPermissions: TOKEN_PERMISSIONS_TYPE,
106
+ TransferData: TRANSFER_DATA_TYPE,
107
+ SingleChainLimitOrder: [
108
+ { name: 'user', type: 'address' },
109
+ { name: 'tokenIn', type: 'address' },
110
+ { name: 'amountIn', type: 'uint256' },
111
+ { name: 'requestedOutput', type: 'TransferData' },
112
+ { name: 'extraTransfers', type: 'TransferData[]' },
113
+ { name: 'encodedExternalCallData', type: 'bytes' },
114
+ { name: 'deadline', type: 'uint32' },
115
+ { name: 'nonce', type: 'uint256' },
116
+ ],
117
+ PermitWitnessTransferFrom: [
118
+ { name: 'permitted', type: 'TokenPermissions' },
119
+ { name: 'spender', type: 'address' },
120
+ { name: 'nonce', type: 'uint256' },
121
+ { name: 'deadline', type: 'uint256' },
122
+ { name: 'witness', type: 'SingleChainLimitOrder' },
123
+ ],
124
+ } as const;
125
+
126
+ export const PERMIT2_DOMAIN = (chainId: SupportedEvmChain): TypedDataDomain => ({
127
+ name: 'Permit2',
128
+ chainId,
129
+ verifyingContract: PERMIT2_ADDRESS[chainId],
130
+ });