@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,154 @@
1
+ // src/core/evm/sdk.ts
2
+ import { privateKeyToAccount } from 'viem/accounts';
3
+ import { EVMError, OrderCreationError } from '../../errors/index.js';
4
+ import { BaseSDK } from '../sdk.js';
5
+ import { EVMIntentProvider } from './intent-provider.js';
6
+ import {} from 'viem';
7
+ import { AUCTIONEER_URL, PERMIT2_ADDRESS, SRC_CHAIN_GUARD } from '../../constants.js';
8
+ /**
9
+ * EVM-specific SDK implementation
10
+ *
11
+ * Handles EVM-specific aspects of cross-chain swaps for Ethereum-compatible chains:
12
+ * - Arbitrum
13
+ * - Optimism
14
+ * - Base
15
+ *
16
+ * Uses viem for blockchain interactions and EIP-712 signatures for order authorization.
17
+ */
18
+ export class EVMSDK extends BaseSDK {
19
+ /**
20
+ * Creates a new instance of the EVM SDK
21
+ *
22
+ * @param config EVM configuration including chainId, privateKey, and optional RPC URL
23
+ */
24
+ constructor(config) {
25
+ super();
26
+ /** Configuration for EVM chain connections and authentication */
27
+ Object.defineProperty(this, "config", {
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true,
31
+ value: void 0
32
+ });
33
+ /** Provider for EVM-specific order preparation and submission */
34
+ Object.defineProperty(this, "evmIntentProvider", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ this.config = config;
41
+ this.evmIntentProvider = new EVMIntentProvider(config);
42
+ }
43
+ async cancelOrderInternal(orderId) {
44
+ const chainId = this.config.chainId;
45
+ const auctioneerAddress = SRC_CHAIN_GUARD[chainId];
46
+ const userAddress = (await this.getUserAddress());
47
+ const auctioneerContract = this.evmIntentProvider.provider.getAuctioneerContract(auctioneerAddress);
48
+ const permit2Contract = this.evmIntentProvider.provider.getPermit2Contract(PERMIT2_ADDRESS[chainId]);
49
+ const userOrders = await this.fetchUserOrders(chainId);
50
+ const userOrder = userOrders.find((order) => order.orderId === orderId);
51
+ if (!userOrder) {
52
+ throw new Error('Order not found');
53
+ }
54
+ const orderIdHex = orderId;
55
+ let [initialized, deactivated] = await auctioneerContract.read.orderData([orderIdHex]);
56
+ let txHash;
57
+ if (!userOrder.nonce) {
58
+ throw new Error('Nonce is required for cancellation');
59
+ }
60
+ if (initialized) {
61
+ if (deactivated) {
62
+ throw new Error('Order is already deactivated');
63
+ }
64
+ const orderInfo = {
65
+ user: userOrder.user,
66
+ tokenIn: userOrder.tokenIn,
67
+ srcChainId: userOrder.srcChainId,
68
+ deadline: userOrder.deadline,
69
+ amountIn: BigInt(userOrder.amountIn),
70
+ minStablecoinsAmount: BigInt(userOrder.minStablecoinsAmount),
71
+ executionDetailsHash: userOrder.executionDetailsHash,
72
+ nonce: BigInt(userOrder.nonce),
73
+ };
74
+ const tx = await auctioneerContract.write.cancelOrder([orderInfo]);
75
+ txHash = tx;
76
+ }
77
+ else {
78
+ const nonce = BigInt(userOrder.nonce);
79
+ let nonceWordPos = nonce >> 8n;
80
+ let nonceBitPos = nonce - nonceWordPos * 256n;
81
+ let mask = 1n << nonceBitPos;
82
+ const currentNonceBitmap = await permit2Contract.read.nonceBitmap([userAddress, nonceWordPos]);
83
+ if ((currentNonceBitmap & (1n << nonceBitPos)) !== 0n) {
84
+ throw new Error('Nonce is already invalidated');
85
+ }
86
+ const tx = await permit2Contract.write.invalidateUnorderedNonces([nonceWordPos, mask]);
87
+ txHash = tx;
88
+ }
89
+ return txHash;
90
+ }
91
+ async fetchUserOrders(chainId) {
92
+ const userAddress = await this.getUserAddress();
93
+ const siweEndpoint = `${AUCTIONEER_URL}/siwe`;
94
+ const queryParams = `?chainId=${chainId}&wallet=${userAddress}`;
95
+ const response = await fetch(`${siweEndpoint}${queryParams}`);
96
+ const { data: message } = await response.json();
97
+ const signature = await this.evmIntentProvider.provider.walletClient.signMessage(message);
98
+ const jwt = await fetch(siweEndpoint, {
99
+ method: 'POST',
100
+ headers: {
101
+ 'Content-Type': 'application/json',
102
+ },
103
+ body: JSON.stringify({ message, signature }),
104
+ });
105
+ const { data: token } = await jwt.json();
106
+ const ordersUrl = `${AUCTIONEER_URL}/user_intent`;
107
+ const orders = await fetch(ordersUrl, {
108
+ method: 'GET',
109
+ headers: {
110
+ Authorization: `Bearer ${token}`,
111
+ },
112
+ });
113
+ const { data: ordersData } = await orders.json();
114
+ return ordersData;
115
+ }
116
+ /**
117
+ * Gets the user's Ethereum address derived from their private key
118
+ *
119
+ * Uses viem's privateKeyToAccount function to derive the address securely
120
+ *
121
+ * @returns Promise resolving to the user's Ethereum address as a 0x-prefixed string
122
+ * @throws {EVMError} If address derivation fails
123
+ */
124
+ async getUserAddress() {
125
+ try {
126
+ return privateKeyToAccount(this.config.privateKey).address;
127
+ }
128
+ catch (error) {
129
+ throw new EVMError('Failed to get user address', error);
130
+ }
131
+ }
132
+ /**
133
+ * Prepares an EVM order for submission
134
+ *
135
+ * This method:
136
+ * 1. Validates token balances and allowances
137
+ * 2. Creates and signs the EIP-712 typed data for Permit2
138
+ * 3. Prepares the order for submission to the auctioneer
139
+ *
140
+ * @param order The validated order to prepare
141
+ * @returns Promise resolving to a prepared order with EVM-specific signature data
142
+ * @throws {OrderCreationError} If order preparation fails
143
+ * @protected
144
+ */
145
+ prepareOrder(order) {
146
+ try {
147
+ return this.evmIntentProvider.prepare(order);
148
+ }
149
+ catch (error) {
150
+ throw new OrderCreationError('Failed to prepare EVM order', error);
151
+ }
152
+ }
153
+ }
154
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../../src/core/evm/sdk.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { privateKeyToAccount } from 'viem/accounts';
3
3
  import { arbitrum, base, optimism } from 'viem/chains';
4
4
  import { ChainID } from '../../chains.js';
5
5
  import { ERC20ABI } from './abi/erc20.js';
6
+ import { SOURCE_CHAIN_GUARD_ABI } from './abi/source-chain-guard.js';
7
+ import { PERMIT2_ABI } from './abi/permit2.js';
6
8
  const chainIdToProviderChainMap = {
7
9
  [ChainID.Arbitrum]: arbitrum,
8
10
  [ChainID.Optimism]: optimism,
@@ -60,6 +62,31 @@ export class ChainProvider {
60
62
  transport: http(rpcProviderUrl),
61
63
  });
62
64
  }
