@shogun-sdk/intents-sdk 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/dist/{_esm → esm}/chains.js +12 -9
  2. package/dist/esm/chains.js.map +1 -0
  3. package/dist/{_esm → esm}/constants.js +12 -1
  4. package/dist/esm/constants.js.map +1 -0
  5. package/dist/esm/core/evm/abi/permit2.js +395 -0
  6. package/dist/esm/core/evm/abi/permit2.js.map +1 -0
  7. package/dist/{_esm → esm}/core/evm/abi/source-chain-guard.js +2 -1
  8. package/dist/esm/core/evm/abi/source-chain-guard.js.map +1 -0
  9. package/dist/{_esm → esm}/core/evm/intent-provider.js.map +1 -1
  10. package/dist/{_esm → esm}/core/evm/order-signature.js +11 -0
  11. package/dist/esm/core/evm/order-signature.js.map +1 -0
  12. package/dist/esm/core/evm/sdk.js +154 -0
  13. package/dist/esm/core/evm/sdk.js.map +1 -0
  14. package/dist/{_esm → esm}/core/evm/viem-provider.js +27 -0
  15. package/dist/esm/core/evm/viem-provider.js.map +1 -0
  16. package/dist/{_esm → esm}/core/sdk.js +31 -7
  17. package/dist/esm/core/sdk.js.map +1 -0
  18. package/dist/{_esm → esm}/core/solana/order-instructions.js +10 -0
  19. package/dist/esm/core/solana/order-instructions.js.map +1 -0
  20. package/dist/{_esm → esm}/core/solana/sdk.js +11 -1
  21. package/dist/esm/core/solana/sdk.js.map +1 -0
  22. package/dist/{_esm → esm}/core/sui/order-transaction.js +10 -0
  23. package/dist/esm/core/sui/order-transaction.js.map +1 -0
  24. package/dist/{_esm → esm}/core/sui/sdk.js +3 -0
  25. package/dist/esm/core/sui/sdk.js.map +1 -0
  26. package/dist/{_esm → esm}/errors/index.js +6 -0
  27. package/dist/{_esm → esm}/errors/index.js.map +1 -1
  28. package/dist/esm/index.js +11 -0
  29. package/dist/esm/index.js.map +1 -0
  30. package/dist/esm/types/api.js +2 -0
  31. package/dist/esm/types/api.js.map +1 -0
  32. package/dist/esm/types/user-order.js +16 -0
  33. package/dist/esm/types/user-order.js.map +1 -0
  34. package/dist/esm/utils/defillama.js +115 -0
  35. package/dist/esm/utils/defillama.js.map +1 -0
  36. package/dist/{_esm → esm}/utils/order-validator.js +1 -1
  37. package/dist/{_esm → esm}/utils/order-validator.js.map +1 -1
  38. package/dist/esm/utils/parsers.js +51 -0
  39. package/dist/esm/utils/parsers.js.map +1 -0
  40. package/dist/{_types → types}/chains.d.ts +12 -21
  41. package/dist/types/chains.d.ts.map +1 -0
  42. package/dist/{_types → types}/constants.d.ts +5 -0
  43. package/dist/types/constants.d.ts.map +1 -0
  44. package/dist/types/core/evm/abi/permit2.d.ts +304 -0
  45. package/dist/types/core/evm/abi/permit2.d.ts.map +1 -0
  46. package/dist/{_types → types}/core/evm/abi/source-chain-guard.d.ts +1 -1
  47. package/dist/{_types → types}/core/evm/abi/source-chain-guard.d.ts.map +1 -1
  48. package/dist/{_types → types}/core/evm/intent-provider.d.ts +2 -1
  49. package/dist/{_types → types}/core/evm/intent-provider.d.ts.map +1 -1
  50. package/dist/{_types → types}/core/evm/order-signature.d.ts +6 -0
  51. package/dist/types/core/evm/order-signature.d.ts.map +1 -0
  52. package/dist/{_types → types}/core/evm/sdk.d.ts +4 -0
  53. package/dist/types/core/evm/sdk.d.ts.map +1 -0
  54. package/dist/types/core/evm/viem-provider.d.ts +19304 -0
  55. package/dist/{_types → types}/core/evm/viem-provider.d.ts.map +1 -1
  56. package/dist/{_types → types}/core/sdk.d.ts +7 -4
  57. package/dist/types/core/sdk.d.ts.map +1 -0
  58. package/dist/{_types → types}/core/solana/order-instructions.d.ts +5 -0
  59. package/dist/types/core/solana/order-instructions.d.ts.map +1 -0
  60. package/dist/{_types → types}/core/solana/sdk.d.ts +1 -0
  61. package/dist/{_types → types}/core/solana/sdk.d.ts.map +1 -1
  62. package/dist/{_types → types}/core/sui/order-transaction.d.ts +5 -0
  63. package/dist/types/core/sui/order-transaction.d.ts.map +1 -0
  64. package/dist/{_types → types}/core/sui/sdk.d.ts +1 -0
  65. package/dist/types/core/sui/sdk.d.ts.map +1 -0
  66. package/dist/{_types → types}/errors/index.d.ts +3 -0
  67. package/dist/{_types → types}/errors/index.d.ts.map +1 -1
  68. package/dist/types/index.d.ts +15 -0
  69. package/dist/types/index.d.ts.map +1 -0
  70. package/dist/types/types/api.d.ts +8 -0
  71. package/dist/types/types/api.d.ts.map +1 -0
  72. package/dist/{_types → types}/types/intent.d.ts +2 -2
  73. package/dist/types/types/intent.d.ts.map +1 -0
  74. package/dist/types/types/user-order.d.ts +37 -0
  75. package/dist/types/types/user-order.d.ts.map +1 -0
  76. package/dist/types/utils/defillama.d.ts +61 -0
  77. package/dist/types/utils/defillama.d.ts.map +1 -0
  78. package/dist/types/utils/parsers.d.ts +19 -0
  79. package/dist/types/utils/parsers.d.ts.map +1 -0
  80. package/package.json +10 -11
  81. package/src/chains.ts +16 -23
  82. package/src/constants.ts +16 -1
  83. package/src/core/evm/abi/permit2.ts +394 -0
  84. package/src/core/evm/abi/source-chain-guard.ts +2 -1
  85. package/src/core/evm/intent-provider.ts +1 -1
  86. package/src/core/evm/order-signature.ts +23 -0
  87. package/src/core/evm/sdk.ts +96 -0
  88. package/src/core/evm/viem-provider.ts +29 -0
  89. package/src/core/sdk.ts +41 -9
  90. package/src/core/solana/order-instructions.ts +20 -0
  91. package/src/core/solana/sdk.ts +14 -0
  92. package/src/core/sui/order-transaction.ts +20 -0
  93. package/src/core/sui/sdk.ts +4 -0
  94. package/src/errors/index.ts +7 -0
  95. package/src/index.ts +13 -2
  96. package/src/types/api.ts +9 -0
  97. package/src/types/intent.ts +2 -2
  98. package/src/types/user-order.ts +74 -0
  99. package/src/utils/defillama.ts +179 -0
  100. package/src/utils/order-validator.ts +1 -1
  101. package/src/utils/parsers.ts +47 -0
  102. package/dist/_esm/chains.js.map +0 -1
  103. package/dist/_esm/constants.js.map +0 -1
  104. package/dist/_esm/core/evm/abi/source-chain-guard.js.map +0 -1
  105. package/dist/_esm/core/evm/order-signature.js.map +0 -1
  106. package/dist/_esm/core/evm/sdk.js +0 -79
  107. package/dist/_esm/core/evm/sdk.js.map +0 -1
  108. package/dist/_esm/core/evm/viem-provider.js.map +0 -1
  109. package/dist/_esm/core/sdk.js.map +0 -1
  110. package/dist/_esm/core/solana/order-instructions.js.map +0 -1
  111. package/dist/_esm/core/solana/sdk.js.map +0 -1
  112. package/dist/_esm/core/sui/order-transaction.js.map +0 -1
  113. package/dist/_esm/core/sui/sdk.js.map +0 -1
  114. package/dist/_esm/index.js +0 -7
  115. package/dist/_esm/index.js.map +0 -1
  116. package/dist/_esm/package.json +0 -1
  117. package/dist/_esm/utils/parsers.js +0 -10
  118. package/dist/_esm/utils/parsers.js.map +0 -1
  119. package/dist/_types/chains.d.ts.map +0 -1
  120. package/dist/_types/constants.d.ts.map +0 -1
  121. package/dist/_types/core/evm/order-signature.d.ts.map +0 -1
  122. package/dist/_types/core/evm/sdk.d.ts.map +0 -1
  123. package/dist/_types/core/evm/viem-provider.d.ts +0 -9657
  124. package/dist/_types/core/sdk.d.ts.map +0 -1
  125. package/dist/_types/core/solana/order-instructions.d.ts.map +0 -1
  126. package/dist/_types/core/sui/order-transaction.d.ts.map +0 -1
  127. package/dist/_types/core/sui/sdk.d.ts.map +0 -1
  128. package/dist/_types/index.d.ts +0 -10
  129. package/dist/_types/index.d.ts.map +0 -1
  130. package/dist/_types/types/intent.d.ts.map +0 -1
  131. package/dist/_types/utils/parsers.d.ts +0 -4
  132. package/dist/_types/utils/parsers.d.ts.map +0 -1
  133. /package/dist/{_esm → esm}/config.js +0 -0
  134. /package/dist/{_esm → esm}/config.js.map +0 -0
  135. /package/dist/{_esm → esm}/core/evm/abi/erc20.js +0 -0
  136. /package/dist/{_esm → esm}/core/evm/abi/erc20.js.map +0 -0
  137. /package/dist/{_esm → esm}/core/evm/intent-provider.js +0 -0
  138. /package/dist/{_esm → esm}/core/evm/permit2.js +0 -0
  139. /package/dist/{_esm → esm}/core/evm/permit2.js.map +0 -0
  140. /package/dist/{_esm → esm}/core/evm/validator.js +0 -0
  141. /package/dist/{_esm → esm}/core/evm/validator.js.map +0 -0
  142. /package/dist/{_esm → esm}/core/order.js +0 -0
  143. /package/dist/{_esm → esm}/core/order.js.map +0 -0
  144. /package/dist/{_esm → esm}/core/solana/client.js +0 -0
  145. /package/dist/{_esm → esm}/core/solana/client.js.map +0 -0
  146. /package/dist/{_esm → esm}/core/solana/generated/accounts/adminSingleton.js +0 -0
  147. /package/dist/{_esm → esm}/core/solana/generated/accounts/adminSingleton.js.map +0 -0
  148. /package/dist/{_esm → esm}/core/solana/generated/accounts/guard.js +0 -0
  149. /package/dist/{_esm → esm}/core/solana/generated/accounts/guard.js.map +0 -0
  150. /package/dist/{_esm → esm}/core/solana/generated/accounts/index.js +0 -0
  151. /package/dist/{_esm → esm}/core/solana/generated/accounts/index.js.map +0 -0
  152. /package/dist/{_esm → esm}/core/solana/generated/accounts/order.js +0 -0
  153. /package/dist/{_esm → esm}/core/solana/generated/accounts/order.js.map +0 -0
  154. /package/dist/{_esm → esm}/core/solana/generated/errors/index.js +0 -0
  155. /package/dist/{_esm → esm}/core/solana/generated/errors/index.js.map +0 -0
  156. /package/dist/{_esm → esm}/core/solana/generated/errors/sourceChainGuard.js +0 -0
  157. /package/dist/{_esm → esm}/core/solana/generated/errors/sourceChainGuard.js.map +0 -0
  158. /package/dist/{_esm → esm}/core/solana/generated/index.js +0 -0
  159. /package/dist/{_esm → esm}/core/solana/generated/index.js.map +0 -0
  160. /package/dist/{_esm → esm}/core/solana/generated/instructions/cancelOrder.js +0 -0
  161. /package/dist/{_esm → esm}/core/solana/generated/instructions/cancelOrder.js.map +0 -0
  162. /package/dist/{_esm → esm}/core/solana/generated/instructions/claimTokens.js +0 -0
  163. /package/dist/{_esm → esm}/core/solana/generated/instructions/claimTokens.js.map +0 -0
  164. /package/dist/{_esm → esm}/core/solana/generated/instructions/collectProtocolFees.js +0 -0
  165. /package/dist/{_esm → esm}/core/solana/generated/instructions/collectProtocolFees.js.map +0 -0
  166. /package/dist/{_esm → esm}/core/solana/generated/instructions/createGuard.js +0 -0
  167. /package/dist/{_esm → esm}/core/solana/generated/instructions/createGuard.js.map +0 -0
  168. /package/dist/{_esm → esm}/core/solana/generated/instructions/createOrder.js +0 -0
  169. /package/dist/{_esm → esm}/core/solana/generated/instructions/createOrder.js.map +0 -0
  170. /package/dist/{_esm → esm}/core/solana/generated/instructions/index.js +0 -0
  171. /package/dist/{_esm → esm}/core/solana/generated/instructions/index.js.map +0 -0
  172. /package/dist/{_esm → esm}/core/solana/generated/instructions/initialize.js +0 -0
  173. /package/dist/{_esm → esm}/core/solana/generated/instructions/initialize.js.map +0 -0
  174. /package/dist/{_esm → esm}/core/solana/generated/instructions/preStartOrderExecution.js +0 -0
  175. /package/dist/{_esm → esm}/core/solana/generated/instructions/preStartOrderExecution.js.map +0 -0
  176. /package/dist/{_esm → esm}/core/solana/generated/instructions/setAdmin.js +0 -0
  177. /package/dist/{_esm → esm}/core/solana/generated/instructions/setAdmin.js.map +0 -0
  178. /package/dist/{_esm → esm}/core/solana/generated/instructions/setAuctioneerPubKey.js +0 -0
  179. /package/dist/{_esm → esm}/core/solana/generated/instructions/setAuctioneerPubKey.js.map +0 -0
  180. /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecution.js +0 -0
  181. /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecution.js.map +0 -0
  182. /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecutionAfterSwap.js +0 -0
  183. /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecutionAfterSwap.js.map +0 -0
  184. /package/dist/{_esm → esm}/core/solana/generated/programs/index.js +0 -0
  185. /package/dist/{_esm → esm}/core/solana/generated/programs/index.js.map +0 -0
  186. /package/dist/{_esm → esm}/core/solana/generated/programs/sourceChainGuard.js +0 -0
  187. /package/dist/{_esm → esm}/core/solana/generated/programs/sourceChainGuard.js.map +0 -0
  188. /package/dist/{_esm → esm}/core/solana/generated/shared/index.js +0 -0
  189. /package/dist/{_esm → esm}/core/solana/generated/shared/index.js.map +0 -0
  190. /package/dist/{_esm → esm}/core/solana/generated/types/adminUpdated.js +0 -0
  191. /package/dist/{_esm → esm}/core/solana/generated/types/adminUpdated.js.map +0 -0
  192. /package/dist/{_esm → esm}/core/solana/generated/types/auctioneerPubkeyUpdated.js +0 -0
  193. /package/dist/{_esm → esm}/core/solana/generated/types/auctioneerPubkeyUpdated.js.map +0 -0
  194. /package/dist/{_esm → esm}/core/solana/generated/types/executionStarted.js +0 -0
  195. /package/dist/{_esm → esm}/core/solana/generated/types/executionStarted.js.map +0 -0
  196. /package/dist/{_esm → esm}/core/solana/generated/types/guardCreated.js +0 -0
  197. /package/dist/{_esm → esm}/core/solana/generated/types/guardCreated.js.map +0 -0
  198. /package/dist/{_esm → esm}/core/solana/generated/types/index.js +0 -0
  199. /package/dist/{_esm → esm}/core/solana/generated/types/index.js.map +0 -0
  200. /package/dist/{_esm → esm}/core/solana/generated/types/orderCancelled.js +0 -0
  201. /package/dist/{_esm → esm}/core/solana/generated/types/orderCancelled.js.map +0 -0
  202. /package/dist/{_esm → esm}/core/solana/generated/types/orderCreated.js +0 -0
  203. /package/dist/{_esm → esm}/core/solana/generated/types/orderCreated.js.map +0 -0
  204. /package/dist/{_esm → esm}/core/solana/generated/types/orderFulfilled.js +0 -0
  205. /package/dist/{_esm → esm}/core/solana/generated/types/orderFulfilled.js.map +0 -0
  206. /package/dist/{_esm → esm}/core/solana/generated/types/tokenInSwapped.js +0 -0
  207. /package/dist/{_esm → esm}/core/solana/generated/types/tokenInSwapped.js.map +0 -0
  208. /package/dist/{_esm → esm}/core/solana/validator.js +0 -0
  209. /package/dist/{_esm → esm}/core/solana/validator.js.map +0 -0
  210. /package/dist/{_esm → esm}/core/sui/client.js +0 -0
  211. /package/dist/{_esm → esm}/core/sui/client.js.map +0 -0
  212. /package/dist/{_esm → esm}/core/sui/validator.js +0 -0
  213. /package/dist/{_esm → esm}/core/sui/validator.js.map +0 -0
  214. /package/dist/{_esm → esm}/types/intent.js +0 -0
  215. /package/dist/{_esm → esm}/types/intent.js.map +0 -0
  216. /package/dist/{_esm → esm}/utils/base-validator.js +0 -0
  217. /package/dist/{_esm → esm}/utils/base-validator.js.map +0 -0
  218. /package/dist/{_esm → esm}/utils/logger.js +0 -0
  219. /package/dist/{_esm → esm}/utils/logger.js.map +0 -0
  220. /package/dist/{_esm → esm}/utils/type-utils.js +0 -0
  221. /package/dist/{_esm → esm}/utils/type-utils.js.map +0 -0
  222. /package/dist/{_types → types}/config.d.ts +0 -0
  223. /package/dist/{_types → types}/config.d.ts.map +0 -0
  224. /package/dist/{_types → types}/core/evm/abi/erc20.d.ts +0 -0
  225. /package/dist/{_types → types}/core/evm/abi/erc20.d.ts.map +0 -0
  226. /package/dist/{_types → types}/core/evm/permit2.d.ts +0 -0
  227. /package/dist/{_types → types}/core/evm/permit2.d.ts.map +0 -0
  228. /package/dist/{_types → types}/core/evm/validator.d.ts +0 -0
  229. /package/dist/{_types → types}/core/evm/validator.d.ts.map +0 -0
  230. /package/dist/{_types → types}/core/order.d.ts +0 -0
  231. /package/dist/{_types → types}/core/order.d.ts.map +0 -0
  232. /package/dist/{_types → types}/core/solana/client.d.ts +0 -0
  233. /package/dist/{_types → types}/core/solana/client.d.ts.map +0 -0
  234. /package/dist/{_types → types}/core/solana/generated/accounts/adminSingleton.d.ts +0 -0
  235. /package/dist/{_types → types}/core/solana/generated/accounts/adminSingleton.d.ts.map +0 -0
  236. /package/dist/{_types → types}/core/solana/generated/accounts/guard.d.ts +0 -0
  237. /package/dist/{_types → types}/core/solana/generated/accounts/guard.d.ts.map +0 -0
  238. /package/dist/{_types → types}/core/solana/generated/accounts/index.d.ts +0 -0
  239. /package/dist/{_types → types}/core/solana/generated/accounts/index.d.ts.map +0 -0
  240. /package/dist/{_types → types}/core/solana/generated/accounts/order.d.ts +0 -0
  241. /package/dist/{_types → types}/core/solana/generated/accounts/order.d.ts.map +0 -0
  242. /package/dist/{_types → types}/core/solana/generated/errors/index.d.ts +0 -0
  243. /package/dist/{_types → types}/core/solana/generated/errors/index.d.ts.map +0 -0
  244. /package/dist/{_types → types}/core/solana/generated/errors/sourceChainGuard.d.ts +0 -0
  245. /package/dist/{_types → types}/core/solana/generated/errors/sourceChainGuard.d.ts.map +0 -0
  246. /package/dist/{_types → types}/core/solana/generated/index.d.ts +0 -0
  247. /package/dist/{_types → types}/core/solana/generated/index.d.ts.map +0 -0
  248. /package/dist/{_types → types}/core/solana/generated/instructions/cancelOrder.d.ts +0 -0
  249. /package/dist/{_types → types}/core/solana/generated/instructions/cancelOrder.d.ts.map +0 -0
  250. /package/dist/{_types → types}/core/solana/generated/instructions/claimTokens.d.ts +0 -0
  251. /package/dist/{_types → types}/core/solana/generated/instructions/claimTokens.d.ts.map +0 -0
  252. /package/dist/{_types → types}/core/solana/generated/instructions/collectProtocolFees.d.ts +0 -0
  253. /package/dist/{_types → types}/core/solana/generated/instructions/collectProtocolFees.d.ts.map +0 -0
  254. /package/dist/{_types → types}/core/solana/generated/instructions/createGuard.d.ts +0 -0
  255. /package/dist/{_types → types}/core/solana/generated/instructions/createGuard.d.ts.map +0 -0
  256. /package/dist/{_types → types}/core/solana/generated/instructions/createOrder.d.ts +0 -0
  257. /package/dist/{_types → types}/core/solana/generated/instructions/createOrder.d.ts.map +0 -0
  258. /package/dist/{_types → types}/core/solana/generated/instructions/index.d.ts +0 -0
  259. /package/dist/{_types → types}/core/solana/generated/instructions/index.d.ts.map +0 -0
  260. /package/dist/{_types → types}/core/solana/generated/instructions/initialize.d.ts +0 -0
  261. /package/dist/{_types → types}/core/solana/generated/instructions/initialize.d.ts.map +0 -0
  262. /package/dist/{_types → types}/core/solana/generated/instructions/preStartOrderExecution.d.ts +0 -0
  263. /package/dist/{_types → types}/core/solana/generated/instructions/preStartOrderExecution.d.ts.map +0 -0
  264. /package/dist/{_types → types}/core/solana/generated/instructions/setAdmin.d.ts +0 -0
  265. /package/dist/{_types → types}/core/solana/generated/instructions/setAdmin.d.ts.map +0 -0
  266. /package/dist/{_types → types}/core/solana/generated/instructions/setAuctioneerPubKey.d.ts +0 -0
  267. /package/dist/{_types → types}/core/solana/generated/instructions/setAuctioneerPubKey.d.ts.map +0 -0
  268. /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecution.d.ts +0 -0
  269. /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecution.d.ts.map +0 -0
  270. /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts +0 -0
  271. /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts.map +0 -0
  272. /package/dist/{_types → types}/core/solana/generated/programs/index.d.ts +0 -0
  273. /package/dist/{_types → types}/core/solana/generated/programs/index.d.ts.map +0 -0
  274. /package/dist/{_types → types}/core/solana/generated/programs/sourceChainGuard.d.ts +0 -0
  275. /package/dist/{_types → types}/core/solana/generated/programs/sourceChainGuard.d.ts.map +0 -0
  276. /package/dist/{_types → types}/core/solana/generated/shared/index.d.ts +0 -0
  277. /package/dist/{_types → types}/core/solana/generated/shared/index.d.ts.map +0 -0
  278. /package/dist/{_types → types}/core/solana/generated/types/adminUpdated.d.ts +0 -0
  279. /package/dist/{_types → types}/core/solana/generated/types/adminUpdated.d.ts.map +0 -0
  280. /package/dist/{_types → types}/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts +0 -0
  281. /package/dist/{_types → types}/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts.map +0 -0
  282. /package/dist/{_types → types}/core/solana/generated/types/executionStarted.d.ts +0 -0
  283. /package/dist/{_types → types}/core/solana/generated/types/executionStarted.d.ts.map +0 -0
  284. /package/dist/{_types → types}/core/solana/generated/types/guardCreated.d.ts +0 -0
  285. /package/dist/{_types → types}/core/solana/generated/types/guardCreated.d.ts.map +0 -0
  286. /package/dist/{_types → types}/core/solana/generated/types/index.d.ts +0 -0
  287. /package/dist/{_types → types}/core/solana/generated/types/index.d.ts.map +0 -0
  288. /package/dist/{_types → types}/core/solana/generated/types/orderCancelled.d.ts +0 -0
  289. /package/dist/{_types → types}/core/solana/generated/types/orderCancelled.d.ts.map +0 -0
  290. /package/dist/{_types → types}/core/solana/generated/types/orderCreated.d.ts +0 -0
  291. /package/dist/{_types → types}/core/solana/generated/types/orderCreated.d.ts.map +0 -0
  292. /package/dist/{_types → types}/core/solana/generated/types/orderFulfilled.d.ts +0 -0
  293. /package/dist/{_types → types}/core/solana/generated/types/orderFulfilled.d.ts.map +0 -0
  294. /package/dist/{_types → types}/core/solana/generated/types/tokenInSwapped.d.ts +0 -0
  295. /package/dist/{_types → types}/core/solana/generated/types/tokenInSwapped.d.ts.map +0 -0
  296. /package/dist/{_types → types}/core/solana/validator.d.ts +0 -0
  297. /package/dist/{_types → types}/core/solana/validator.d.ts.map +0 -0
  298. /package/dist/{_types → types}/core/sui/client.d.ts +0 -0
  299. /package/dist/{_types → types}/core/sui/client.d.ts.map +0 -0
  300. /package/dist/{_types → types}/core/sui/validator.d.ts +0 -0
  301. /package/dist/{_types → types}/core/sui/validator.d.ts.map +0 -0
  302. /package/dist/{_types → types}/utils/base-validator.d.ts +0 -0
  303. /package/dist/{_types → types}/utils/base-validator.d.ts.map +0 -0
  304. /package/dist/{_types → types}/utils/logger.d.ts +0 -0
  305. /package/dist/{_types → types}/utils/logger.d.ts.map +0 -0
  306. /package/dist/{_types → types}/utils/order-validator.d.ts +0 -0
  307. /package/dist/{_types → types}/utils/order-validator.d.ts.map +0 -0
  308. /package/dist/{_types → types}/utils/type-utils.d.ts +0 -0
  309. /package/dist/{_types → types}/utils/type-utils.d.ts.map +0 -0
