@shogun-sdk/intents-sdk 1.0.1 → 1.1.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 (707) 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 → esm}/chains.js +18 -7
  5. package/dist/esm/chains.js.map +1 -0
  6. package/dist/esm/constants.js +95 -0
  7. package/dist/esm/constants.js.map +1 -0
  8. package/dist/esm/core/evm/abi/permit2.js +395 -0
  9. package/dist/esm/core/evm/abi/permit2.js.map +1 -0
  10. package/dist/esm/core/evm/abi/single-chain-guard-limit.js +768 -0
  11. package/dist/esm/core/evm/abi/single-chain-guard-limit.js.map +1 -0
  12. package/dist/{_esm → esm}/core/evm/abi/source-chain-guard.js +2 -1
  13. package/dist/esm/core/evm/abi/source-chain-guard.js.map +1 -0
  14. package/dist/esm/core/evm/cancel-order.js +130 -0
  15. package/dist/esm/core/evm/cancel-order.js.map +1 -0
  16. package/dist/{_esm/core/evm/viem-provider.js → esm/core/evm/chain-provider.js} +44 -2
  17. package/dist/esm/core/evm/chain-provider.js.map +1 -0
  18. package/dist/esm/core/evm/connectors/hyperevm.js +23 -0
  19. package/dist/esm/core/evm/connectors/hyperevm.js.map +1 -0
  20. package/dist/esm/core/evm/intent-provider.js +109 -0
  21. package/dist/esm/core/evm/intent-provider.js.map +1 -0
  22. package/dist/esm/core/evm/order-signature.js +30 -0
  23. package/dist/esm/core/evm/order-signature.js.map +1 -0
  24. package/dist/esm/core/evm/permit2.js +59 -0
  25. package/dist/esm/core/evm/permit2.js.map +1 -0
  26. package/dist/esm/core/evm/sdk.js +188 -0
  27. package/dist/esm/core/evm/sdk.js.map +1 -0
  28. package/dist/esm/core/evm/validator.js +90 -0
  29. package/dist/esm/core/evm/validator.js.map +1 -0
  30. package/dist/esm/core/orders/api/fetch.js +17 -0
  31. package/dist/esm/core/orders/api/fetch.js.map +1 -0
  32. package/dist/esm/core/orders/common.js +8 -0
  33. package/dist/esm/core/orders/common.js.map +1 -0
  34. package/dist/esm/core/orders/cross-chain.js +316 -0
  35. package/dist/esm/core/orders/cross-chain.js.map +1 -0
  36. package/dist/esm/core/orders/single-chain.js +185 -0
  37. package/dist/esm/core/orders/single-chain.js.map +1 -0
  38. package/dist/esm/core/sdk.js +112 -0
  39. package/dist/esm/core/sdk.js.map +1 -0
  40. package/dist/esm/core/solana/cancel-order.js +176 -0
  41. package/dist/esm/core/solana/cancel-order.js.map +1 -0
  42. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/accounts/adminSingleton.js +3 -1
  43. package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js.map +1 -0
  44. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/accounts/guard.js +1 -1
  45. package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js.map +1 -0
  46. package/dist/esm/core/solana/generated/cross-chain/accounts/index.js.map +1 -0
  47. package/dist/esm/core/solana/generated/cross-chain/accounts/order.js.map +1 -0
  48. package/dist/esm/core/solana/generated/cross-chain/errors/index.js.map +1 -0
  49. package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js.map +1 -0
  50. package/dist/esm/core/solana/generated/cross-chain/index.js.map +1 -0
  51. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js +91 -0
  52. package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js.map +1 -0
  53. package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js.map +1 -0
  54. package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js.map +1 -0
  55. package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js.map +1 -0
  56. package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js.map +1 -0
  57. package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js.map +1 -0
  58. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/index.js +1 -0
  59. package/dist/esm/core/solana/generated/cross-chain/instructions/index.js.map +1 -0
  60. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/initialize.js +19 -1
  61. package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js.map +1 -0
  62. package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js.map +1 -0
  63. package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js.map +1 -0
  64. package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js.map +1 -0
  65. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js.map +1 -0
  66. package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js.map +1 -0
  67. package/dist/esm/core/solana/generated/cross-chain/programs/index.js.map +1 -0
  68. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/programs/sourceChainGuard.js +16 -12
  69. package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js.map +1 -0
  70. package/dist/esm/core/solana/generated/cross-chain/shared/index.js.map +1 -0
  71. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js +18 -0
  72. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js.map +1 -0
  73. package/dist/esm/core/solana/generated/cross-chain/types/adminUpdated.js.map +1 -0
  74. package/dist/esm/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.js.map +1 -0
  75. package/dist/esm/core/solana/generated/cross-chain/types/executionStarted.js.map +1 -0
  76. package/dist/esm/core/solana/generated/cross-chain/types/guardCreated.js.map +1 -0
  77. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/types/index.js +1 -0
  78. package/dist/esm/core/solana/generated/cross-chain/types/index.js.map +1 -0
  79. package/dist/esm/core/solana/generated/cross-chain/types/orderCancelled.js.map +1 -0
  80. package/dist/esm/core/solana/generated/cross-chain/types/orderCreated.js.map +1 -0
  81. package/dist/esm/core/solana/generated/cross-chain/types/orderFulfilled.js.map +1 -0
  82. package/dist/esm/core/solana/generated/cross-chain/types/tokenInSwapped.js.map +1 -0
  83. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js +58 -0
  84. package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js.map +1 -0
  85. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js +75 -0
  86. package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js.map +1 -0
  87. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js +62 -0
  88. package/dist/esm/core/solana/generated/single-chain/accounts/guard.js.map +1 -0
  89. package/dist/esm/core/solana/generated/single-chain/accounts/index.js +12 -0
  90. package/dist/esm/core/solana/generated/single-chain/accounts/index.js.map +1 -0
  91. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js +65 -0
  92. package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js.map +1 -0
  93. package/dist/esm/core/solana/generated/single-chain/errors/index.js +9 -0
  94. package/dist/esm/core/solana/generated/single-chain/errors/index.js.map +1 -0
  95. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js +101 -0
  96. package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js.map +1 -0
  97. package/dist/esm/core/solana/generated/single-chain/index.js +13 -0
  98. package/dist/esm/core/solana/generated/single-chain/index.js.map +1 -0
  99. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js +91 -0
  100. package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js.map +1 -0
  101. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js +91 -0
  102. package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js.map +1 -0
  103. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js +91 -0
  104. package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js.map +1 -0
  105. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js +140 -0
  106. package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js.map +1 -0
  107. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js +188 -0
  108. package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js.map +1 -0
  109. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js +173 -0
  110. package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js.map +1 -0
  111. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js +184 -0
  112. package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js.map +1 -0
  113. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js +170 -0
  114. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js.map +1 -0
  115. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js +167 -0
  116. package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js.map +1 -0
  117. package/dist/esm/core/solana/generated/single-chain/instructions/index.js +20 -0
  118. package/dist/esm/core/solana/generated/single-chain/instructions/index.js.map +1 -0
  119. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js +127 -0
  120. package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js.map +1 -0
  121. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js +98 -0
  122. package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js.map +1 -0
  123. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js +104 -0
  124. package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js.map +1 -0
  125. package/dist/esm/core/solana/generated/single-chain/programs/index.js +9 -0
  126. package/dist/esm/core/solana/generated/single-chain/programs/index.js.map +1 -0
  127. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js +90 -0
  128. package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js.map +1 -0
  129. package/dist/esm/core/solana/generated/single-chain/shared/index.js +82 -0
  130. package/dist/esm/core/solana/generated/single-chain/shared/index.js.map +1 -0
  131. package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js +18 -0
  132. package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js.map +1 -0
  133. package/dist/esm/core/solana/generated/single-chain/types/adminUpdated.js +18 -0
  134. package/dist/esm/core/solana/generated/single-chain/types/adminUpdated.js.map +1 -0
  135. package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js +24 -0
  136. package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js.map +1 -0
  137. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderCreated.js +42 -0
  138. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderCreated.js.map +1 -0
  139. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js +18 -0
  140. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js.map +1 -0
  141. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js +30 -0
  142. package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js.map +1 -0
  143. package/dist/esm/core/solana/generated/single-chain/types/guardCreated.js +26 -0
  144. package/dist/esm/core/solana/generated/single-chain/types/guardCreated.js.map +1 -0
  145. package/dist/esm/core/solana/generated/single-chain/types/index.js +18 -0
  146. package/dist/esm/core/solana/generated/single-chain/types/index.js.map +1 -0
  147. package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js +36 -0
  148. package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js.map +1 -0
  149. package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js +24 -0
  150. package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js.map +1 -0
  151. package/dist/esm/core/solana/generated/single-chain/types/orderCancelled.js +18 -0
  152. package/dist/esm/core/solana/generated/single-chain/types/orderCancelled.js.map +1 -0
  153. package/dist/esm/core/solana/order-instructions.js +163 -0
  154. package/dist/esm/core/solana/order-instructions.js.map +1 -0
  155. package/dist/esm/core/solana/sdk.js +199 -0
  156. package/dist/esm/core/solana/sdk.js.map +1 -0
  157. package/dist/esm/core/solana/utils.js +19 -0
  158. package/dist/esm/core/solana/utils.js.map +1 -0
  159. package/dist/{_esm → esm}/core/solana/validator.js +4 -1
  160. package/dist/esm/core/solana/validator.js.map +1 -0
  161. package/dist/esm/core/sui/cancel.js +36 -0
  162. package/dist/esm/core/sui/cancel.js.map +1 -0
  163. package/dist/{_esm → esm}/core/sui/order-transaction.js +10 -9
  164. package/dist/esm/core/sui/order-transaction.js.map +1 -0
  165. package/dist/{_esm → esm}/core/sui/sdk.js +67 -21
  166. package/dist/esm/core/sui/sdk.js.map +1 -0
  167. package/dist/{_esm → esm}/core/sui/validator.js +4 -1
  168. package/dist/{_esm → esm}/core/sui/validator.js.map +1 -1
  169. package/dist/{_esm → esm}/errors/index.js +0 -32
  170. package/dist/esm/errors/index.js.map +1 -0
  171. package/dist/esm/index.js +20 -0
  172. package/dist/esm/index.js.map +1 -0
  173. package/dist/esm/types/api.js +7 -0
  174. package/dist/esm/types/api.js.map +1 -0
  175. package/dist/{_esm → esm}/utils/base-validator.js +16 -4
  176. package/dist/esm/utils/base-validator.js.map +1 -0
  177. package/dist/{_esm → esm}/utils/defillama.js +14 -25
  178. package/dist/esm/utils/defillama.js.map +1 -0
  179. package/dist/{_esm → esm}/utils/order-validator.js +17 -11
  180. package/dist/esm/utils/order-validator.js.map +1 -0
  181. package/dist/esm/utils/parsers.js +28 -0
  182. package/dist/esm/utils/parsers.js.map +1 -0
  183. package/dist/esm/utils/quote/aftermath.js +15 -0
  184. package/dist/esm/utils/quote/aftermath.js.map +1 -0
  185. package/dist/esm/utils/quote/aggregator.js +254 -0
  186. package/dist/esm/utils/quote/aggregator.js.map +1 -0
  187. package/dist/esm/utils/quote/jupiter.js +31 -0
  188. package/dist/esm/utils/quote/jupiter.js.map +1 -0
  189. package/dist/esm/utils/quote/liquidswap.js +22 -0
  190. package/dist/esm/utils/quote/liquidswap.js.map +1 -0
  191. package/dist/esm/utils/quote/paraswap.js +67 -0
  192. package/dist/esm/utils/quote/paraswap.js.map +1 -0
  193. package/dist/esm/utils/quote/stablecoins-tokens.js +13 -0
  194. package/dist/esm/utils/quote/stablecoins-tokens.js.map +1 -0
  195. package/dist/types/auth/siwe.d.ts +13 -0
  196. package/dist/types/auth/siwe.d.ts.map +1 -0
  197. package/dist/{_types → types}/chains.d.ts +7 -15
  198. package/dist/types/chains.d.ts.map +1 -0
  199. package/dist/types/constants.d.ts +41 -0
  200. package/dist/types/constants.d.ts.map +1 -0
  201. package/dist/types/core/evm/abi/permit2.d.ts +304 -0
  202. package/dist/types/core/evm/abi/permit2.d.ts.map +1 -0
  203. package/dist/types/core/evm/abi/single-chain-guard-limit.d.ts +596 -0
  204. package/dist/types/core/evm/abi/single-chain-guard-limit.d.ts.map +1 -0
  205. package/dist/{_types → types}/core/evm/abi/source-chain-guard.d.ts +1 -1
  206. package/dist/{_types → types}/core/evm/abi/source-chain-guard.d.ts.map +1 -1
  207. package/dist/types/core/evm/cancel-order.d.ts +28 -0
  208. package/dist/types/core/evm/cancel-order.d.ts.map +1 -0
  209. package/dist/types/core/evm/chain-provider.d.ts +62338 -0
  210. package/dist/types/core/evm/chain-provider.d.ts.map +1 -0
  211. package/dist/types/core/evm/connectors/hyperevm.d.ts +38 -0
  212. package/dist/types/core/evm/connectors/hyperevm.d.ts.map +1 -0
  213. package/dist/types/core/evm/intent-provider.d.ts +16 -0
  214. package/dist/types/core/evm/intent-provider.d.ts.map +1 -0
  215. package/dist/types/core/evm/order-signature.d.ts +17 -0
  216. package/dist/types/core/evm/order-signature.d.ts.map +1 -0
  217. package/dist/types/core/evm/permit2.d.ts +171 -0
  218. package/dist/types/core/evm/permit2.d.ts.map +1 -0
  219. package/dist/types/core/evm/sdk.d.ts +65 -0
  220. package/dist/types/core/evm/sdk.d.ts.map +1 -0
  221. package/dist/types/core/evm/validator.d.ts +19 -0
  222. package/dist/types/core/evm/validator.d.ts.map +1 -0
  223. package/dist/types/core/orders/api/fetch.d.ts +3 -0
  224. package/dist/types/core/orders/api/fetch.d.ts.map +1 -0
  225. package/dist/types/core/orders/common.d.ts +12 -0
  226. package/dist/types/core/orders/common.d.ts.map +1 -0
  227. package/dist/{_types/core/order.d.ts → types/core/orders/cross-chain.d.ts} +36 -33
  228. package/dist/types/core/orders/cross-chain.d.ts.map +1 -0
  229. package/dist/types/core/orders/single-chain.d.ts +46 -0
  230. package/dist/types/core/orders/single-chain.d.ts.map +1 -0
  231. package/dist/types/core/sdk.d.ts +26 -0
  232. package/dist/types/core/sdk.d.ts.map +1 -0
  233. package/dist/types/core/solana/cancel-order.d.ts +18 -0
  234. package/dist/types/core/solana/cancel-order.d.ts.map +1 -0
  235. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/accounts/adminSingleton.d.ts +5 -1
  236. package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts.map +1 -0
  237. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/accounts/guard.d.ts +1 -1
  238. package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts.map +1 -0
  239. package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts.map +1 -0
  240. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/accounts/order.d.ts +1 -1
  241. package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts.map +1 -0
  242. package/dist/types/core/solana/generated/cross-chain/errors/index.d.ts.map +1 -0
  243. package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts.map +1 -0
  244. package/dist/types/core/solana/generated/cross-chain/index.d.ts.map +1 -0
  245. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts +56 -0
  246. package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts.map +1 -0
  247. package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts.map +1 -0
  248. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/claimTokens.d.ts +6 -6
  249. package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts.map +1 -0
  250. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/collectProtocolFees.d.ts +3 -3
  251. package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts.map +1 -0
  252. package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts.map +1 -0
  253. package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts.map +1 -0
  254. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/index.d.ts +1 -0
  255. package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts.map +1 -0
  256. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/initialize.d.ts +30 -7
  257. package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts.map +1 -0
  258. package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts.map +1 -0
  259. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/setAdmin.d.ts +3 -3
  260. package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts.map +1 -0
  261. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/setAuctioneerPubKey.d.ts +3 -3
  262. package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -0
  263. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts.map +1 -0
  264. package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts.map +1 -0
  265. package/dist/types/core/solana/generated/cross-chain/programs/index.d.ts.map +1 -0
  266. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/programs/sourceChainGuard.d.ts +17 -14
  267. package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts.map +1 -0
  268. package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts.map +1 -0
  269. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts +16 -0
  270. package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts.map +1 -0
  271. package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts.map +1 -0
  272. package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -0
  273. package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts.map +1 -0
  274. package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts.map +1 -0
  275. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/types/index.d.ts +1 -0
  276. package/dist/types/core/solana/generated/cross-chain/types/index.d.ts.map +1 -0
  277. package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts.map +1 -0
  278. package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts.map +1 -0
  279. package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts.map +1 -0
  280. package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts.map +1 -0
  281. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts +40 -0
  282. package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts.map +1 -0
  283. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts +99 -0
  284. package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts.map +1 -0
  285. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts +48 -0
  286. package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts.map +1 -0
  287. package/dist/types/core/solana/generated/single-chain/accounts/index.d.ts +12 -0
  288. package/dist/types/core/solana/generated/single-chain/accounts/index.d.ts.map +1 -0
  289. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts +79 -0
  290. package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts.map +1 -0
  291. package/dist/types/core/solana/generated/single-chain/errors/index.d.ts +9 -0
  292. package/dist/types/core/solana/generated/single-chain/errors/index.d.ts.map +1 -0
  293. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts +71 -0
  294. package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts.map +1 -0
  295. package/dist/types/core/solana/generated/single-chain/index.d.ts +13 -0
  296. package/dist/types/core/solana/generated/single-chain/index.d.ts.map +1 -0
  297. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts +56 -0
  298. package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts.map +1 -0
  299. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts +72 -0
  300. package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts.map +1 -0
  301. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts +72 -0
  302. package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts.map +1 -0
  303. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts +91 -0
  304. package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts.map +1 -0
  305. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts +134 -0
  306. package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts.map +1 -0
  307. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts +107 -0
  308. package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts.map +1 -0
  309. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts +126 -0
  310. package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts.map +1 -0
  311. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts +179 -0
  312. package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts.map +1 -0
  313. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts +179 -0
  314. package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts.map +1 -0
  315. package/dist/types/core/solana/generated/single-chain/instructions/index.d.ts +20 -0
  316. package/dist/types/core/solana/generated/single-chain/instructions/index.d.ts.map +1 -0
  317. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts +86 -0
  318. package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts.map +1 -0
  319. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts +61 -0
  320. package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts.map +1 -0
  321. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts +68 -0
  322. package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -0
  323. package/dist/types/core/solana/generated/single-chain/programs/index.d.ts +9 -0
  324. package/dist/types/core/solana/generated/single-chain/programs/index.d.ts.map +1 -0
  325. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts +63 -0
  326. package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts.map +1 -0
  327. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts +52 -0
  328. package/dist/types/core/solana/generated/single-chain/shared/index.d.ts.map +1 -0
  329. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts +16 -0
  330. package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts.map +1 -0
  331. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts +16 -0
  332. package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts.map +1 -0
  333. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts +17 -0
  334. package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -0
  335. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts +38 -0
  336. package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts.map +1 -0
  337. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts +16 -0
  338. package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts.map +1 -0
  339. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts +26 -0
  340. package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts.map +1 -0
  341. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts +18 -0
  342. package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts.map +1 -0
  343. package/dist/types/core/solana/generated/single-chain/types/index.d.ts +18 -0
  344. package/dist/types/core/solana/generated/single-chain/types/index.d.ts.map +1 -0
  345. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts +32 -0
  346. package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts.map +1 -0
  347. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts +20 -0
  348. package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts.map +1 -0
  349. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts +16 -0
  350. package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts.map +1 -0
  351. package/dist/types/core/solana/order-instructions.d.ts +16 -0
  352. package/dist/types/core/solana/order-instructions.d.ts.map +1 -0
  353. package/dist/{_types → types}/core/solana/sdk.d.ts +12 -3
  354. package/dist/types/core/solana/sdk.d.ts.map +1 -0
  355. package/dist/types/core/solana/utils.d.ts +6 -0
  356. package/dist/types/core/solana/utils.d.ts.map +1 -0
  357. package/dist/{_types → types}/core/solana/validator.d.ts +2 -1
  358. package/dist/types/core/solana/validator.d.ts.map +1 -0
  359. package/dist/types/core/sui/cancel.d.ts +3 -0
  360. package/dist/types/core/sui/cancel.d.ts.map +1 -0
  361. package/dist/{_types → types}/core/sui/order-transaction.d.ts +2 -2
  362. package/dist/types/core/sui/order-transaction.d.ts.map +1 -0
  363. package/dist/{_types → types}/core/sui/sdk.d.ts +10 -3
  364. package/dist/types/core/sui/sdk.d.ts.map +1 -0
  365. package/dist/{_types → types}/core/sui/validator.d.ts +2 -1
  366. package/dist/{_types → types}/core/sui/validator.d.ts.map +1 -1
  367. package/dist/{_types → types}/errors/index.d.ts +0 -15
  368. package/dist/types/errors/index.d.ts.map +1 -0
  369. package/dist/types/index.d.ts +26 -0
  370. package/dist/types/index.d.ts.map +1 -0
  371. package/dist/types/types/api.d.ts +65 -0
  372. package/dist/types/types/api.d.ts.map +1 -0
  373. package/dist/{_types → types}/types/intent.d.ts +33 -57
  374. package/dist/types/types/intent.d.ts.map +1 -0
  375. package/dist/{_types → types}/utils/base-validator.d.ts +15 -4
  376. package/dist/types/utils/base-validator.d.ts.map +1 -0
  377. package/dist/{_types → types}/utils/defillama.d.ts +2 -2
  378. package/dist/types/utils/defillama.d.ts.map +1 -0
  379. package/dist/{_types → types}/utils/order-validator.d.ts +20 -11
  380. package/dist/types/utils/order-validator.d.ts.map +1 -0
  381. package/dist/types/utils/parsers.d.ts +6 -0
  382. package/dist/types/utils/parsers.d.ts.map +1 -0
  383. package/dist/types/utils/quote/aftermath.d.ts +9 -0
  384. package/dist/types/utils/quote/aftermath.d.ts.map +1 -0
  385. package/dist/types/utils/quote/aggregator.d.ts +64 -0
  386. package/dist/types/utils/quote/aggregator.d.ts.map +1 -0
  387. package/dist/types/utils/quote/jupiter.d.ts +16 -0
  388. package/dist/types/utils/quote/jupiter.d.ts.map +1 -0
  389. package/dist/types/utils/quote/liquidswap.d.ts +16 -0
  390. package/dist/types/utils/quote/liquidswap.d.ts.map +1 -0
  391. package/dist/types/utils/quote/paraswap.d.ts +23 -0
  392. package/dist/types/utils/quote/paraswap.d.ts.map +1 -0
  393. package/dist/types/utils/quote/stablecoins-tokens.d.ts +11 -0
  394. package/dist/types/utils/quote/stablecoins-tokens.d.ts.map +1 -0
  395. package/package.json +22 -11
  396. package/src/auth/siwe.ts +41 -0
  397. package/src/chains.ts +20 -23
  398. package/src/constants.ts +88 -34
  399. package/src/core/evm/abi/permit2.ts +394 -0
  400. package/src/core/evm/abi/single-chain-guard-limit.ts +767 -0
  401. package/src/core/evm/abi/source-chain-guard.ts +2 -1
  402. package/src/core/evm/cancel-order.ts +163 -0
  403. package/src/core/evm/{viem-provider.ts → chain-provider.ts} +46 -1
  404. package/src/core/evm/connectors/hyperevm.ts +23 -0
  405. package/src/core/evm/intent-provider.ts +71 -12
  406. package/src/core/evm/order-signature.ts +25 -15
  407. package/src/core/evm/permit2.ts +82 -12
  408. package/src/core/evm/sdk.ts +208 -35
  409. package/src/core/evm/validator.ts +73 -11
  410. package/src/core/orders/api/fetch.ts +21 -0
  411. package/src/core/orders/common.ts +19 -0
  412. package/src/core/orders/cross-chain.ts +323 -0
  413. package/src/core/orders/single-chain.ts +174 -0
  414. package/src/core/sdk.ts +111 -136
  415. package/src/core/solana/cancel-order.ts +264 -0
  416. package/src/core/solana/generated/{accounts → cross-chain/accounts}/adminSingleton.ts +15 -9
  417. package/src/core/solana/generated/{accounts → cross-chain/accounts}/guard.ts +10 -10
  418. package/src/core/solana/generated/{accounts → cross-chain/accounts}/order.ts +8 -8
  419. package/src/core/solana/generated/cross-chain/instructions/acceptAdmin.ts +200 -0
  420. package/src/core/solana/generated/{instructions → cross-chain/instructions}/claimTokens.ts +10 -10
  421. package/src/core/solana/generated/{instructions → cross-chain/instructions}/collectProtocolFees.ts +8 -8
  422. package/src/core/solana/generated/{instructions → cross-chain/instructions}/createGuard.ts +5 -5
  423. package/src/core/solana/generated/{instructions → cross-chain/instructions}/createOrder.ts +5 -5
  424. package/src/core/solana/generated/{instructions → cross-chain/instructions}/index.ts +1 -0
  425. package/src/core/solana/generated/{instructions → cross-chain/instructions}/initialize.ts +104 -12
  426. package/src/core/solana/generated/{instructions → cross-chain/instructions}/setAdmin.ts +8 -8
  427. package/src/core/solana/generated/{instructions → cross-chain/instructions}/setAuctioneerPubKey.ts +8 -8
  428. package/src/core/solana/generated/{programs → cross-chain/programs}/sourceChainGuard.ts +16 -2
  429. package/src/core/solana/generated/{shared → cross-chain/shared}/index.ts +2 -2
  430. package/src/core/solana/generated/cross-chain/types/adminUpdateStarted.ts +35 -0
  431. package/src/core/solana/generated/{types → cross-chain/types}/index.ts +1 -0
  432. package/src/core/solana/generated/single-chain/accounts/adminSingleton.ts +142 -0
  433. package/src/core/solana/generated/single-chain/accounts/dcaOrder.ts +222 -0
  434. package/src/core/solana/generated/single-chain/accounts/guard.ts +156 -0
  435. package/src/core/solana/generated/single-chain/accounts/index.ts +12 -0
  436. package/src/core/solana/generated/single-chain/accounts/limitOrder.ts +192 -0
  437. package/src/core/solana/generated/single-chain/errors/index.ts +9 -0
  438. package/src/core/solana/generated/single-chain/errors/singleChainGuard.ts +140 -0
  439. package/src/core/solana/generated/single-chain/index.ts +13 -0
  440. package/src/core/solana/generated/single-chain/instructions/acceptAdmin.ts +200 -0
  441. package/src/core/solana/generated/single-chain/instructions/cancelDcaOrder.ts +251 -0
  442. package/src/core/solana/generated/single-chain/instructions/cancelLimitOrder.ts +254 -0
  443. package/src/core/solana/generated/single-chain/instructions/collectProtocolFees.ts +373 -0
  444. package/src/core/solana/generated/single-chain/instructions/createDcaOrder.ts +500 -0
  445. package/src/core/solana/generated/single-chain/instructions/createGuard.ts +437 -0
  446. package/src/core/solana/generated/single-chain/instructions/createLimitOrder.ts +491 -0
  447. package/src/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.ts +538 -0
  448. package/src/core/solana/generated/single-chain/instructions/fulfillLimitOrder.ts +532 -0
  449. package/src/core/solana/generated/single-chain/instructions/index.ts +20 -0
  450. package/src/core/solana/generated/single-chain/instructions/initialize.ts +323 -0
  451. package/src/core/solana/generated/single-chain/instructions/setAdmin.ts +211 -0
  452. package/src/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.ts +241 -0
  453. package/src/core/solana/generated/single-chain/programs/index.ts +9 -0
  454. package/src/core/solana/generated/single-chain/programs/singleChainGuard.ts +247 -0
  455. package/src/core/solana/generated/single-chain/shared/index.ts +124 -0
  456. package/src/core/solana/generated/single-chain/types/adminUpdateStarted.ts +35 -0
  457. package/src/core/solana/generated/single-chain/types/adminUpdated.ts +35 -0
  458. package/src/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.ts +44 -0
  459. package/src/core/solana/generated/single-chain/types/dcaOrderCreated.ts +89 -0
  460. package/src/core/solana/generated/single-chain/types/dcaOrderFulfilled.ts +35 -0
  461. package/src/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.ts +63 -0
  462. package/src/core/solana/generated/single-chain/types/guardCreated.ts +47 -0
  463. package/src/core/solana/generated/single-chain/types/index.ts +18 -0
  464. package/src/core/solana/generated/single-chain/types/limitOrderCreated.ts +77 -0
  465. package/src/core/solana/generated/single-chain/types/limitOrderFulfilled.ts +46 -0
  466. package/src/core/solana/generated/single-chain/types/orderCancelled.ts +35 -0
  467. package/src/core/solana/order-instructions.ts +166 -32
  468. package/src/core/solana/sdk.ts +158 -22
  469. package/src/core/solana/utils.ts +31 -0
  470. package/src/core/solana/validator.ts +5 -1
  471. package/src/core/sui/cancel.ts +44 -0
  472. package/src/core/sui/order-transaction.ts +14 -11
  473. package/src/core/sui/sdk.ts +93 -26
  474. package/src/core/sui/validator.ts +5 -1
  475. package/src/errors/index.ts +1 -37
  476. package/src/index.ts +35 -5
  477. package/src/types/api.ts +78 -0
  478. package/src/types/intent.ts +42 -63
  479. package/src/utils/base-validator.ts +26 -8
  480. package/src/utils/defillama.ts +50 -59
  481. package/src/utils/order-validator.ts +21 -23
  482. package/src/utils/parsers.ts +10 -36
  483. package/src/utils/quote/aftermath.ts +24 -0
  484. package/src/utils/quote/aggregator.ts +331 -0
  485. package/src/utils/quote/jupiter.ts +39 -0
  486. package/src/utils/quote/liquidswap.ts +42 -0
  487. package/src/utils/quote/paraswap.ts +87 -0
  488. package/src/utils/quote/stablecoins-tokens.ts +22 -0
  489. package/dist/_esm/chains.js.map +0 -1
  490. package/dist/_esm/constants.js +0 -53
  491. package/dist/_esm/constants.js.map +0 -1
  492. package/dist/_esm/core/evm/abi/source-chain-guard.js.map +0 -1
  493. package/dist/_esm/core/evm/intent-provider.js +0 -59
  494. package/dist/_esm/core/evm/intent-provider.js.map +0 -1
  495. package/dist/_esm/core/evm/order-signature.js +0 -19
  496. package/dist/_esm/core/evm/order-signature.js.map +0 -1
  497. package/dist/_esm/core/evm/permit2.js +0 -31
  498. package/dist/_esm/core/evm/permit2.js.map +0 -1
  499. package/dist/_esm/core/evm/sdk.js +0 -79
  500. package/dist/_esm/core/evm/sdk.js.map +0 -1
  501. package/dist/_esm/core/evm/validator.js +0 -46
  502. package/dist/_esm/core/evm/validator.js.map +0 -1
  503. package/dist/_esm/core/evm/viem-provider.js.map +0 -1
  504. package/dist/_esm/core/order.js +0 -190
  505. package/dist/_esm/core/order.js.map +0 -1
  506. package/dist/_esm/core/sdk.js +0 -141
  507. package/dist/_esm/core/sdk.js.map +0 -1
  508. package/dist/_esm/core/solana/generated/accounts/adminSingleton.js.map +0 -1
  509. package/dist/_esm/core/solana/generated/accounts/guard.js.map +0 -1
  510. package/dist/_esm/core/solana/generated/accounts/index.js.map +0 -1
  511. package/dist/_esm/core/solana/generated/accounts/order.js.map +0 -1
  512. package/dist/_esm/core/solana/generated/errors/index.js.map +0 -1
  513. package/dist/_esm/core/solana/generated/errors/sourceChainGuard.js.map +0 -1
  514. package/dist/_esm/core/solana/generated/index.js.map +0 -1
  515. package/dist/_esm/core/solana/generated/instructions/cancelOrder.js.map +0 -1
  516. package/dist/_esm/core/solana/generated/instructions/claimTokens.js.map +0 -1
  517. package/dist/_esm/core/solana/generated/instructions/collectProtocolFees.js.map +0 -1
  518. package/dist/_esm/core/solana/generated/instructions/createGuard.js.map +0 -1
  519. package/dist/_esm/core/solana/generated/instructions/createOrder.js.map +0 -1
  520. package/dist/_esm/core/solana/generated/instructions/index.js.map +0 -1
  521. package/dist/_esm/core/solana/generated/instructions/initialize.js.map +0 -1
  522. package/dist/_esm/core/solana/generated/instructions/preStartOrderExecution.js.map +0 -1
  523. package/dist/_esm/core/solana/generated/instructions/setAdmin.js.map +0 -1
  524. package/dist/_esm/core/solana/generated/instructions/setAuctioneerPubKey.js.map +0 -1
  525. package/dist/_esm/core/solana/generated/instructions/startOrderExecution.js.map +0 -1
  526. package/dist/_esm/core/solana/generated/instructions/startOrderExecutionAfterSwap.js.map +0 -1
  527. package/dist/_esm/core/solana/generated/programs/index.js.map +0 -1
  528. package/dist/_esm/core/solana/generated/programs/sourceChainGuard.js.map +0 -1
  529. package/dist/_esm/core/solana/generated/shared/index.js.map +0 -1
  530. package/dist/_esm/core/solana/generated/types/adminUpdated.js.map +0 -1
  531. package/dist/_esm/core/solana/generated/types/auctioneerPubkeyUpdated.js.map +0 -1
  532. package/dist/_esm/core/solana/generated/types/executionStarted.js.map +0 -1
  533. package/dist/_esm/core/solana/generated/types/guardCreated.js.map +0 -1
  534. package/dist/_esm/core/solana/generated/types/index.js.map +0 -1
  535. package/dist/_esm/core/solana/generated/types/orderCancelled.js.map +0 -1
  536. package/dist/_esm/core/solana/generated/types/orderCreated.js.map +0 -1
  537. package/dist/_esm/core/solana/generated/types/orderFulfilled.js.map +0 -1
  538. package/dist/_esm/core/solana/generated/types/tokenInSwapped.js.map +0 -1
  539. package/dist/_esm/core/solana/order-instructions.js +0 -92
  540. package/dist/_esm/core/solana/order-instructions.js.map +0 -1
  541. package/dist/_esm/core/solana/sdk.js +0 -111
  542. package/dist/_esm/core/solana/sdk.js.map +0 -1
  543. package/dist/_esm/core/solana/validator.js.map +0 -1
  544. package/dist/_esm/core/sui/order-transaction.js.map +0 -1
  545. package/dist/_esm/core/sui/sdk.js.map +0 -1
  546. package/dist/_esm/errors/index.js.map +0 -1
  547. package/dist/_esm/index.js +0 -8
  548. package/dist/_esm/index.js.map +0 -1
  549. package/dist/_esm/package.json +0 -1
  550. package/dist/_esm/utils/base-validator.js.map +0 -1
  551. package/dist/_esm/utils/defillama.js.map +0 -1
  552. package/dist/_esm/utils/order-validator.js.map +0 -1
  553. package/dist/_esm/utils/parsers.js +0 -51
  554. package/dist/_esm/utils/parsers.js.map +0 -1
  555. package/dist/_types/chains.d.ts.map +0 -1
  556. package/dist/_types/constants.d.ts +0 -21
  557. package/dist/_types/constants.d.ts.map +0 -1
  558. package/dist/_types/core/evm/intent-provider.d.ts +0 -12
  559. package/dist/_types/core/evm/intent-provider.d.ts.map +0 -1
  560. package/dist/_types/core/evm/order-signature.d.ts +0 -19
  561. package/dist/_types/core/evm/order-signature.d.ts.map +0 -1
  562. package/dist/_types/core/evm/permit2.d.ts +0 -75
  563. package/dist/_types/core/evm/permit2.d.ts.map +0 -1
  564. package/dist/_types/core/evm/sdk.d.ts +0 -50
  565. package/dist/_types/core/evm/sdk.d.ts.map +0 -1
  566. package/dist/_types/core/evm/validator.d.ts +0 -13
  567. package/dist/_types/core/evm/validator.d.ts.map +0 -1
  568. package/dist/_types/core/evm/viem-provider.d.ts +0 -9657
  569. package/dist/_types/core/evm/viem-provider.d.ts.map +0 -1
  570. package/dist/_types/core/order.d.ts.map +0 -1
  571. package/dist/_types/core/sdk.d.ts +0 -86
  572. package/dist/_types/core/sdk.d.ts.map +0 -1
  573. package/dist/_types/core/solana/generated/accounts/adminSingleton.d.ts.map +0 -1
  574. package/dist/_types/core/solana/generated/accounts/guard.d.ts.map +0 -1
  575. package/dist/_types/core/solana/generated/accounts/index.d.ts.map +0 -1
  576. package/dist/_types/core/solana/generated/accounts/order.d.ts.map +0 -1
  577. package/dist/_types/core/solana/generated/errors/index.d.ts.map +0 -1
  578. package/dist/_types/core/solana/generated/errors/sourceChainGuard.d.ts.map +0 -1
  579. package/dist/_types/core/solana/generated/index.d.ts.map +0 -1
  580. package/dist/_types/core/solana/generated/instructions/cancelOrder.d.ts.map +0 -1
  581. package/dist/_types/core/solana/generated/instructions/claimTokens.d.ts.map +0 -1
  582. package/dist/_types/core/solana/generated/instructions/collectProtocolFees.d.ts.map +0 -1
  583. package/dist/_types/core/solana/generated/instructions/createGuard.d.ts.map +0 -1
  584. package/dist/_types/core/solana/generated/instructions/createOrder.d.ts.map +0 -1
  585. package/dist/_types/core/solana/generated/instructions/index.d.ts.map +0 -1
  586. package/dist/_types/core/solana/generated/instructions/initialize.d.ts.map +0 -1
  587. package/dist/_types/core/solana/generated/instructions/preStartOrderExecution.d.ts.map +0 -1
  588. package/dist/_types/core/solana/generated/instructions/setAdmin.d.ts.map +0 -1
  589. package/dist/_types/core/solana/generated/instructions/setAuctioneerPubKey.d.ts.map +0 -1
  590. package/dist/_types/core/solana/generated/instructions/startOrderExecution.d.ts.map +0 -1
  591. package/dist/_types/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts.map +0 -1
  592. package/dist/_types/core/solana/generated/programs/index.d.ts.map +0 -1
  593. package/dist/_types/core/solana/generated/programs/sourceChainGuard.d.ts.map +0 -1
  594. package/dist/_types/core/solana/generated/shared/index.d.ts.map +0 -1
  595. package/dist/_types/core/solana/generated/types/adminUpdated.d.ts.map +0 -1
  596. package/dist/_types/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts.map +0 -1
  597. package/dist/_types/core/solana/generated/types/executionStarted.d.ts.map +0 -1
  598. package/dist/_types/core/solana/generated/types/guardCreated.d.ts.map +0 -1
  599. package/dist/_types/core/solana/generated/types/index.d.ts.map +0 -1
  600. package/dist/_types/core/solana/generated/types/orderCancelled.d.ts.map +0 -1
  601. package/dist/_types/core/solana/generated/types/orderCreated.d.ts.map +0 -1
  602. package/dist/_types/core/solana/generated/types/orderFulfilled.d.ts.map +0 -1
  603. package/dist/_types/core/solana/generated/types/tokenInSwapped.d.ts.map +0 -1
  604. package/dist/_types/core/solana/order-instructions.d.ts +0 -12
  605. package/dist/_types/core/solana/order-instructions.d.ts.map +0 -1
  606. package/dist/_types/core/solana/sdk.d.ts.map +0 -1
  607. package/dist/_types/core/solana/validator.d.ts.map +0 -1
  608. package/dist/_types/core/sui/order-transaction.d.ts.map +0 -1
  609. package/dist/_types/core/sui/sdk.d.ts.map +0 -1
  610. package/dist/_types/errors/index.d.ts.map +0 -1
  611. package/dist/_types/index.d.ts +0 -12
  612. package/dist/_types/index.d.ts.map +0 -1
  613. package/dist/_types/types/intent.d.ts.map +0 -1
  614. package/dist/_types/utils/base-validator.d.ts.map +0 -1
  615. package/dist/_types/utils/defillama.d.ts.map +0 -1
  616. package/dist/_types/utils/order-validator.d.ts.map +0 -1
  617. package/dist/_types/utils/parsers.d.ts +0 -19
  618. package/dist/_types/utils/parsers.d.ts.map +0 -1
  619. package/src/core/order.ts +0 -186
  620. package/dist/{_esm → esm}/config.js +0 -0
  621. package/dist/{_esm → esm}/config.js.map +0 -0
  622. package/dist/{_esm → esm}/core/evm/abi/erc20.js +0 -0
  623. package/dist/{_esm → esm}/core/evm/abi/erc20.js.map +0 -0
  624. package/dist/{_esm → esm}/core/solana/client.js +0 -0
  625. package/dist/{_esm → esm}/core/solana/client.js.map +0 -0
  626. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/accounts/index.js +0 -0
  627. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/accounts/order.js +0 -0
  628. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/errors/index.js +0 -0
  629. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/errors/sourceChainGuard.js +0 -0
  630. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/index.js +0 -0
  631. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/cancelOrder.js +0 -0
  632. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/claimTokens.js +0 -0
  633. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/collectProtocolFees.js +0 -0
  634. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/createGuard.js +0 -0
  635. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/createOrder.js +0 -0
  636. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/preStartOrderExecution.js +0 -0
  637. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/setAdmin.js +0 -0
  638. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/setAuctioneerPubKey.js +0 -0
  639. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/startOrderExecution.js +0 -0
  640. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/instructions/startOrderExecutionAfterSwap.js +0 -0
  641. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/programs/index.js +0 -0
  642. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/shared/index.js +0 -0
  643. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/types/adminUpdated.js +0 -0
  644. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/types/auctioneerPubkeyUpdated.js +0 -0
  645. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/types/executionStarted.js +0 -0
  646. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/types/guardCreated.js +0 -0
  647. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/types/orderCancelled.js +0 -0
  648. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/types/orderCreated.js +0 -0
  649. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/types/orderFulfilled.js +0 -0
  650. package/dist/{_esm/core/solana/generated → esm/core/solana/generated/cross-chain}/types/tokenInSwapped.js +0 -0
  651. package/dist/{_esm → esm}/core/sui/client.js +0 -0
  652. package/dist/{_esm → esm}/core/sui/client.js.map +0 -0
  653. package/dist/{_esm → esm}/types/intent.js +0 -0
  654. package/dist/{_esm → esm}/types/intent.js.map +0 -0
  655. package/dist/{_esm → esm}/utils/logger.js +0 -0
  656. package/dist/{_esm → esm}/utils/logger.js.map +0 -0
  657. package/dist/{_esm → esm}/utils/type-utils.js +0 -0
  658. package/dist/{_esm → esm}/utils/type-utils.js.map +0 -0
  659. package/dist/{_types → types}/config.d.ts +0 -0
  660. package/dist/{_types → types}/config.d.ts.map +0 -0
  661. package/dist/{_types → types}/core/evm/abi/erc20.d.ts +0 -0
  662. package/dist/{_types → types}/core/evm/abi/erc20.d.ts.map +0 -0
  663. package/dist/{_types → types}/core/solana/client.d.ts +0 -0
  664. package/dist/{_types → types}/core/solana/client.d.ts.map +0 -0
  665. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/accounts/index.d.ts +0 -0
  666. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/errors/index.d.ts +0 -0
  667. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/errors/sourceChainGuard.d.ts +0 -0
  668. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/index.d.ts +0 -0
  669. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/cancelOrder.d.ts +0 -0
  670. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/createGuard.d.ts +0 -0
  671. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/createOrder.d.ts +0 -0
  672. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/preStartOrderExecution.d.ts +0 -0
  673. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/startOrderExecution.d.ts +0 -0
  674. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/instructions/startOrderExecutionAfterSwap.d.ts +0 -0
  675. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/programs/index.d.ts +0 -0
  676. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/shared/index.d.ts +0 -0
  677. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/types/adminUpdated.d.ts +0 -0
  678. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/types/auctioneerPubkeyUpdated.d.ts +0 -0
  679. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/types/executionStarted.d.ts +0 -0
  680. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/types/guardCreated.d.ts +0 -0
  681. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/types/orderCancelled.d.ts +0 -0
  682. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/types/orderCreated.d.ts +0 -0
  683. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/types/orderFulfilled.d.ts +0 -0
  684. package/dist/{_types/core/solana/generated → types/core/solana/generated/cross-chain}/types/tokenInSwapped.d.ts +0 -0
  685. package/dist/{_types → types}/core/sui/client.d.ts +0 -0
  686. package/dist/{_types → types}/core/sui/client.d.ts.map +0 -0
  687. package/dist/{_types → types}/utils/logger.d.ts +0 -0
  688. package/dist/{_types → types}/utils/logger.d.ts.map +0 -0
  689. package/dist/{_types → types}/utils/type-utils.d.ts +0 -0
  690. package/dist/{_types → types}/utils/type-utils.d.ts.map +0 -0
  691. package/src/core/solana/generated/{accounts → cross-chain/accounts}/index.ts +0 -0
  692. package/src/core/solana/generated/{errors → cross-chain/errors}/index.ts +0 -0
  693. package/src/core/solana/generated/{errors → cross-chain/errors}/sourceChainGuard.ts +0 -0
  694. package/src/core/solana/generated/{index.ts → cross-chain/index.ts} +0 -0
  695. package/src/core/solana/generated/{instructions → cross-chain/instructions}/cancelOrder.ts +4 -4
  696. package/src/core/solana/generated/{instructions → cross-chain/instructions}/preStartOrderExecution.ts +4 -4
  697. package/src/core/solana/generated/{instructions → cross-chain/instructions}/startOrderExecution.ts +4 -4
  698. package/src/core/solana/generated/{instructions → cross-chain/instructions}/startOrderExecutionAfterSwap.ts +4 -4
  699. package/src/core/solana/generated/{programs → cross-chain/programs}/index.ts +0 -0
  700. package/src/core/solana/generated/{types → cross-chain/types}/adminUpdated.ts +4 -4
  701. package/src/core/solana/generated/{types → cross-chain/types}/auctioneerPubkeyUpdated.ts +4 -4
  702. package/src/core/solana/generated/{types → cross-chain/types}/executionStarted.ts +4 -4
  703. package/src/core/solana/generated/{types → cross-chain/types}/guardCreated.ts +4 -4
  704. package/src/core/solana/generated/{types → cross-chain/types}/orderCancelled.ts +4 -4
  705. package/src/core/solana/generated/{types → cross-chain/types}/orderCreated.ts +4 -4
  706. package/src/core/solana/generated/{types → cross-chain/types}/orderFulfilled.ts +4 -4
  707. package/src/core/solana/generated/{types → cross-chain/types}/tokenInSwapped.ts +4 -4