65
+ getPermit2Contract(permit2Address) {
66
+ return getContract({
67
+ address: permit2Address,
68
+ abi: PERMIT2_ABI,
69
+ client: {
70
+ wallet: this.walletClient,
71
+ public: this.publicClient,
72
+ chain: chainIdToProviderChainMap[this.chainId],
73
+ account: this.walletClient.account,
74
+ },
75
+ });
76
+ }
77
+ // Any type since the inferred type of this node exceeds the maximum length the compiler will serialize
78
+ getAuctioneerContract(auctioneerAddress) {
79
+ return getContract({
80
+ address: auctioneerAddress,
81
+ abi: SOURCE_CHAIN_GUARD_ABI,
82
+ client: {
83
+ wallet: this.walletClient,
84
+ public: this.publicClient,
85
+ chain: chainIdToProviderChainMap[this.chainId],
86
+ account: this.walletClient.account,
87
+ },
88
+ });
89
+ }
63
90
  getERC20Contract(tokenAddress) {
64
91
  return getContract({
65
92
  address: tokenAddress,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viem-provider.js","sourceRoot":"","sources":["../../../../src/core/evm/viem-provider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { chainIdToChainTypeMap } from '../chains.js';
2
2
  import { AUCTIONEER_URL } from '../constants.js';
3
3
  import { NetworkError } from '../errors/index.js';
4
+ import { calculateAmounts } from '../utils/defillama.js';
4
5
  import { Parsers } from '../utils/parsers.js';
5
6
  import { Order } from './order.js';
6
7
  /**
@@ -26,22 +27,45 @@ export class BaseSDK {
26
27
  */
27
28
  async createOrder(params) {
28
29
  const userAddress = await this.getUserAddress();
30
+ let minStablecoinAmount;
31
+ let destinationTokenMinAmount;
32
+ if (!params.minStablecoinAmount || !params.destinationTokenMinAmount) {
33
+ // Calculate missing values using DefiLlama
34
+ const { amountOut: calculatedAmountOut, minStablecoinsAmount: calculatedMinStablecoins } = await calculateAmounts({
35
+ srcChainId: params.sourceChainId,
36
+ tokenIn: params.sourceTokenAddress,
37
+ amountIn: params.sourceTokenAmount,
38
+ destChainId: params.destinationChainId,
39
+ tokenOut: params.destinationTokenAddress,
40
+ });
41
+ // Use provided values if available, otherwise use calculated ones
42
+ minStablecoinAmount = params.minStablecoinAmount ?? calculatedMinStablecoins;
43
+ destinationTokenMinAmount = params.destinationTokenMinAmount ?? calculatedAmountOut;
44
+ }
45
+ else {
46
+ // Both values provided, use them directly
47
+ minStablecoinAmount = params.minStablecoinAmount;
48
+ destinationTokenMinAmount = params.destinationTokenMinAmount;
49
+ }
29
50
  // Order is validated upon creation
30
51
  const order = await Order.create({
31
52
  user: userAddress,
32
53
  sourceChainId: params.sourceChainId,
33
54
  sourceTokenAddress: params.sourceTokenAddress,
34
55
  sourceTokenAmount: params.sourceTokenAmount,
35
- minStablecoinAmount: params.minStablecoinAmount,
56
+ minStablecoinAmount: minStablecoinAmount,
36
57
  deadline: params.deadline,
37
58
  destinationAddress: params.destinationAddress,
38
59
  destinationChainId: params.destinationChainId,
39
60
  destinationTokenAddress: params.destinationTokenAddress,
40
- destinationTokenMinAmount: params.destinationTokenMinAmount,
61
+ destinationTokenMinAmount: destinationTokenMinAmount,
41
62
  extraTransfers: params.extraTransfers,
42
63
  });
43
64
  return this.prepareOrder(order);
44
65
  }
66
+ async cancelOrder(orderId) {
67
+ return this.cancelOrderInternal(orderId);
68
+ }
45
69
  /**
46
70
  * Creates an order and sends it to the auctioneer in a single call
47
71
  *
@@ -55,7 +79,7 @@ export class BaseSDK {
55
79
  */
56
80
  async createAndSendOrder(params) {
57
81
  const preparedOrder = await this.createOrder(params);
58
- return this.sendOrder(preparedOrder);
82
+ return BaseSDK.sendOrder(preparedOrder);
59
83
  }
60
84
  /**
61
85
  * Converts a prepared order into a user intent request format for the auctioneer
@@ -69,7 +93,7 @@ export class BaseSDK {
69
93
  * @returns User intent request object ready for submission to the auctioneer
70
94
  * @throws {BaseError} If conversion fails
71
95
  */
72
- getUserIntentRequest(preparedOrder) {
96
+ static getUserIntentRequest(preparedOrder) {
73
97
  const sourceChain = preparedOrder.order.sourceChainId;
74
98
  const sourceChainType = chainIdToChainTypeMap[sourceChain];
75
99
  const executionDetails = preparedOrder.order.getExecutionDetails();
@@ -94,8 +118,8 @@ export class BaseSDK {
94
118
  * @returns Promise resolving to the specific-chain tx hash
95
119
  * @throws {NetworkError} If the network request fails or returns an error
96
120
  */
97
- async sendOrder(preparedOrder) {
98
- const intentRequest = this.getUserIntentRequest(preparedOrder);
121
+ static async sendOrder(preparedOrder) {
122
+ const intentRequest = BaseSDK.getUserIntentRequest(preparedOrder);
99
123
  const body = JSON.stringify(intentRequest, Parsers.bigIntReplacer);
100
124
  const url = `${AUCTIONEER_URL}/user_intent`;
101
125
  const response = await fetch(url, {
@@ -114,7 +138,7 @@ export class BaseSDK {
114
138
  body: extraErrorData,
115
139
  });
116
140
  }
117
- return response;
141
+ return response.json();
118
142
  }
119
143
  }
120
144
  //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/core/sdk.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { ChainID } from '../../chains.js';
5
5
  import { NATIVE_SOLANA_TOKEN_ADDRESS, SRC_CHAIN_GUARD, WRAPPED_SOL_MINT_ADDRESS } from '../../constants.js';
6
6
  import { getDefaultSolanaRPC } from './client.js';
7
7
  import { getCreateOrderInstruction } from './generated/index.js';
8
+ import { BaseSDK } from '../sdk.js';
8
9
  /**
9
10
  * Generates Solana order instructions for creating an order
10
11
  * @param order The order to generate instructions
@@ -89,4 +90,13 @@ export async function getSolanaOrderInstructions(order) {
89
90
  orderKeyPair: orderSigner,
90
91
  };
91
92
  }
93
+ export async function sendSolanaRequest({ order, orderPubkey, }) {
94
+ const preparedOrder = {
95
+ order,
96
+ preparedData: {
97
+ orderPubkey,
98
+ },
99
+ };
100
+ return BaseSDK.sendOrder(preparedOrder);
101
+ }
92
102
  //# sourceMappingURL=order-instructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-instructions.js","sourceRoot":"","sources":["../../../../src/core/solana/order-instructions.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { appendTransactionMessageInstructions, compileTransaction, createKeyPairFromBytes, createNoopSigner, createSignerFromKeyPair, createTransactionMessage, getBase58Encoder, pipe, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransaction, } from '@solana/kit';
1
+ import { address, appendTransactionMessageInstructions, compileTransaction, createKeyPairFromBytes, createNoopSigner, createSignerFromKeyPair, createTransactionMessage, getBase58Encoder, pipe, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransaction, } from '@solana/kit';
2
2
  import { Order } from '../order.js';
3
3
  import { BaseSDK } from '../sdk.js';
4
4
  import { createSolanaClient } from './client.js';
5
5
  import { getSolanaOrderInstructions } from './order-instructions.js';
6
+ import { fetchMaybeOrder } from './generated/index.js';
6
7
  /**
7
8
  * Solana-specific SDK implementation
8
9
  *
@@ -47,6 +48,15 @@ export class SolanaSDK extends BaseSDK {
47
48
  const signer = await this.getUserSigner();
48
49
  return signer.address;
49
50
  }
51
+ async cancelOrderInternal(orderId) {
52
+ const rpc = this.client.rpc;
53
+ const orderAddress = address(orderId);
54
+ const orderData = await fetchMaybeOrder(rpc, orderAddress);
55
+ if (!orderData) {
56
+ throw new Error('Order not found');
57
+ }
58
+ throw new Error('Method not implemented.');
59
+ }
50
60
  /**
51
61
  * Creates a CryptoKeyPair from the user's private key
52
62
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../../src/core/solana/sdk.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { ChainID } from '../../chains.js';
4
4
  import { SRC_CHAIN_GUARD, SUI_GUARD_COLLATERAL_TYPE, SUI_GUARD_STABLECOIN_TYPE, SUI_PACKAGE_ID, } from '../../constants.js';
5
5
  import { ValidationError } from '../../errors/index.js';
6
6
  import { createSuiClient } from './client.js';
7
+ import { BaseSDK } from '../sdk.js';
7
8
  /**
8
9
  * Generates Sui order transaction for creating an order
9
10
  * @param order The order to generate transaction for
@@ -53,4 +54,13 @@ export async function getSuiOrderTransaction(order) {
53
54
  tx.setSender(userAddress);
54
55
  return tx;
55
56
  }
57
+ export async function sendSuiRequest({ order, transactionDigest, }) {
58
+ const preparedOrder = {
59
+ order,
60
+ preparedData: {
61
+ transactionHash: transactionDigest,
62
+ },
63
+ };
64
+ return BaseSDK.sendOrder(preparedOrder);
65
+ }
56
66
  //# sourceMappingURL=order-transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-transaction.js","sourceRoot":"","sources":["../../../../src/core/sui/order-transaction.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,9 @@ import { getSuiOrderTransaction } from './order-transaction.js';
12
12
  * Supports cross-chain swaps from Sui to other supported chains.
13
13
  */
14
14
  export class SuiSDK extends BaseSDK {
15
+ cancelOrderInternal() {
16
+ throw new Error('Method not implemented.');
17
+ }
15
18
  /**
16
19
  * Creates a new instance of the Sui SDK
17
20
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../../src/core/sui/sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,OAAO,MAAO,SAAQ,OAAO;IACd,mBAAmB;QACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAOD;;;;OAIG;IACH,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAC;QAXV,0DAA0D;QACzC;;;;;WAAkB;QACnC,+DAA+D;QACvD;;;;;WAAkB;QASxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,cAAc;QACzB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;OAOG;IACK,UAAU;QAChB,OAAO,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,KAAK,CAAC,YAAY,CAAC,KAAY;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAEjC,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAExD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC;gBACrD,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YAE5D,OAAO;gBACL,KAAK;gBACL,YAAY,EAAE;oBACZ,eAAe,EAAE,EAAE,CAAC,MAAM;iBAC3B;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,kBAAkB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF"}
@@ -76,6 +76,12 @@ export class InsufficientBalanceError extends BaseError {
76
76
  Object.setPrototypeOf(this, InsufficientBalanceError.prototype);
77
77
  }
78
78
  }
79
+ export class CalculateAmountError extends BaseError {
80
+ constructor(message, cause) {
81
+ super(message, cause);
82
+ Object.setPrototypeOf(this, CalculateAmountError.prototype);
83
+ }
84
+ }
79
85
  export class InsufficientAllowanceError extends BaseError {
80
86
  constructor(message, cause) {
81
87
  super(message, cause);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export { ChainID, ChainType, SupportedChains } from './chains.js';
2
+ export { EVMSDK } from './core/evm/sdk.js';
3
+ export { Order } from './core/order.js';
4
+ export { SolanaSDK } from './core/solana/sdk.js';
5
+ export { SuiSDK } from './core/sui/sdk.js';
6
+ export { ValidationError } from './errors/index.js';
7
+ export { calculateAmounts, chainIdToDefiLlamaChainMap, createDefiLlamaCoinKey, getCoinFromResponse, getTokensData, } from './utils/defillama.js';
8
+ export { getEvmOrderTypedData, sendEvmRequest } from './core/evm/order-signature.js';
9
+ export { getSolanaOrderInstructions, sendSolanaRequest } from './core/solana/order-instructions.js';
10
+ export { getSuiOrderTransaction, sendSuiRequest } from './core/sui/order-transaction.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIlE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACpG,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ export var OrderStatus;
2
+ (function (OrderStatus) {
3
+ // In auction stage, waiting for bids.
4
+ OrderStatus["Auction"] = "Auction";
5
+ // No bids were received for the order. Is set as limit order.
6
+ OrderStatus["NoBids"] = "NoBids";
7
+ // The order got a winner bid and the solver is going to execute it.
8
+ OrderStatus["Executing"] = "Executing";
9
+ // The order was correctly executed.
10
+ OrderStatus["Fulfilled"] = "Fulfilled";
11
+ // The order was cancelled before execution.
12
+ OrderStatus["Cancelled"] = "Cancelled";
13
+ // The order was not fulfilled before its deadline.
14
+ OrderStatus["Outdated"] = "Outdated";
15
+ })(OrderStatus || (OrderStatus = {}));
16
+ //# sourceMappingURL=user-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-order.js","sourceRoot":"","sources":["../../../src/types/user-order.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB,sCAAsC;IACtC,kCAAmB,CAAA;IACnB,8DAA8D;IAC9D,gCAAiB,CAAA;IACjB,oEAAoE;IACpE,sCAAuB,CAAA;IACvB,oCAAoC;IACpC,sCAAuB,CAAA;IACvB,4CAA4C;IAC5C,sCAAuB,CAAA;IACvB,mDAAmD;IACnD,oCAAqB,CAAA;AACvB,CAAC,EAbW,WAAW,KAAX,WAAW,QAatB"}
@@ -0,0 +1,115 @@
1
+ import { ChainID } from '../chains.js';
2
+ import { isNativeTokenEvmAddress, NATIVE_SOLANA_TOKEN_ADDRESS, REDUCTION_FACTOR, STABLECOIN_DECIMALS, WRAPPED_SOL_MINT_ADDRESS, } from '../constants.js';
3
+ import { CalculateAmountError } from '../errors/index.js';
4
+ import { Parsers } from './parsers.js';
5
+ const TOKEN_PRICE_BASE_URL = 'https://coins.llama.fi/prices/current/';
6
+ /**
7
+ * Maps chain IDs to their corresponding chain types
8
+ * Used to determine which SDK implementation to use for a given chain
9
+ */
10
+ export const chainIdToDefiLlamaChainMap = {
11
+ [ChainID.Arbitrum]: 'arbitrum',
12
+ [ChainID.Base]: 'base',
13
+ [ChainID.Optimism]: 'optimism',
14
+ [ChainID.Solana]: 'solana',
15
+ [ChainID.Sui]: 'sui',
16
+ };
17
+ /**
18
+ * Creates DefiLlama coin key from chain ID and token address
19
+ * Format: "chainName:tokenAddress"
20
+ */
21
+ export const createDefiLlamaCoinKey = (chainId, tokenAddress) => {
22
+ const chainName = chainIdToDefiLlamaChainMap[chainId];
23
+ if (!chainName) {
24
+ throw new CalculateAmountError(`Unsupported chain ID for DefiLlama: ${chainId}`);
25
+ }
26
+ return `${chainName}:${toDefiLlamaToken(tokenAddress)}`;
27
+ };
28
+ /**
29
+ * Retrieves token data from DefiLlama response by chain and address
30
+ */
31
+ export const getCoinFromResponse = (response, chainId, tokenAddress) => {
32
+ const key = createDefiLlamaCoinKey(chainId, tokenAddress);
33
+ const coin = response.coins[key];
34
+ if (!coin) {
35
+ throw new CalculateAmountError(`DefiLlama coin not found for ${key}`);
36
+ }
37
+ return coin;
38
+ };
39
+ /**
40
+ * Converts Solana native token address to wrapped SOL mint address
41
+ * DefiLlama uses wrapped SOL mint address for native SOL
42
+ *
43
+ * @param tokenAddress The token address to convert
44
+ * @returns The DefiLlama-compatible token address
45
+ */
46
+ function toDefiLlamaToken(tokenAddress) {
47
+ if (isNativeTokenEvmAddress(tokenAddress)) {
48
+ return '0x0000000000000000000000000000000000000000';
49
+ }
50
+ if (tokenAddress === NATIVE_SOLANA_TOKEN_ADDRESS) {
51
+ return WRAPPED_SOL_MINT_ADDRESS;
52
+ }
53
+ return tokenAddress;
54
+ }
55
+ /**
56
+ * Builds a comma-separated query string for DefiLlama API token requests
57
+ *
58
+ * Converts an array of chain/token pairs into the format expected by DefiLlama's
59
+ * bulk price endpoint: "chain1:token1,chain2:token2,..."
60
+ *
61
+ * @param tokens - Array of [ChainID, token address] tuples to query
62
+ * @returns Comma-separated string of DefiLlama coin keys
63
+ *
64
+ * @throws {CalculateAmountError} When any chain ID is not supported by DefiLlama
65
+ */
66
+ function buildTokensQueryString(tokens) {
67
+ return tokens.map(([chainId, tokenAddress]) => createDefiLlamaCoinKey(chainId, tokenAddress)).join(',');
68
+ }
69
+ /**
70
+ * Fetch tokens data for array of coins
71
+ *
72
+ * @param tokens Array of [ChainID, Token Address] tuples
73
+ * @returns Promise resolving to DefiLlama tokens response
74
+ * @throws {CalculateAmountError} If the request fails or response is invalid
75
+ */
76
+ export async function getTokensData(tokens) {
77
+ const tokensStr = buildTokensQueryString(tokens);
78
+ const url = `${TOKEN_PRICE_BASE_URL}${tokensStr}`;
79
+ const response = await fetch(url, {
80
+ method: 'GET',
81
+ headers: {
82
+ 'Content-Type': 'application/json',
83
+ },
84
+ });
85
+ if (!response.ok) {
86
+ throw new CalculateAmountError(`Failed to fetch token prices: ${response.status} ${response.statusText}`);
87
+ }
88
+ const data = await response.json();
89
+ return data;
90
+ }
91
+ export async function calculateAmounts({ srcChainId, tokenIn, amountIn, destChainId, tokenOut, }) {
92
+ // Fetch token data from DefiLlama
93
+ const tokensResponse = await getTokensData([
94
+ [srcChainId, tokenIn],
95
+ [destChainId, tokenOut],
96
+ ]);
97
+ // Get token data for input token
98
+ const tokenInData = getCoinFromResponse(tokensResponse, srcChainId, tokenIn);
99
+ if (!tokenInData) {
100
+ throw new CalculateAmountError(`Token ${tokenIn} for chain ${srcChainId} not found in DefiLlama response`);
101
+ }
102
+ // Get token data for output token
103
+ const tokenOutData = getCoinFromResponse(tokensResponse, destChainId, tokenOut);
104
+ if (!tokenOutData) {
105
+ throw new CalculateAmountError(`Token ${tokenOut} for chain ${destChainId} not found in DefiLlama response`);
106
+ }
107
+ // Calculate 80% of the amount_in value as amount_out_min and min_stablecoins_amount
108
+ const tokenInUsdAmount = Parsers.bigintToFloat(amountIn, tokenInData.decimals) * tokenInData.price;
109
+ const amountInUsdReduced = tokenInUsdAmount * REDUCTION_FACTOR;
110
+ const amountOutReduced = amountInUsdReduced / tokenOutData.price;
111
+ const amountOut = Parsers.floatToBigint(amountOutReduced, tokenOutData.decimals);
112
+ const minStablecoinsAmount = Parsers.floatToBigint(amountInUsdReduced, STABLECOIN_DECIMALS);
113
+ return { amountOut, minStablecoinsAmount };
114
+ }
115
+ //# sourceMappingURL=defillama.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defillama.js","sourceRoot":"","sources":["../../../src/utils/defillama.ts"],"names":[],"mappings":"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"}
@@ -66,7 +66,7 @@ export class OrderValidator {
66
66
  async validateOrder(order) {
67
67
  const sourceValidator = ValidatorFactory.getValidatorForChain(order.sourceChainId);
68
68
  await sourceValidator.validateSourceChain(order);
69
- this.commonValidator.validateCrossChain(order.sourceChainId, order.destinationChainId);
69
+ // this.commonValidator.validateCrossChain(order.sourceChainId, order.destinationChainId);
70
70
  const destinationValidator = ValidatorFactory.getValidatorForChain(order.destinationChainId);
71
71
  destinationValidator.validateDestinationChain(order);
72
72
  this.commonValidator.validateDeadline(order.deadline);