@@ -0,0 +1,394 @@
1
+ export const PERMIT2_ABI = [
2
+ {
3
+ inputs: [
4
+ {
5
+ internalType: 'uint256',
6
+ name: 'maxAmount',
7
+ type: 'uint256',
8
+ },
9
+ ],
10
+ name: 'InvalidAmount',
11
+ type: 'error',
12
+ },
13
+ {
14
+ inputs: [],
15
+ name: 'LengthMismatch',
16
+ type: 'error',
17
+ },
18
+ {
19
+ anonymous: false,
20
+ inputs: [
21
+ {
22
+ indexed: true,
23
+ internalType: 'address',
24
+ name: 'owner',
25
+ type: 'address',
26
+ },
27
+ {
28
+ indexed: false,
29
+ internalType: 'uint256',
30
+ name: 'word',
31
+ type: 'uint256',
32
+ },
33
+ {
34
+ indexed: false,
35
+ internalType: 'uint256',
36
+ name: 'mask',
37
+ type: 'uint256',
38
+ },
39
+ ],
40
+ name: 'UnorderedNonceInvalidation',
41
+ type: 'event',
42
+ },
43
+ {
44
+ inputs: [],
45
+ name: 'DOMAIN_SEPARATOR',
46
+ outputs: [
47
+ {
48
+ internalType: 'bytes32',
49
+ name: '',
50
+ type: 'bytes32',
51
+ },
52
+ ],
53
+ stateMutability: 'view',
54
+ type: 'function',
55
+ },
56
+ {
57
+ inputs: [
58
+ {
59
+ internalType: 'uint256',
60
+ name: 'wordPos',
61
+ type: 'uint256',
62
+ },
63
+ {
64
+ internalType: 'uint256',
65
+ name: 'mask',
66
+ type: 'uint256',
67
+ },
68
+ ],
69
+ name: 'invalidateUnorderedNonces',
70
+ outputs: [],
71
+ stateMutability: 'nonpayable',
72
+ type: 'function',
73
+ },
74
+ {
75
+ inputs: [
76
+ {
77
+ internalType: 'address',
78
+ name: '',
79
+ type: 'address',
80
+ },
81
+ {
82
+ internalType: 'uint256',
83
+ name: '',
84
+ type: 'uint256',
85
+ },
86
+ ],
87
+ name: 'nonceBitmap',
88
+ outputs: [
89
+ {
90
+ internalType: 'uint256',
91
+ name: '',
92
+ type: 'uint256',
93
+ },
94
+ ],
95
+ stateMutability: 'view',
96
+ type: 'function',
97
+ },
98
+ {
99
+ inputs: [
100
+ {
101
+ components: [
102
+ {
103
+ components: [
104
+ {
105
+ internalType: 'address',
106
+ name: 'token',
107
+ type: 'address',
108
+ },
109
+ {
110
+ internalType: 'uint256',
111
+ name: 'amount',
112
+ type: 'uint256',
113
+ },
114
+ ],
115
+ internalType: 'struct ISignatureTransfer.TokenPermissions',
116
+ name: 'permitted',
117
+ type: 'tuple',
118
+ },
119
+ {
120
+ internalType: 'uint256',
121
+ name: 'nonce',
122
+ type: 'uint256',
123
+ },
124
+ {
125
+ internalType: 'uint256',
126
+ name: 'deadline',
127
+ type: 'uint256',
128
+ },
129
+ ],
130
+ internalType: 'struct ISignatureTransfer.PermitTransferFrom',
131
+ name: 'permit',
132
+ type: 'tuple',
133
+ },
134
+ {
135
+ components: [
136
+ {
137
+ internalType: 'address',
138
+ name: 'to',
139
+ type: 'address',
140
+ },
141
+ {
142
+ internalType: 'uint256',
143
+ name: 'requestedAmount',
144
+ type: 'uint256',
145
+ },
146
+ ],
147
+ internalType: 'struct ISignatureTransfer.SignatureTransferDetails',
148
+ name: 'transferDetails',
149
+ type: 'tuple',
150
+ },
151
+ {
152
+ internalType: 'address',
153
+ name: 'owner',
154
+ type: 'address',
155
+ },
156
+ {
157
+ internalType: 'bytes',
158
+ name: 'signature',
159
+ type: 'bytes',
160
+ },
161
+ ],
162
+ name: 'permitTransferFrom',
163
+ outputs: [],
164
+ stateMutability: 'nonpayable',
165
+ type: 'function',
166
+ },
167
+ {
168
+ inputs: [
169
+ {
170
+ components: [
171
+ {
172
+ components: [
173
+ {
174
+ internalType: 'address',
175
+ name: 'token',
176
+ type: 'address',
177
+ },
178
+ {
179
+ internalType: 'uint256',
180
+ name: 'amount',
181
+ type: 'uint256',
182
+ },
183
+ ],
184
+ internalType: 'struct ISignatureTransfer.TokenPermissions[]',
185
+ name: 'permitted',
186
+ type: 'tuple[]',
187
+ },
188
+ {
189
+ internalType: 'uint256',
190
+ name: 'nonce',
191
+ type: 'uint256',
192
+ },
193
+ {
194
+ internalType: 'uint256',
195
+ name: 'deadline',
196
+ type: 'uint256',
197
+ },
198
+ ],
199
+ internalType: 'struct ISignatureTransfer.PermitBatchTransferFrom',
200
+ name: 'permit',
201
+ type: 'tuple',
202
+ },
203
+ {
204
+ components: [
205
+ {
206
+ internalType: 'address',
207
+ name: 'to',
208
+ type: 'address',
209
+ },
210
+ {
211
+ internalType: 'uint256',
212
+ name: 'requestedAmount',
213
+ type: 'uint256',
214
+ },
215
+ ],
216
+ internalType: 'struct ISignatureTransfer.SignatureTransferDetails[]',
217
+ name: 'transferDetails',
218
+ type: 'tuple[]',
219
+ },
220
+ {
221
+ internalType: 'address',
222
+ name: 'owner',
223
+ type: 'address',
224
+ },
225
+ {
226
+ internalType: 'bytes',
227
+ name: 'signature',
228
+ type: 'bytes',
229
+ },
230
+ ],
231
+ name: 'permitTransferFrom',
232
+ outputs: [],
233
+ stateMutability: 'nonpayable',
234
+ type: 'function',
235
+ },
236
+ {
237
+ inputs: [
238
+ {
239
+ components: [
240
+ {
241
+ components: [
242
+ {
243
+ internalType: 'address',
244
+ name: 'token',
245
+ type: 'address',
246
+ },
247
+ {
248
+ internalType: 'uint256',
249
+ name: 'amount',
250
+ type: 'uint256',
251
+ },
252
+ ],
253
+ internalType: 'struct ISignatureTransfer.TokenPermissions',
254
+ name: 'permitted',
255
+ type: 'tuple',
256
+ },
257
+ {
258
+ internalType: 'uint256',
259
+ name: 'nonce',
260
+ type: 'uint256',
261
+ },
262
+ {
263
+ internalType: 'uint256',
264
+ name: 'deadline',
265
+ type: 'uint256',
266
+ },
267
+ ],
268
+ internalType: 'struct ISignatureTransfer.PermitTransferFrom',
269
+ name: 'permit',
270
+ type: 'tuple',
271
+ },
272
+ {
273
+ components: [
274
+ {
275
+ internalType: 'address',
276
+ name: 'to',
277
+ type: 'address',
278
+ },
279
+ {
280
+ internalType: 'uint256',
281
+ name: 'requestedAmount',
282
+ type: 'uint256',
283
+ },
284
+ ],
285
+ internalType: 'struct ISignatureTransfer.SignatureTransferDetails',
286
+ name: 'transferDetails',
287
+ type: 'tuple',
288
+ },
289
+ {
290
+ internalType: 'address',
291
+ name: 'owner',
292
+ type: 'address',
293
+ },
294
+ {
295
+ internalType: 'bytes32',
296
+ name: 'witness',
297
+ type: 'bytes32',
298
+ },
299
+ {
300
+ internalType: 'string',
301
+ name: 'witnessTypeString',
302
+ type: 'string',
303
+ },
304
+ {
305
+ internalType: 'bytes',
306
+ name: 'signature',
307
+ type: 'bytes',
308
+ },
309
+ ],
310
+ name: 'permitWitnessTransferFrom',
311
+ outputs: [],
312
+ stateMutability: 'nonpayable',
313
+ type: 'function',
314
+ },
315
+ {
316
+ inputs: [
317
+ {
318
+ components: [
319
+ {
320
+ components: [
321
+ {
322
+ internalType: 'address',
323
+ name: 'token',
324
+ type: 'address',
325
+ },
326
+ {
327
+ internalType: 'uint256',
328
+ name: 'amount',
329
+ type: 'uint256',
330
+ },
331
+ ],
332
+ internalType: 'struct ISignatureTransfer.TokenPermissions[]',
333
+ name: 'permitted',
334
+ type: 'tuple[]',
335
+ },
336
+ {
337
+ internalType: 'uint256',
338
+ name: 'nonce',
339
+ type: 'uint256',
340
+ },
341
+ {
342
+ internalType: 'uint256',
343
+ name: 'deadline',
344
+ type: 'uint256',
345
+ },
346
+ ],
347
+ internalType: 'struct ISignatureTransfer.PermitBatchTransferFrom',
348
+ name: 'permit',
349
+ type: 'tuple',
350
+ },
351
+ {
352
+ components: [
353
+ {
354
+ internalType: 'address',
355
+ name: 'to',
356
+ type: 'address',
357
+ },
358
+ {
359
+ internalType: 'uint256',
360
+ name: 'requestedAmount',
361
+ type: 'uint256',
362
+ },
363
+ ],
364
+ internalType: 'struct ISignatureTransfer.SignatureTransferDetails[]',
365
+ name: 'transferDetails',
366
+ type: 'tuple[]',
367
+ },
368
+ {
369
+ internalType: 'address',
370
+ name: 'owner',
371
+ type: 'address',
372
+ },
373
+ {
374
+ internalType: 'bytes32',
375
+ name: 'witness',
376
+ type: 'bytes32',
377
+ },
378
+ {
379
+ internalType: 'string',
380
+ name: 'witnessTypeString',
381
+ type: 'string',
382
+ },
383
+ {
384
+ internalType: 'bytes',
385
+ name: 'signature',
386
+ type: 'bytes',
387
+ },
388
+ ],
389
+ name: 'permitWitnessTransferFrom',
390
+ outputs: [],
391
+ stateMutability: 'nonpayable',
392
+ type: 'function',
393
+ },
394
+ ] as const;
@@ -1,4 +1,5 @@
1
- export const SourceChainGuardABI = [
1
+ // NOTE: this ABI file only contains some of the functions to use by the SDK
2
+ export const SOURCE_CHAIN_GUARD_ABI = [
2
3
  {
3
4
  inputs: [
4
5
  {
@@ -9,7 +9,7 @@ import { type PermitTransferFrom } from './permit2.js';
9
9
  import { ChainProvider } from './viem-provider.js';
10
10
 
11
11
  export class EVMIntentProvider {
12
- private provider: ChainProvider;
12
+ public provider: ChainProvider;
13
13
 
14
14
  constructor(config: EVMConfig) {
15
15
  this.provider = new ChainProvider(config);
@@ -3,6 +3,9 @@ import type { SupportedEvmChain } from '../../chains.js';
3
3
  import type { Order } from '../order.js';
4
4
  import { EVMIntentProvider } from './intent-provider.js';
5
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';
6
9
 
7
10
  export type EvmOrderTypedData = {
8
11
  domain: TypedDataDomain;
@@ -31,3 +34,23 @@ export async function getEvmOrderTypedData(
31
34
 
32
35
  return { orderTypedData, nonce: randomNonce };
33
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
+ };
54
+
55
+ return BaseSDK.sendOrder(preparedOrder);
56
+ }
@@ -7,6 +7,10 @@ import type { PreparedOrder } from '../../types/intent.js';
7
7
  import type { Order } from '../order.js';
8
8
  import { BaseSDK } from '../sdk.js';
9
9
  import { EVMIntentProvider } from './intent-provider.js';
10
+ import { type Hex } from 'viem';
11
+ import { AUCTIONEER_URL, PERMIT2_ADDRESS, SRC_CHAIN_GUARD } from '../../constants.js';
12
+ import type { SupportedEvmChain } from '../../chains.js';
13
+ import type { UserOrder } from '../../types/user-order.js';
10
14
 
11
15
  /**
12
16
  * EVM-specific SDK implementation
@@ -35,6 +39,98 @@ export class EVMSDK extends BaseSDK {
35
39
  this.evmIntentProvider = new EVMIntentProvider(config);
36
40
  }
37
41
 
42
+ protected async cancelOrderInternal(orderId: string): Promise<string> {
43
+ const chainId = this.config.chainId;
44
+ const auctioneerAddress = SRC_CHAIN_GUARD[chainId] as Hex;
45
+ const userAddress = (await this.getUserAddress()) as Hex;
46
+ const auctioneerContract = this.evmIntentProvider.provider.getAuctioneerContract(auctioneerAddress);
47
+ const permit2Contract = this.evmIntentProvider.provider.getPermit2Contract(PERMIT2_ADDRESS[chainId]);
48
+
49
+ const userOrders = await this.fetchUserOrders(chainId);
50
+
51
+ const userOrder = userOrders.find((order) => order.orderId === orderId);
52
+
53
+ if (!userOrder) {
54
+ throw new Error('Order not found');
55
+ }
56
+
57
+ const orderIdHex = orderId as Hex;
58
+ let [initialized, deactivated] = await auctioneerContract.read.orderData([orderIdHex]);
59
+
60
+ let txHash: Hex;
61
+
62
+ if (!userOrder.nonce) {
63
+ throw new Error('Nonce is required for cancellation');
64
+ }
65
+
66
+ if (initialized) {
67
+ if (deactivated) {
68
+ throw new Error('Order is already deactivated');
69
+ }
70
+ const orderInfo = {
71
+ user: userOrder.user as `0x${string}`,
72
+ tokenIn: userOrder.tokenIn as `0x${string}`,
73
+ srcChainId: userOrder.srcChainId,
74
+ deadline: userOrder.deadline,
75
+ amountIn: BigInt(userOrder.amountIn),
76
+ minStablecoinsAmount: BigInt(userOrder.minStablecoinsAmount),
77
+ executionDetailsHash: userOrder.executionDetailsHash as `0x${string}`,
78
+ nonce: BigInt(userOrder.nonce!),
79
+ };
80
+
81
+ const tx = await auctioneerContract.write.cancelOrder([orderInfo]);
82
+ txHash = tx;
83
+ } else {
84
+ const nonce = BigInt(userOrder.nonce);
85
+ let nonceWordPos = nonce >> 8n;
86
+ let nonceBitPos = nonce - nonceWordPos * 256n;
87
+ let mask = 1n << nonceBitPos;
88
+
89
+ const currentNonceBitmap = await permit2Contract.read.nonceBitmap([userAddress, nonceWordPos]);
90
+
91
+ if ((currentNonceBitmap & (1n << nonceBitPos)) !== 0n) {
92
+ throw new Error('Nonce is already invalidated');
93
+ }
94
+
95
+ const tx = await permit2Contract.write.invalidateUnorderedNonces([nonceWordPos, mask]);
96
+ txHash = tx;
97
+ }
98
+
99
+ return txHash;
100
+ }
101
+
102
+ public async fetchUserOrders(chainId: SupportedEvmChain): Promise<UserOrder[]> {
103
+ const userAddress = await this.getUserAddress();
104
+ const siweEndpoint = `${AUCTIONEER_URL}/siwe`;
105
+ const queryParams = `?chainId=${chainId}&wallet=${userAddress}`;
106
+
107
+ const response = await fetch(`${siweEndpoint}${queryParams}`);
108
+ const { data: message } = await response.json();
109
+
110
+ const signature = await this.evmIntentProvider.provider.walletClient.signMessage(message);
111
+ const jwt = await fetch(siweEndpoint, {
112
+ method: 'POST',
113
+ headers: {
114
+ 'Content-Type': 'application/json',
115
+ },
116
+ body: JSON.stringify({ message, signature }),
117
+ });
118
+
119
+ const { data: token } = await jwt.json();
120
+
121
+ const ordersUrl = `${AUCTIONEER_URL}/user_intent`;
122
+ const orders = await fetch(ordersUrl, {
123
+ method: 'GET',
124
+ headers: {
125
+ Authorization: `Bearer ${token}`,
126
+ },
127
+ });
128
+
129
+ const { data: ordersData } = await orders.json();
130
+
131
+ return ordersData;
132
+ }
133
+
38
134
  /**
39
135
  * Gets the user's Ethereum address derived from their private key
40
136
  *
@@ -16,6 +16,8 @@ import { arbitrum, base, optimism } from 'viem/chains';
16
16
  import { ChainID, type SupportedEvmChain } from '../../chains.js';
17
17
  import type { EVMConfig } from '../../config.js';
18
18
  import { ERC20ABI } from './abi/erc20.js';
19
+ import { SOURCE_CHAIN_GUARD_ABI } from './abi/source-chain-guard.js';
20
+ import { PERMIT2_ABI } from './abi/permit2.js';
19
21
 
20
22
  const chainIdToProviderChainMap = {
21
23
  [ChainID.Arbitrum]: arbitrum,
@@ -64,6 +66,33 @@ export class ChainProvider {
64
66
  });
65
67
  }
66
68
 
69
+ getPermit2Contract(permit2Address: Address) {
70
+ return getContract({
71
+ address: permit2Address,
72
+ abi: PERMIT2_ABI,
73
+ client: {
74
+ wallet: this.walletClient,
75
+ public: this.publicClient,
76
+ chain: chainIdToProviderChainMap[this.chainId],
77
+ account: this.walletClient.account,
78
+ },
79
+ });
80
+ }
81
+
82
+ // Any type since the inferred type of this node exceeds the maximum length the compiler will serialize
83
+ getAuctioneerContract(auctioneerAddress: Address): any {
84
+ return getContract({
85
+ address: auctioneerAddress,
86
+ abi: SOURCE_CHAIN_GUARD_ABI,
87
+ client: {
88
+ wallet: this.walletClient,
89
+ public: this.publicClient,
90
+ chain: chainIdToProviderChainMap[this.chainId],
91
+ account: this.walletClient.account,
92
+ },
93
+ });
94
+ }
95
+
67
96
  getERC20Contract(tokenAddress: Address) {
68
97
  return getContract({
69
98
  address: tokenAddress,