@shogun-sdk/intents-sdk 1.0.1 → 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 (303) hide show
  1. package/dist/{_esm → esm}/chains.js +12 -14
  2. package/dist/esm/chains.js.map +1 -0
  3. package/dist/{_esm → esm}/constants.js +5 -1
  4. package/dist/{_esm → esm}/constants.js.map +1 -1
  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 +9 -6
  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/index.js +11 -0
  27. package/dist/esm/index.js.map +1 -0
  28. package/dist/esm/types/api.js +2 -0
  29. package/dist/esm/types/api.js.map +1 -0
  30. package/dist/esm/types/user-order.js +16 -0
  31. package/dist/esm/types/user-order.js.map +1 -0
  32. package/dist/{_esm → esm}/utils/defillama.js +4 -4
  33. package/dist/esm/utils/defillama.js.map +1 -0
  34. package/dist/{_esm → esm}/utils/order-validator.js +1 -1
  35. package/dist/{_esm → esm}/utils/order-validator.js.map +1 -1
  36. package/dist/{_esm → esm}/utils/parsers.js +1 -1
  37. package/dist/esm/utils/parsers.js.map +1 -0
  38. package/dist/{_types → types}/chains.d.ts +12 -22
  39. package/dist/types/chains.d.ts.map +1 -0
  40. package/dist/{_types → types}/constants.d.ts +2 -0
  41. package/dist/types/constants.d.ts.map +1 -0
  42. package/dist/types/core/evm/abi/permit2.d.ts +304 -0
  43. package/dist/types/core/evm/abi/permit2.d.ts.map +1 -0
  44. package/dist/{_types → types}/core/evm/abi/source-chain-guard.d.ts +1 -1
  45. package/dist/{_types → types}/core/evm/abi/source-chain-guard.d.ts.map +1 -1
  46. package/dist/{_types → types}/core/evm/intent-provider.d.ts +2 -1
  47. package/dist/{_types → types}/core/evm/intent-provider.d.ts.map +1 -1
  48. package/dist/{_types → types}/core/evm/order-signature.d.ts +6 -0
  49. package/dist/types/core/evm/order-signature.d.ts.map +1 -0
  50. package/dist/{_types → types}/core/evm/sdk.d.ts +4 -0
  51. package/dist/types/core/evm/sdk.d.ts.map +1 -0
  52. package/dist/types/core/evm/viem-provider.d.ts +19304 -0
  53. package/dist/{_types → types}/core/evm/viem-provider.d.ts.map +1 -1
  54. package/dist/{_types → types}/core/sdk.d.ts +7 -4
  55. package/dist/types/core/sdk.d.ts.map +1 -0
  56. package/dist/{_types → types}/core/solana/order-instructions.d.ts +5 -0
  57. package/dist/types/core/solana/order-instructions.d.ts.map +1 -0
  58. package/dist/{_types → types}/core/solana/sdk.d.ts +1 -0
  59. package/dist/{_types → types}/core/solana/sdk.d.ts.map +1 -1
  60. package/dist/{_types → types}/core/sui/order-transaction.d.ts +5 -0
  61. package/dist/types/core/sui/order-transaction.d.ts.map +1 -0
  62. package/dist/{_types → types}/core/sui/sdk.d.ts +1 -0
  63. package/dist/types/core/sui/sdk.d.ts.map +1 -0
  64. package/dist/{_types → types}/index.d.ts +6 -3
  65. package/dist/types/index.d.ts.map +1 -0
  66. package/dist/types/types/api.d.ts +8 -0
  67. package/dist/types/types/api.d.ts.map +1 -0
  68. package/dist/types/types/user-order.d.ts +37 -0
  69. package/dist/types/types/user-order.d.ts.map +1 -0
  70. package/dist/{_types → types}/utils/defillama.d.ts +1 -1
  71. package/dist/types/utils/defillama.d.ts.map +1 -0
  72. package/dist/{_types → types}/utils/parsers.d.ts.map +1 -1
  73. package/package.json +9 -10
  74. package/src/chains.ts +16 -30
  75. package/src/constants.ts +7 -1
  76. package/src/core/evm/abi/permit2.ts +394 -0
  77. package/src/core/evm/abi/source-chain-guard.ts +2 -1
  78. package/src/core/evm/intent-provider.ts +1 -1
  79. package/src/core/evm/order-signature.ts +23 -0
  80. package/src/core/evm/sdk.ts +96 -0
  81. package/src/core/evm/viem-provider.ts +29 -0
  82. package/src/core/sdk.ts +20 -12
  83. package/src/core/solana/order-instructions.ts +20 -0
  84. package/src/core/solana/sdk.ts +14 -0
  85. package/src/core/sui/order-transaction.ts +20 -0
  86. package/src/core/sui/sdk.ts +4 -0
  87. package/src/index.ts +12 -3
  88. package/src/types/api.ts +9 -0
  89. package/src/types/user-order.ts +74 -0
  90. package/src/utils/defillama.ts +52 -46
  91. package/src/utils/order-validator.ts +1 -1
  92. package/src/utils/parsers.ts +1 -2
  93. package/dist/_esm/chains.js.map +0 -1
  94. package/dist/_esm/core/evm/abi/source-chain-guard.js.map +0 -1
  95. package/dist/_esm/core/evm/order-signature.js.map +0 -1
  96. package/dist/_esm/core/evm/sdk.js +0 -79
  97. package/dist/_esm/core/evm/sdk.js.map +0 -1
  98. package/dist/_esm/core/evm/viem-provider.js.map +0 -1
  99. package/dist/_esm/core/sdk.js.map +0 -1
  100. package/dist/_esm/core/solana/order-instructions.js.map +0 -1
  101. package/dist/_esm/core/solana/sdk.js.map +0 -1
  102. package/dist/_esm/core/sui/order-transaction.js.map +0 -1
  103. package/dist/_esm/core/sui/sdk.js.map +0 -1
  104. package/dist/_esm/index.js +0 -8
  105. package/dist/_esm/index.js.map +0 -1
  106. package/dist/_esm/package.json +0 -1
  107. package/dist/_esm/utils/defillama.js.map +0 -1
  108. package/dist/_esm/utils/parsers.js.map +0 -1
  109. package/dist/_types/chains.d.ts.map +0 -1
  110. package/dist/_types/constants.d.ts.map +0 -1
  111. package/dist/_types/core/evm/order-signature.d.ts.map +0 -1
  112. package/dist/_types/core/evm/sdk.d.ts.map +0 -1
  113. package/dist/_types/core/evm/viem-provider.d.ts +0 -9657
  114. package/dist/_types/core/sdk.d.ts.map +0 -1
  115. package/dist/_types/core/solana/order-instructions.d.ts.map +0 -1
  116. package/dist/_types/core/sui/order-transaction.d.ts.map +0 -1
  117. package/dist/_types/core/sui/sdk.d.ts.map +0 -1
  118. package/dist/_types/index.d.ts.map +0 -1
  119. package/dist/_types/utils/defillama.d.ts.map +0 -1
  120. /package/dist/{_esm → esm}/config.js +0 -0
  121. /package/dist/{_esm → esm}/config.js.map +0 -0
  122. /package/dist/{_esm → esm}/core/evm/abi/erc20.js +0 -0
  123. /package/dist/{_esm → esm}/core/evm/abi/erc20.js.map +0 -0
  124. /package/dist/{_esm → esm}/core/evm/intent-provider.js +0 -0
  125. /package/dist/{_esm → esm}/core/evm/permit2.js +0 -0
  126. /package/dist/{_esm → esm}/core/evm/permit2.js.map +0 -0
  127. /package/dist/{_esm → esm}/core/evm/validator.js +0 -0
  128. /package/dist/{_esm → esm}/core/evm/validator.js.map +0 -0
  129. /package/dist/{_esm → esm}/core/order.js +0 -0
  130. /package/dist/{_esm → esm}/core/order.js.map +0 -0
  131. /package/dist/{_esm → esm}/core/solana/client.js +0 -0
  132. /package/dist/{_esm → esm}/core/solana/client.js.map +0 -0
  133. /package/dist/{_esm → esm}/core/solana/generated/accounts/adminSingleton.js +0 -0
  134. /package/dist/{_esm → esm}/core/solana/generated/accounts/adminSingleton.js.map +0 -0
  135. /package/dist/{_esm → esm}/core/solana/generated/accounts/guard.js +0 -0
  136. /package/dist/{_esm → esm}/core/solana/generated/accounts/guard.js.map +0 -0
  137. /package/dist/{_esm → esm}/core/solana/generated/accounts/index.js +0 -0
  138. /package/dist/{_esm → esm}/core/solana/generated/accounts/index.js.map +0 -0
  139. /package/dist/{_esm → esm}/core/solana/generated/accounts/order.js +0 -0
  140. /package/dist/{_esm → esm}/core/solana/generated/accounts/order.js.map +0 -0
  141. /package/dist/{_esm → esm}/core/solana/generated/errors/index.js +0 -0
  142. /package/dist/{_esm → esm}/core/solana/generated/errors/index.js.map +0 -0
  143. /package/dist/{_esm → esm}/core/solana/generated/errors/sourceChainGuard.js +0 -0
  144. /package/dist/{_esm → esm}/core/solana/generated/errors/sourceChainGuard.js.map +0 -0
  145. /package/dist/{_esm → esm}/core/solana/generated/index.js +0 -0
  146. /package/dist/{_esm → esm}/core/solana/generated/index.js.map +0 -0
  147. /package/dist/{_esm → esm}/core/solana/generated/instructions/cancelOrder.js +0 -0
  148. /package/dist/{_esm → esm}/core/solana/generated/instructions/cancelOrder.js.map +0 -0
  149. /package/dist/{_esm → esm}/core/solana/generated/instructions/claimTokens.js +0 -0
  150. /package/dist/{_esm → esm}/core/solana/generated/instructions/claimTokens.js.map +0 -0
  151. /package/dist/{_esm → esm}/core/solana/generated/instructions/collectProtocolFees.js +0 -0
  152. /package/dist/{_esm → esm}/core/solana/generated/instructions/collectProtocolFees.js.map +0 -0
  153. /package/dist/{_esm → esm}/core/solana/generated/instructions/createGuard.js +0 -0
  154. /package/dist/{_esm → esm}/core/solana/generated/instructions/createGuard.js.map +0 -0
  155. /package/dist/{_esm → esm}/core/solana/generated/instructions/createOrder.js +0 -0
  156. /package/dist/{_esm → esm}/core/solana/generated/instructions/createOrder.js.map +0 -0
  157. /package/dist/{_esm → esm}/core/solana/generated/instructions/index.js +0 -0
  158. /package/dist/{_esm → esm}/core/solana/generated/instructions/index.js.map +0 -0
  159. /package/dist/{_esm → esm}/core/solana/generated/instructions/initialize.js +0 -0
  160. /package/dist/{_esm → esm}/core/solana/generated/instructions/initialize.js.map +0 -0
  161. /package/dist/{_esm → esm}/core/solana/generated/instructions/preStartOrderExecution.js +0 -0
  162. /package/dist/{_esm → esm}/core/solana/generated/instructions/preStartOrderExecution.js.map +0 -0
  163. /package/dist/{_esm → esm}/core/solana/generated/instructions/setAdmin.js +0 -0
  164. /package/dist/{_esm → esm}/core/solana/generated/instructions/setAdmin.js.map +0 -0
  165. /package/dist/{_esm → esm}/core/solana/generated/instructions/setAuctioneerPubKey.js +0 -0
  166. /package/dist/{_esm → esm}/core/solana/generated/instructions/setAuctioneerPubKey.js.map +0 -0
  167. /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecution.js +0 -0
  168. /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecution.js.map +0 -0
  169. /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecutionAfterSwap.js +0 -0
  170. /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecutionAfterSwap.js.map +0 -0
  171. /package/dist/{_esm → esm}/core/solana/generated/programs/index.js +0 -0
  172. /package/dist/{_esm → esm}/core/solana/generated/programs/index.js.map +0 -0
  173. /package/dist/{_esm → esm}/core/solana/generated/programs/sourceChainGuard.js +0 -0
  174. /package/dist/{_esm → esm}/core/solana/generated/programs/sourceChainGuard.js.map +0 -0
  175. /package/dist/{_esm → esm}/core/solana/generated/shared/index.js +0 -0
  176. /package/dist/{_esm → esm}/core/solana/generated/shared/index.js.map +0 -0
  177. /package/dist/{_esm → esm}/core/solana/generated/types/adminUpdated.js +0 -0
  178. /package/dist/{_esm → esm}/core/solana/generated/types/adminUpdated.js.map +0 -0
  179. /package/dist/{_esm → esm}/core/solana/generated/types/auctioneerPubkeyUpdated.js +0 -0
  180. /package/dist/{_esm → esm}/core/solana/generated/types/auctioneerPubkeyUpdated.js.map +0 -0
  181. /package/dist/{_esm → esm}/core/solana/generated/types/executionStarted.js +0 -0
  182. /package/dist/{_esm → esm}/core/solana/generated/types/executionStarted.js.map +0 -0
  183. /package/dist/{_esm → esm}/core/solana/generated/types/guardCreated.js +0 -0
  184. /package/dist/{_esm → esm}/core/solana/generated/types/guardCreated.js.map +0 -0
  185. /package/dist/{_esm → esm}/core/solana/generated/types/index.js +0 -0
  186. /package/dist/{_esm → esm}/core/solana/generated/types/index.js.map +0 -0
  187. /package/dist/{_esm → esm}/core/solana/generated/types/orderCancelled.js +0 -0
  188. /package/dist/{_esm → esm}/core/solana/generated/types/orderCancelled.js.map +0 -0
  189. /package/dist/{_esm → esm}/core/solana/generated/types/orderCreated.js +0 -0
  190. /package/dist/{_esm → esm}/core/solana/generated/types/orderCreated.js.map +0 -0
  191. /package/dist/{_esm → esm}/core/solana/generated/types/orderFulfilled.js +0 -0
  192. /package/dist/{_esm → esm}/core/solana/generated/types/orderFulfilled.js.map +0 -0
  193. /package/dist/{_esm → esm}/core/solana/generated/types/tokenInSwapped.js +0 -0
  194. /package/dist/{_esm → esm}/core/solana/generated/types/tokenInSwapped.js.map +0 -0
  195. /package/dist/{_esm → esm}/core/solana/validator.js +0 -0
  196. /package/dist/{_esm → esm}/core/solana/validator.js.map +0 -0
  197. /package/dist/{_esm → esm}/core/sui/client.js +0 -0
  198. /package/dist/{_esm → esm}/core/sui/client.js.map +0 -0
  199. /package/dist/{_esm → esm}/core/sui/validator.js +0 -0
  200. /package/dist/{_esm → esm}/core/sui/validator.js.map +0 -0
  201. /package/dist/{_esm → esm}/errors/index.js +0 -0
  202. /package/dist/{_esm → esm}/errors/index.js.map +0 -0
  203. /package/dist/{_esm → esm}/types/intent.js +0 -0
  204. /package/dist/{_esm → esm}/types/intent.js.map +0 -0
  205. /package/dist/{_esm → esm}/utils/base-validator.js +0 -0
  206. /package/dist/{_esm → esm}/utils/base-validator.js.map +0 -0
  207. /package/dist/{_esm → esm}/utils/logger.js +0 -0
  208. /package/dist/{_esm → esm}/utils/logger.js.map +0 -0
  209. /package/dist/{_esm → esm}/utils/type-utils.js +0 -0
  210. /package/dist/{_esm → esm}/utils/type-utils.js.map +0 -0
  211. /package/dist/{_types → types}/config.d.ts +0 -0
  212. /package/dist/{_types → types}/config.d.ts.map +0 -0
  213. /package/dist/{_types → types}/core/evm/abi/erc20.d.ts +0 -0
  214. /package/dist/{_types → types}/core/evm/abi/erc20.d.ts.map +0 -0
  215. /package/dist/{_types → types}/core/evm/permit2.d.ts +0 -0
  216. /package/dist/{_types → types}/core/evm/permit2.d.ts.map +0 -0
  217. /package/dist/{_types → types}/core/evm/validator.d.ts +0 -0
  218. /package/dist/{_types → types}/core/evm/validator.d.ts.map +0 -0
  219. /package/dist/{_types → types}/core/order.d.ts +0 -0
  220. /package/dist/{_types → types}/core/order.d.ts.map +0 -0
  221. /package/dist/{_types → types}/core/solana/client.d.ts +0 -0
  222. /package/dist/{_types → types}/core/solana/client.d.ts.map +0 -0
  223. /package/dist/{_types → types}/core/solana/generated/accounts/adminSingleton.d.ts +0 -0
  224. /package/dist/{_types → types}/core/solana/generated/accounts/adminSingleton.d.ts.map +0 -0
  225. /package/dist/{_types → types}/core/solana/generated/accounts/guard.d.ts +0 -0
  226. /package/dist/{_types → types}/core/solana/generated/accounts/guard.d.ts.map +0 -0
  227. /package/dist/{_types → types}/core/solana/generated/accounts/index.d.ts +0 -0
  228. /package/dist/{_types → types}/core/solana/generated/accounts/index.d.ts.map +0 -0
  229. /package/dist/{_types → types}/core/solana/generated/accounts/order.d.ts +0 -0
  230. /package/dist/{_types → types}/core/solana/generated/accounts/order.d.ts.map +0 -0
  231. /package/dist/{_types → types}/core/solana/generated/errors/index.d.ts +0 -0
  232. /package/dist/{_types → types}/core/solana/generated/errors/index.d.ts.map +0 -0
  233. /package/dist/{_types → types}/core/solana/generated/errors/sourceChainGuard.d.ts +0 -0
  234. /package/dist/{_types → types}/core/solana/generated/errors/sourceChainGuard.d.ts.map +0 -0
  235. /package/dist/{_types → types}/core/solana/generated/index.d.ts +0 -0
  236. /package/dist/{_types → types}/core/solana/generated/index.d.ts.map +0 -0
  237. /package/dist/{_types → types}/core/solana/generated/instructions/cancelOrder.d.ts +0 -0
  238. /package/dist/{_types → types}/core/solana/generated/instructions/cancelOrder.d.ts.map +0 -0
  239. /package/dist/{_types → types}/core/solana/generated/instructions/claimTokens.d.ts +0 -0
  240. /package/dist/{_types → types}/core/solana/generated/instructions/claimTokens.d.ts.map +0 -0
  241. /package/dist/{_types → types}/core/solana/generated/instructions/collectProtocolFees.d.ts +0 -0
  242. /package/dist/{_types → types}/core/solana/generated/instructions/collectProtocolFees.d.ts.map +0 -0
  243. /package/dist/{_types → types}/core/solana/generated/instructions/createGuard.d.ts +0 -0
  244. /package/dist/{_types → types}/core/solana/generated/instructions/createGuard.d.ts.map +0 -0
  245. /package/dist/{_types → types}/core/solana/generated/instructions/createOrder.d.ts +0 -0
  246. /package/dist/{_types → types}/core/solana/generated/instructions/createOrder.d.ts.map +0 -0
  247. /package/dist/{_types → types}/core/solana/generated/instructions/index.d.ts +0 -0
  248. /package/dist/{_types → types}/core/solana/generated/instructions/index.d.ts.map +0 -0
  249. /package/dist/{_types → types}/core/solana/generated/instructions/initialize.d.ts +0 -0
  250. /package/dist/{_types → types}/core/solana/generated/instructions/initialize.d.ts.map +0 -0
  251. /package/dist/{_types → types}/core/solana/generated/instructions/preStartOrderExecution.d.ts +0 -0
  252. /package/dist/{_types → types}/core/solana/generated/instructions/preStartOrderExecution.d.ts.map +0 -0
  253. /package/dist/{_types → types}/core/solana/generated/instructions/setAdmin.d.ts +0 -0
  254. /package/dist/{_types → types}/core/solana/generated/instructions/setAdmin.d.ts.map +0 -0
  255. /package/dist/{_types → types}/core/solana/generated/instructions/setAuctioneerPubKey.d.ts +0 -0
  256. /package/dist/{_types → types}/core/solana/generated/instructions/setAuctioneerPubKey.d.ts.map +0 -0
  257. /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecution.d.ts +0 -0
  258. /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecution.d.ts.map +0 -0
  259. /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts +0 -0
  260. /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts.map +0 -0
  261. /package/dist/{_types → types}/core/solana/generated/programs/index.d.ts +0 -0
  262. /package/dist/{_types → types}/core/solana/generated/programs/index.d.ts.map +0 -0
  263. /package/dist/{_types → types}/core/solana/generated/programs/sourceChainGuard.d.ts +0 -0
  264. /package/dist/{_types → types}/core/solana/generated/programs/sourceChainGuard.d.ts.map +0 -0
  265. /package/dist/{_types → types}/core/solana/generated/shared/index.d.ts +0 -0
  266. /package/dist/{_types → types}/core/solana/generated/shared/index.d.ts.map +0 -0
  267. /package/dist/{_types → types}/core/solana/generated/types/adminUpdated.d.ts +0 -0
  268. /package/dist/{_types → types}/core/solana/generated/types/adminUpdated.d.ts.map +0 -0
  269. /package/dist/{_types → types}/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts +0 -0
  270. /package/dist/{_types → types}/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts.map +0 -0
  271. /package/dist/{_types → types}/core/solana/generated/types/executionStarted.d.ts +0 -0
  272. /package/dist/{_types → types}/core/solana/generated/types/executionStarted.d.ts.map +0 -0
  273. /package/dist/{_types → types}/core/solana/generated/types/guardCreated.d.ts +0 -0
  274. /package/dist/{_types → types}/core/solana/generated/types/guardCreated.d.ts.map +0 -0
  275. /package/dist/{_types → types}/core/solana/generated/types/index.d.ts +0 -0
  276. /package/dist/{_types → types}/core/solana/generated/types/index.d.ts.map +0 -0
  277. /package/dist/{_types → types}/core/solana/generated/types/orderCancelled.d.ts +0 -0
  278. /package/dist/{_types → types}/core/solana/generated/types/orderCancelled.d.ts.map +0 -0
  279. /package/dist/{_types → types}/core/solana/generated/types/orderCreated.d.ts +0 -0
  280. /package/dist/{_types → types}/core/solana/generated/types/orderCreated.d.ts.map +0 -0
  281. /package/dist/{_types → types}/core/solana/generated/types/orderFulfilled.d.ts +0 -0
  282. /package/dist/{_types → types}/core/solana/generated/types/orderFulfilled.d.ts.map +0 -0
  283. /package/dist/{_types → types}/core/solana/generated/types/tokenInSwapped.d.ts +0 -0
  284. /package/dist/{_types → types}/core/solana/generated/types/tokenInSwapped.d.ts.map +0 -0
  285. /package/dist/{_types → types}/core/solana/validator.d.ts +0 -0
  286. /package/dist/{_types → types}/core/solana/validator.d.ts.map +0 -0
  287. /package/dist/{_types → types}/core/sui/client.d.ts +0 -0
  288. /package/dist/{_types → types}/core/sui/client.d.ts.map +0 -0
  289. /package/dist/{_types → types}/core/sui/validator.d.ts +0 -0
  290. /package/dist/{_types → types}/core/sui/validator.d.ts.map +0 -0
  291. /package/dist/{_types → types}/errors/index.d.ts +0 -0
  292. /package/dist/{_types → types}/errors/index.d.ts.map +0 -0
  293. /package/dist/{_types → types}/types/intent.d.ts +0 -0
  294. /package/dist/{_types → types}/types/intent.d.ts.map +0 -0
  295. /package/dist/{_types → types}/utils/base-validator.d.ts +0 -0
  296. /package/dist/{_types → types}/utils/base-validator.d.ts.map +0 -0
  297. /package/dist/{_types → types}/utils/logger.d.ts +0 -0
  298. /package/dist/{_types → types}/utils/logger.d.ts.map +0 -0
  299. /package/dist/{_types → types}/utils/order-validator.d.ts +0 -0
  300. /package/dist/{_types → types}/utils/order-validator.d.ts.map +0 -0
  301. /package/dist/{_types → types}/utils/parsers.d.ts +0 -0
  302. /package/dist/{_types → types}/utils/type-utils.d.ts +0 -0
  303. /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,