package/src/core/sdk.ts CHANGED
@@ -1,10 +1,15 @@
1
- import { chainIdToChainTypeMap } from '../chains.js';
2
- import { AUCTIONEER_URL, } from '../constants.js';
3
- import { NetworkError } from '../errors/index.js';
4
- import type { CreateOrderParams, PreparedOrder, UserIntentRequest } from '../types/intent.js';
5
- import { calculateAmounts } from '../utils/defillama.js';
1
+ import { AUCTIONEER_URL } from '../constants.js';
2
+ import { NetworkError } from '../errors/index.js';
3
+ import type { ApiResponse, ApiUserOrders } from '../types/api.js';
4
+ import type {
5
+ CrossChainOrderPrepared,
6
+ CrossChainUserIntentRequest,
7
+ SingleChainOrderPrepared,
8
+ SingleChainUserIntentRequest,
9
+ } from '../types/intent.js';
6
10
  import { Parsers } from '../utils/parsers.js';
7
- import { Order } from './order.js';
11
+ import { CrossChainOrder, type CreateCrossChainOrderParams } from './orders/cross-chain.js';
12
+ import { SingleChainOrder, type CreateSingleChainOrderParams } from './orders/single-chain.js';
8
13
 
9
14
  /**
10
15
  * Base SDK providing common functionality for all blockchain implementations
@@ -14,146 +19,117 @@ import { Order } from './order.js';
14
19
  * across different blockchains.
15
20
  */