package/src/core/sdk.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { chainIdToChainTypeMap } from '../chains.js';
2
- import { AUCTIONEER_URL, } from '../constants.js';
3
- import { NetworkError } from '../errors/index.js';
2
+ import { AUCTIONEER_URL } from '../constants.js';
3
+ import { NetworkError } from '../errors/index.js';
4
+ import type { ApiResponse } from '../types/api.js';
4
5
  import type { CreateOrderParams, PreparedOrder, UserIntentRequest } from '../types/intent.js';
5
6
  import { calculateAmounts } from '../utils/defillama.js';
6
7
  import { Parsers } from '../utils/parsers.js';
@@ -22,6 +23,8 @@ export abstract class BaseSDK {
22
23
  */
23
24
  public abstract getUserAddress(): Promise<string>;
24
25
 
26
+ protected abstract cancelOrderInternal(orderId: string): Promise<string>;
27
+
25
28
  /**
26
29
  * Prepares an order for submission with chain-specific logic
27
30
  *
@@ -58,14 +61,15 @@ export abstract class BaseSDK {
58
61
 
59
62
  if (!params.minStablecoinAmount || !params.destinationTokenMinAmount) {
60
63
  // Calculate missing values using DefiLlama
61
- const { amountOut: calculatedAmountOut, minStablecoinsAmount: calculatedMinStablecoins } =
62
- await calculateAmounts({
64
+ const { amountOut: calculatedAmountOut, minStablecoinsAmount: calculatedMinStablecoins } = await calculateAmounts(
65
+ {
63
66
  srcChainId: params.sourceChainId,
64
67
  tokenIn: params.sourceTokenAddress,
65
68
  amountIn: params.sourceTokenAmount,
66
69
  destChainId: params.destinationChainId,
67
70
  tokenOut: params.destinationTokenAddress,
68
- });
71
+ },
72
+ );
69
73
 
70
74
  // Use provided values if available, otherwise use calculated ones
71
75
  minStablecoinAmount = params.minStablecoinAmount ?? calculatedMinStablecoins;
@@ -94,6 +98,10 @@ export abstract class BaseSDK {
94
98
  return this.prepareOrder(order);
95
99
  }
96
100
 
101
+ public async cancelOrder(orderId: string): Promise<string> {
102
+ return this.cancelOrderInternal(orderId);
103
+ }
104
+
97
105
  /**
98
106
  * Creates an order and sends it to the auctioneer in a single call
99
107
  *
@@ -105,9 +113,9 @@ export abstract class BaseSDK {
105
113
  * @throws {OrderCreationError} If order creation fails
106
114
  * @throws {NetworkError} If order submission fails
107
115
  */
108
- public async createAndSendOrder(params: CreateOrderParams): Promise<Response> {
116
+ public async createAndSendOrder(params: CreateOrderParams): Promise<ApiResponse> {
109
117
  const preparedOrder = await this.createOrder(params);
110
- return this.sendOrder(preparedOrder);
118
+ return BaseSDK.sendOrder(preparedOrder);
111
119
  }
112
120
 
113
121
  /**
@@ -122,7 +130,7 @@ export abstract class BaseSDK {
122
130
  * @returns User intent request object ready for submission to the auctioneer
123
131
  * @throws {BaseError} If conversion fails
124
132
  */
125
- private getUserIntentRequest(preparedOrder: PreparedOrder): UserIntentRequest {
133
+ public static getUserIntentRequest(preparedOrder: PreparedOrder): UserIntentRequest {
126
134
  const sourceChain = preparedOrder.order.sourceChainId;
127
135
  const sourceChainType = chainIdToChainTypeMap[sourceChain];
128
136
  const executionDetails = preparedOrder.order.getExecutionDetails();
@@ -149,8 +157,8 @@ export abstract class BaseSDK {
149
157
  * @returns Promise resolving to the specific-chain tx hash
150
158
  * @throws {NetworkError} If the network request fails or returns an error
151
159
  */
152
- public async sendOrder(preparedOrder: PreparedOrder): Promise<Response> {
153
- const intentRequest = this.getUserIntentRequest(preparedOrder);
160
+ public static async sendOrder(preparedOrder: PreparedOrder): Promise<ApiResponse> {
161
+ const intentRequest = BaseSDK.getUserIntentRequest(preparedOrder);
154
162
  const body = JSON.stringify(intentRequest, Parsers.bigIntReplacer);
155
163
 
156
164
  const url = `${AUCTIONEER_URL}/user_intent`;
@@ -163,7 +171,7 @@ export abstract class BaseSDK {
163
171
  });
164
172
 
165
173
  if (!response.ok) {
166
- const errorJson = await response.json();
174
+ const errorJson: ApiResponse = await response.json();
167
175
 
168
176
  const extraErrorData = errorJson.extra_error_data;
169
177
  throw new NetworkError(`Server error`, {
@@ -173,6 +181,6 @@ export abstract class BaseSDK {
173
181
  });
174
182
  }
175
183
 
176
- return response;
184
+ return response.json();
177
185
  }
178
186
  }