16
21
  export abstract class BaseSDK {
17
- /**
18
- * Gets the user's wallet address derived from their private key
19
- *
20
- * @returns Promise resolving to the user's address as a string
21
- * @abstract Must be implemented by each chain-specific SDK
22
- */
22
+ public abstract getOrders(): Promise<ApiUserOrders>;
23
23
  public abstract getUserAddress(): Promise<string>;
24
+ protected abstract prepareCrossChainOrder(order: CrossChainOrder): Promise<CrossChainOrderPrepared>;
25
+ protected abstract prepareSingleChainOrder(order: SingleChainOrder): Promise<SingleChainOrderPrepared>;
24
26
 
25
- /**
26
- * Prepares an order for submission with chain-specific logic
27
- *
28
- * This method handles the chain-specific aspects of order creation, such as:
29
- * - Creating and signing transactions
30
- * - Interacting with blockchain-specific smart contracts
31
- * - Generating proof of intent
32
- *
33
- * @param order The validated order to prepare
34
- * @returns Promise resolving to a prepared order with chain-specific data
35
- * @abstract Must be implemented by each chain-specific SDK
36
- * @protected
37
- */
38
- protected abstract prepareOrder(order: Order): Promise<PreparedOrder>;
39
-
40
- /**
41
- * Creates a cross-chain swap order
42
- *
43
- * This method:
44
- * 1. Gets the user's address from their private key
45
- * 2. Creates and validates an Order instance
46
- * 3. Delegates to chain-specific preparation logic
47
- *
48
- * @param params Parameters for order creation including source/destination chain details
49
- * @returns Promise resolving to a prepared order ready for submission
50
- * @throws {ValidationError} If order parameters are invalid
51
- * @throws {OrderCreationError} If order creation fails
52
- */
53
- public async createOrder(params: CreateOrderParams): Promise<PreparedOrder> {
27
+ public async createSingleChainOrder(params: CreateSingleChainOrderParams): Promise<SingleChainOrderPrepared> {
54
28
  const userAddress = await this.getUserAddress();
55
29
 
56
- let minStablecoinAmount: bigint;
57
- let destinationTokenMinAmount: bigint;
58
-
59
- if (!params.minStablecoinAmount || !params.destinationTokenMinAmount) {
60
- // Calculate missing values using DefiLlama
61
- const { amountOut: calculatedAmountOut, minStablecoinsAmount: calculatedMinStablecoins } =
62
- await calculateAmounts({
63
- srcChainId: params.sourceChainId,
64
- tokenIn: params.sourceTokenAddress,
65
- amountIn: params.sourceTokenAmount,
66
- destChainId: params.destinationChainId,
67
- tokenOut: params.destinationTokenAddress,
68
- });
69
-
70
- // Use provided values if available, otherwise use calculated ones
71
- minStablecoinAmount = params.minStablecoinAmount ?? calculatedMinStablecoins;
72
- destinationTokenMinAmount = params.destinationTokenMinAmount ?? calculatedAmountOut;
73
- } else {
74
- // Both values provided, use them directly
75
- minStablecoinAmount = params.minStablecoinAmount;
76
- destinationTokenMinAmount = params.destinationTokenMinAmount;
77
- }
30
+ const order = await SingleChainOrder.create({
31
+ ...params,
32
+ user: userAddress,
33
+ });
34
+
35
+ return this.prepareSingleChainOrder(order);
36
+ }
37
+
38
+ public async createCrossChainOrder(params: CreateCrossChainOrderParams): Promise<CrossChainOrderPrepared> {
39
+ const userAddress = await this.getUserAddress();
78
40
 
79
- // Order is validated upon creation
80
- const order = await Order.create({
41
+ const order = await CrossChainOrder.create({
42
+ ...params,
81
43
  user: userAddress,
82
- sourceChainId: params.sourceChainId,
83
- sourceTokenAddress: params.sourceTokenAddress,
84
- sourceTokenAmount: params.sourceTokenAmount,
85
- minStablecoinAmount: minStablecoinAmount,
86
- deadline: params.deadline,
87
- destinationAddress: params.destinationAddress,
88
- destinationChainId: params.destinationChainId,
89
- destinationTokenAddress: params.destinationTokenAddress,
90
- destinationTokenMinAmount: destinationTokenMinAmount,
91
- extraTransfers: params.extraTransfers,
92
44
  });
93
45
 
94
- return this.prepareOrder(order);
46
+ return this.prepareCrossChainOrder(order);
95
47
  }
96
48
 
97
- /**
98
- * Creates an order and sends it to the auctioneer in a single call
99
- *
100
- * Convenience method that combines order creation and submission
101
- *
102
- * @param params Parameters for order creation including source/destination chain details
103
- * @returns Promise resolving to the auctioneer's HTTP response
104
- * @throws {ValidationError} If order parameters are invalid
105
- * @throws {OrderCreationError} If order creation fails
106
- * @throws {NetworkError} If order submission fails
107
- */
108
- public async createAndSendOrder(params: CreateOrderParams): Promise<Response> {
109
- const preparedOrder = await this.createOrder(params);
110
- return this.sendOrder(preparedOrder);
49
+ public async createAndSendSingleChainOrder(params: CreateSingleChainOrderParams): Promise<ApiResponse> {
50
+ const preparedOrder = await this.createSingleChainOrder(params);
51
+ return BaseSDK.sendSingleChainOrder(preparedOrder);
111
52
  }
112
53
 
113
- /**
114
- * Converts a prepared order into a user intent request format for the auctioneer
115
- *
116
- * The UserIntentRequest format includes:
117
- * - Generic data common to all chains
118
- * - Chain-specific data (signatures, nonces, etc.)
119
- * - Execution details for the destination chain
120
- *
121
- * @param preparedOrder The prepared order with chain-specific data
122
- * @returns User intent request object ready for submission to the auctioneer
123
- * @throws {BaseError} If conversion fails
124
- */
125
- private getUserIntentRequest(preparedOrder: PreparedOrder): UserIntentRequest {
126
- const sourceChain = preparedOrder.order.sourceChainId;
127
- const sourceChainType = chainIdToChainTypeMap[sourceChain];
128
- const executionDetails = preparedOrder.order.getExecutionDetails();
129
-
130
- return {
131
- genericData: preparedOrder.order.toSourceChainData(),
132
- executionDetails: JSON.stringify(executionDetails, Parsers.bigIntReplacer),
133
- chainSpecificData: {
134
- [sourceChainType]: preparedOrder.preparedData,
54
+ public static async sendSingleChainOrder(preparedOrder: SingleChainOrderPrepared): Promise<ApiResponse> {
55
+ const intentRequest = preparedOrder.order.toIntentRequest(preparedOrder.preparedData);
56
+ const body = JSON.stringify(intentRequest, Parsers.bigIntReplacer);
57
+
58
+ const url = `${AUCTIONEER_URL}/user_intent/single_chain/limit_order`;
59
+ const response = await fetch(url, {
60
+ method: 'POST',
61
+ headers: {
62
+ 'Content-Type': 'application/json',
135
63
  },
136
- };
64
+ body,
65
+ });
66
+
67
+ if (!response.ok) {
68
+ const errorJson: ApiResponse = await response.json();
69
+
70
+ const extraErrorData = errorJson.extra_error_data;
71
+ throw new NetworkError(`Server error ${extraErrorData}`);
72
+ }
73
+
74
+ return response.json();
75
+ }
76
+
77
+ public static async validateCrossChainOrder(intentRequest: CrossChainUserIntentRequest): Promise<void> {
78
+ const body = JSON.stringify(intentRequest, Parsers.bigIntReplacer);
79
+
80
+ const url = `${AUCTIONEER_URL}/validate_intent/cross_chain/limit_order`;
81
+ const response = await fetch(url, {
82
+ method: 'POST',
83
+ headers: {
84
+ 'Content-Type': 'application/json',
85
+ },
86
+ body,
87
+ });
88
+
89
+ if (!response.ok) {
90
+ const errorJson: ApiResponse = await response.json();
91
+
92
+ const mainError = errorJson.error;
93
+ const extraErrorData = errorJson.extra_error_data;
94
+ throw new NetworkError(`Validation error: ${mainError}. Extra error data: ${extraErrorData}`);
95
+ }
96
+
97
+ return;
98
+ }
99
+
100
+ public static async validateSingleChainOrder(intentRequest: SingleChainUserIntentRequest): Promise<void> {
101
+ const body = JSON.stringify(intentRequest, Parsers.bigIntReplacer);
102
+
103
+ const url = `${AUCTIONEER_URL}/validate_intent/single_chain/limit_order`;
104
+ const response = await fetch(url, {
105
+ method: 'POST',
106
+ headers: {
107
+ 'Content-Type': 'application/json',
108
+ },
109
+ body,
110
+ });
111
+
112
+ if (!response.ok) {
113
+ const errorJson: ApiResponse = await response.json();
114
+
115
+ const mainError = errorJson.error;
116
+ const extraErrorData = errorJson.extra_error_data;
117
+ throw new NetworkError(`Validation error: ${mainError}. Extra error data: ${extraErrorData}`);
118
+ }
119
+
120
+ return;
121
+ }
122
+
123
+ public async createAndSendCrossChainOrder(params: CreateCrossChainOrderParams): Promise<ApiResponse> {
124
+ const preparedOrder = await this.createCrossChainOrder(params);
125
+ return BaseSDK.sendCrossChainOrder(preparedOrder);
137
126
  }
138
127
 
139
- /**
140
- * Sends a prepared order to the auctioneer service
141
- *
142
- * This method:
143
- * 1. Converts the prepared order to the auctioneer's expected format
144
- * 2. Serializes the request with proper handling of bigint values
145
- * 3. Submits the order to the auctioneer endpoint
146
- * 4. Validates the response
147
- *
148
- * @param preparedOrder The prepared order with chain-specific data
149
- * @returns Promise resolving to the specific-chain tx hash
150
- * @throws {NetworkError} If the network request fails or returns an error
151
- */
152
- public async sendOrder(preparedOrder: PreparedOrder): Promise<Response> {
153
- const intentRequest = this.getUserIntentRequest(preparedOrder);
128
+ public static async sendCrossChainOrder(preparedOrder: CrossChainOrderPrepared): Promise<ApiResponse> {
129
+ const intentRequest = preparedOrder.order.toIntentRequest(preparedOrder.preparedData);
154
130
  const body = JSON.stringify(intentRequest, Parsers.bigIntReplacer);
155
131
 
156
- const url = `${AUCTIONEER_URL}/user_intent`;
132
+ const url = `${AUCTIONEER_URL}/user_intent/cross_chain/limit_order`;
157
133
  const response = await fetch(url, {
158
134
  method: 'POST',
159
135
  headers: {
@@ -163,16 +139,15 @@ export abstract class BaseSDK {
163
139
  });
164
140
 
165
141
  if (!response.ok) {
166
- const errorJson = await response.json();
142
+ const errorJson: ApiResponse = await response.json();
167
143
 
144
+ const mainError = errorJson.error;
168
145
  const extraErrorData = errorJson.extra_error_data;
169
- throw new NetworkError(`Server error`, {
170
- status: response.status,
171
- statusText: response.statusText,
172
- body: extraErrorData,
173
- });
146
+ throw new NetworkError(
147
+ `Failed to send cross-chain order. Main error: ${mainError}. Extra error data: ${extraErrorData}`,
148
+ );
174
149
  }
175
150
 
176
- return response;
151
+ return response.json();
177
152
  }
178
153
  }
@@ -0,0 +1,264 @@
1
+ import {
2
+ address,
3
+ appendTransactionMessageInstructions,
4
+ compileTransactionMessage,
5
+ createNoopSigner,
6
+ createSolanaRpc,
7
+ createTransactionMessage,
8
+ fetchEncodedAccount,
9
+ getAddressEncoder,
10
+ getCompiledTransactionMessageEncoder,
11
+ getProgramDerivedAddress,
12
+ pipe,
13
+ setTransactionMessageFeePayerSigner,
14
+ setTransactionMessageLifetimeUsingBlockhash,
15
+ type Address,
16
+ type IInstruction,
17
+ type ReadonlyUint8Array,
18
+ type TransactionMessageBytes,
19
+ } from '@solana/kit';
20
+ import { getDefaultSolanaRPC } from './client.js';
21
+ import { fetchMaybeLimitOrder, getCancelLimitOrderInstruction } from './generated/single-chain/index.js';
22
+ import {
23
+ ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
24
+ fetchMint,
25
+ getCreateAssociatedTokenInstructionAsync,
26
+ } from '@solana-program/token';
27
+ import { CROSS_CHAIN_GUARD_ADDRESSES, SINGLE_CHAIN_GUARD_ADDRESSES, SOLANA_MINT_TOKEN } from '../../constants.js';
28
+ import { ChainID } from '../../chains.js';
29
+ import { fetchMaybeOrder, getCancelOrderInstruction } from './generated/cross-chain/index.js';
30
+
31
+ export async function cancelSingleChainOrderInstructions(
32
+ orderAddress: string,
33
+ options?: { rpcUrl?: string },
34
+ ): Promise<IInstruction[]> {
35
+ const rpc = options?.rpcUrl ? createSolanaRpc(options.rpcUrl) : getDefaultSolanaRPC();
36
+
37
+ const orderId = address(orderAddress);
38
+ const chainOrder = await fetchMaybeLimitOrder(rpc, orderId);
39
+
40
+ if (!chainOrder.exists) {
41
+ throw new Error(`Order with address ${orderAddress} not found`);
42
+ }
43
+
44
+ const instructions: IInstruction[] = [];
45
+ const orderUserAddress = chainOrder.data.user;
46
+
47
+ const tokenInMint = chainOrder.data.tokenInMint;
48
+
49
+ const tokenMintProgram = await fetchMint(rpc, tokenInMint);
50
+
51
+ const addressEncoder = getAddressEncoder();
52
+
53
+ const [tokenInProgramAccount] = await getProgramDerivedAddress({
54
+ programAddress: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
55
+ seeds: [
56
+ addressEncoder.encode(orderUserAddress),
57
+ addressEncoder.encode(tokenMintProgram.programAddress),
58
+ addressEncoder.encode(tokenInMint),
59
+ ],
60
+ });
61
+
62
+ const guardAddress = SINGLE_CHAIN_GUARD_ADDRESSES[ChainID.Solana] as Address;
63
+ const [guardProgramAccount] = await getProgramDerivedAddress({
64
+ programAddress: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
65
+ seeds: [
66
+ // Owner
67
+ addressEncoder.encode(guardAddress),
68
+ // Token program
69
+ addressEncoder.encode(tokenMintProgram.programAddress),
70
+ // mint address
71
+ addressEncoder.encode(tokenInMint),
72
+ ],
73
+ });
74
+
75
+ const userTokenInAccount = await fetchEncodedAccount(rpc, tokenInProgramAccount);
76
+
77
+ if (!userTokenInAccount.exists) {
78
+ const createTokenIx = await getCreateAssociatedTokenInstructionAsync({
79
+ mint: tokenInMint,
80
+ owner: orderUserAddress,
81
+ payer: createNoopSigner(orderUserAddress),
82
+ tokenProgram: tokenMintProgram.programAddress,
83
+ });
84
+
85
+ instructions.push(createTokenIx);
86
+ }
87
+
88
+ const cancelLimitOrderIx = getCancelLimitOrderInstruction({
89
+ user: createNoopSigner(orderUserAddress),
90
+ order: orderId,
91
+ guard: guardAddress,
92
+ tokenInMint: chainOrder.data.tokenInMint,
93
+ userTokenInAccount: userTokenInAccount.address,
94
+ guardTokenInAccount: guardProgramAccount,
95
+ tokenInProgram: tokenMintProgram.programAddress,
96
+ });
97
+
98
+ instructions.push(cancelLimitOrderIx);
99
+
100
+ return instructions;
101
+ }
102
+
103
+ export async function cancelCrossChainOrderInstructionsAsBytes(
104
+ orderAddress: string,
105
+ signerAddress: string,
106
+ options?: { rpcUrl?: string },
107
+ ): Promise<{ versionedMessageBytes: ReadonlyUint8Array }> {
108
+ const rpc = options?.rpcUrl ? createSolanaRpc(options.rpcUrl) : getDefaultSolanaRPC();
109
+ const instructions = await cancelCrossChainOrderInstructions(orderAddress, options);
110
+ const { value: latestBlockhash } = await rpc.getLatestBlockhash({ commitment: 'confirmed' }).send();
111
+
112
+ const txMessage = pipe(
113
+ createTransactionMessage({ version: 0 }),
114
+ (tx) => setTransactionMessageFeePayerSigner(createNoopSigner(address(signerAddress)), tx),
115
+ (tx) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, tx),
116
+ (tx) => appendTransactionMessageInstructions(instructions, tx),
117
+ );
118
+
119
+ const compiledTxMessage = compileTransactionMessage(txMessage);
120
+
121
+ const txBytes = getCompiledTransactionMessageEncoder().encode(compiledTxMessage);
122
+
123
+ return { versionedMessageBytes: txBytes };
124
+ }
125
+
126
+ export async function cancelSingleChainOrderInstructionsAsBytes(
127
+ orderAddress: string,
128
+ signerAddress: string,
129
+ options?: { rpcUrl?: string },
130
+ ): Promise<{ versionedMessageBytes: ReadonlyUint8Array }> {
131
+ const rpc = options?.rpcUrl ? createSolanaRpc(options.rpcUrl) : getDefaultSolanaRPC();
132
+ const instructions = await cancelSingleChainOrderInstructions(orderAddress, options);
133
+ const { value: latestBlockhash } = await rpc.getLatestBlockhash({ commitment: 'confirmed' }).send();
134
+
135
+ const txMessage = pipe(
136
+ createTransactionMessage({ version: 0 }),
137
+ (tx) => setTransactionMessageFeePayerSigner(createNoopSigner(address(signerAddress)), tx),
138
+ (tx) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, tx),
139
+ (tx) => appendTransactionMessageInstructions(instructions, tx),
140
+ );
141
+
142
+ const compiledTxMessage = compileTransactionMessage(txMessage);
143
+
144
+ const txBytes = getCompiledTransactionMessageEncoder().encode(compiledTxMessage) as TransactionMessageBytes;
145
+
146
+ return { versionedMessageBytes: txBytes };
147
+ }
148
+
149
+ export async function cancelCrossChainOrderInstructions(
150
+ orderAddress: string,
151
+ options?: { rpcUrl?: string },
152
+ ): Promise<IInstruction[]> {
153
+ const rpc = options?.rpcUrl ? createSolanaRpc(options.rpcUrl) : getDefaultSolanaRPC();
154
+ const orderId = address(orderAddress);
155
+
156
+ const chainOrder = await fetchMaybeOrder(rpc, orderId);
157
+ if (!chainOrder.exists) {
158
+ throw new Error(`Order with address ${orderAddress} not found`);
159
+ }
160
+
161
+ const instructions: IInstruction[] = [];
162
+ const orderUserAddress = chainOrder.data.user;
163
+ const guardAddress = CROSS_CHAIN_GUARD_ADDRESSES[ChainID.Solana] as Address;
164
+ const addressEncoder = getAddressEncoder();
165
+
166
+ const isRecoveringTokenIn = chainOrder.data.lockedStablecoins === 0n;
167
+ const recoverTokenMint = isRecoveringTokenIn ? chainOrder.data.tokenInMint : address(SOLANA_MINT_TOKEN.mint);
168
+
169
+ const recoverTokenMintProgram = await fetchMint(rpc, recoverTokenMint);
170
+
171
+ const [userRecoveredTokenAccount] = await getProgramDerivedAddress({
172
+ programAddress: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
173
+ seeds: [
174
+ addressEncoder.encode(orderUserAddress),
175
+ addressEncoder.encode(recoverTokenMintProgram.programAddress),
176
+ addressEncoder.encode(recoverTokenMint),
177
+ ],
178
+ });
179
+
180
+ const [guardRecoveredTokenAccount] = await getProgramDerivedAddress({
181
+ programAddress: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
182
+ seeds: [
183
+ addressEncoder.encode(guardAddress),
184
+ addressEncoder.encode(recoverTokenMintProgram.programAddress),
185
+ addressEncoder.encode(recoverTokenMint),
186
+ ],
187
+ });
188
+
189
+ // Check if user's recovered token account exists, create if needed
190
+ const userRecoveredTokenAccountInfo = await fetchEncodedAccount(rpc, userRecoveredTokenAccount);
191
+ if (!userRecoveredTokenAccountInfo.exists) {
192
+ const createRecoveredTokenAccountIx = await getCreateAssociatedTokenInstructionAsync({
193
+ payer: createNoopSigner(orderUserAddress),
194
+ ata: userRecoveredTokenAccount,
195
+ owner: orderUserAddress,
196
+ mint: recoverTokenMint,
197
+ tokenProgram: recoverTokenMintProgram.programAddress,
198
+ });
199
+ instructions.push(createRecoveredTokenAccountIx);
200
+ }
201
+
202
+ let userCollateralTokenAccount: Address | undefined;
203
+ const willClaimCollateral = chainOrder.data.lockedCollateral > 0n;
204
+
205
+ if (willClaimCollateral) {
206
+ const collateralTokenMint = address(SOLANA_MINT_TOKEN.mint);
207
+ const collateralTokenMintProgram = await fetchMint(rpc, collateralTokenMint);
208
+
209
+ const [userCollateralAccount] = await getProgramDerivedAddress({
210
+ programAddress: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
211
+ seeds: [
212
+ addressEncoder.encode(orderUserAddress),
213
+ addressEncoder.encode(collateralTokenMintProgram.programAddress),
214
+ addressEncoder.encode(collateralTokenMint),
215
+ ],
216
+ });
217
+
218
+ userCollateralTokenAccount = userCollateralAccount;
219
+
220
+ // Check if user's collateral token account exists, create if needed
221
+ const userCollateralTokenAccountInfo = await fetchEncodedAccount(rpc, userCollateralTokenAccount);
222
+ if (!userCollateralTokenAccountInfo.exists) {
223
+ const createCollateralTokenAccountIx = await getCreateAssociatedTokenInstructionAsync({
224
+ payer: createNoopSigner(orderUserAddress),
225
+ ata: userCollateralTokenAccount,
226
+ owner: orderUserAddress,
227
+ mint: collateralTokenMint,
228
+ tokenProgram: collateralTokenMintProgram.programAddress,
229
+ });
230
+ instructions.push(createCollateralTokenAccountIx);
231
+ }
232
+ }
233
+
234
+ const collateralTokenMint = address(SOLANA_MINT_TOKEN.mint);
235
+ const collateralTokenMintProgram = await fetchMint(rpc, collateralTokenMint);
236
+
237
+ const [guardCollateralTokenAccount] = await getProgramDerivedAddress({
238
+ programAddress: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
239
+ seeds: [
240
+ addressEncoder.encode(guardAddress),
241
+ addressEncoder.encode(collateralTokenMintProgram.programAddress),
242
+ addressEncoder.encode(collateralTokenMint),
243
+ ],
244
+ });
245
+
246
+ // Create the cancel order instruction
247
+ const cancelOrderIx = getCancelOrderInstruction({
248
+ user: createNoopSigner(orderUserAddress),
249
+ order: orderId,
250
+ guard: guardAddress,
251
+ recoveredTokenMint: recoverTokenMint,
252
+ userRecoveredTokenAccount: userRecoveredTokenAccount,
253
+ guardRecoveredTokenAccount: guardRecoveredTokenAccount,
254
+ recoveredTokenProgram: recoverTokenMintProgram.programAddress,
255
+ collateralTokenMint: collateralTokenMint,
256
+ userCollateralTokenAccount: userCollateralTokenAccount,
257
+ guardCollateralTokenAccount: guardCollateralTokenAccount,
258
+ collateralTokenProgram: collateralTokenMintProgram.programAddress,
259
+ });
260
+
261
+ instructions.push(cancelOrderIx);
262
+
263
+ return instructions;
264
+ }
@@ -7,24 +7,21 @@
7
7
  */
8
8
 
9
9
  import {
10
- type Account,
11
10
  assertAccountExists,
12
11
  assertAccountsExist,
13
12
  decodeAccount,
13
+ fetchEncodedAccount,
14
+ fetchEncodedAccounts,
15
+ type Account,
14
16
  type EncodedAccount,
15
17
  type FetchAccountConfig,
16
18
  type FetchAccountsConfig,
17
- fetchEncodedAccount,
18
- fetchEncodedAccounts,
19
19
  type MaybeAccount,
20
20
  type MaybeEncodedAccount,
21
21
  } from '@solana/kit';
22
- import { type Address, getAddressDecoder, getAddressEncoder } from '@solana/kit';
22
+ import { getAddressDecoder, getAddressEncoder, type Address } from '@solana/kit';
23
23
  import {
24
- type Codec,
25
24
  combineCodec,
26
- type Decoder,
27
- type Encoder,
28
25
  fixDecoderSize,
29
26
  fixEncoderSize,
30
27
  getBytesDecoder,
@@ -33,8 +30,11 @@ import {
33
30
  getStructEncoder,
34
31
  getU8Decoder,
35
32
  getU8Encoder,
36
- type ReadonlyUint8Array,
37
33
  transformEncoder,
34
+ type Codec,
35
+ type Decoder,
36
+ type Encoder,
37
+ type ReadonlyUint8Array,
38
38
  } from '@solana/kit';
39
39
 
40
40
  export const ADMIN_SINGLETON_DISCRIMINATOR = new Uint8Array([179, 22, 254, 245, 204, 230, 222, 194]);
@@ -47,6 +47,8 @@ export type AdminSingleton = {
47
47
  discriminator: ReadonlyUint8Array;
48
48
  /** Guard admin */
49
49
  admin: Address;
50
+ /** Pending guard admin */
51
+ pendingAdmin: Address;
50
52
  /** PDA bump */
51
53
  bump: number;
52
54
  };
@@ -54,6 +56,8 @@ export type AdminSingleton = {
54
56
  export type AdminSingletonArgs = {
55
57
  /** Guard admin */
56
58
  admin: Address;
59
+ /** Pending guard admin */
60
+ pendingAdmin: Address;
57
61
  /** PDA bump */
58
62
  bump: number;
59
63
  };
@@ -63,6 +67,7 @@ export function getAdminSingletonEncoder(): Encoder<AdminSingletonArgs> {
63
67
  getStructEncoder([
64
68
  ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
65
69
  ['admin', getAddressEncoder()],
70
+ ['pendingAdmin', getAddressEncoder()],
66
71
  ['bump', getU8Encoder()],
67
72
  ]),
68
73
  (value) => ({ ...value, discriminator: ADMIN_SINGLETON_DISCRIMINATOR }),
@@ -73,6 +78,7 @@ export function getAdminSingletonDecoder(): Decoder<AdminSingleton> {
73
78
  return getStructDecoder([
74
79
  ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
75
80
  ['admin', getAddressDecoder()],
81
+ ['pendingAdmin', getAddressDecoder()],
76
82
  ['bump', getU8Decoder()],
77
83
  ]);
78
84
  }
@@ -132,5 +138,5 @@ export async function fetchAllMaybeAdminSingleton(
132
138
  }
133
139
 
134
140
  export function getAdminSingletonSize(): number {
135
- return 41;
141
+ return 73;
136
142
  }
@@ -7,36 +7,36 @@
7
7
  */
8
8
 
9
9
  import {
10
- type Account,
11
10
  assertAccountExists,
12
11
  assertAccountsExist,
13
12
  decodeAccount,
13
+ fetchEncodedAccount,
14
+ fetchEncodedAccounts,
15
+ type Account,
14
16
  type EncodedAccount,
15
17
  type FetchAccountConfig,
16
18
  type FetchAccountsConfig,
17
- fetchEncodedAccount,
18
- fetchEncodedAccounts,
19
19
  type MaybeAccount,
20
20
  type MaybeEncodedAccount,
21
21
  } from '@solana/kit';
22
- import { type Address, getAddressDecoder, getAddressEncoder } from '@solana/kit';
22
+ import { getAddressDecoder, getAddressEncoder, type Address } from '@solana/kit';
23
23
  import {
24
- type Codec,
25
24
  combineCodec,
26
- type Decoder,
27
- type Encoder,
28
25
  fixDecoderSize,
29
26
  fixEncoderSize,
30
27
  getBytesDecoder,
31
28
  getBytesEncoder,
32
29
  getStructDecoder,
33
30
  getStructEncoder,
34
- getU8Decoder,
35
- getU8Encoder,
36
31
  getU64Decoder,
37
32
  getU64Encoder,
38
- type ReadonlyUint8Array,
33
+ getU8Decoder,
34
+ getU8Encoder,
39
35
  transformEncoder,
36
+ type Codec,
37
+ type Decoder,
38
+ type Encoder,
39
+ type ReadonlyUint8Array,
40
40
  } from '@solana/kit';
41
41
 
42
42
  export const GUARD_DISCRIMINATOR = new Uint8Array([54, 187, 84, 137, 192, 15, 74, 248]);