@1inch/fusion-sdk 0.1.14 → 1.0.1-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +2 -2
  3. package/{abi/AggregationRouterV5.abi.json → dist/abi/AggregationRouterV6.abi.json} +318 -773
  4. package/{api → dist/api}/fusion-api.js +1 -1
  5. package/{api → dist/api}/fusion-api.js.map +1 -1
  6. package/dist/api/index.js +21 -0
  7. package/dist/api/index.js.map +1 -0
  8. package/dist/api/orders/index.js +20 -0
  9. package/dist/api/orders/index.js.map +1 -0
  10. package/dist/api/orders/order-api.spec.d.ts +1 -0
  11. package/dist/api/orders/order-api.spec.js +412 -0
  12. package/dist/api/orders/order-api.spec.js.map +1 -0
  13. package/dist/api/orders/orders.api.js +42 -0
  14. package/dist/api/orders/orders.api.js.map +1 -0
  15. package/{api → dist/api}/orders/orders.request.js +1 -3
  16. package/dist/api/orders/orders.request.js.map +1 -0
  17. package/{api → dist/api}/orders/types.d.ts +13 -13
  18. package/{api → dist/api}/pagination.d.ts +1 -1
  19. package/dist/api/pagination.spec.d.ts +1 -0
  20. package/dist/api/pagination.spec.js +28 -0
  21. package/dist/api/pagination.spec.js.map +1 -0
  22. package/dist/api/quoter/index.js +23 -0
  23. package/dist/api/quoter/index.js.map +1 -0
  24. package/dist/api/quoter/preset.d.ts +23 -0
  25. package/dist/api/quoter/preset.js +42 -0
  26. package/dist/api/quoter/preset.js.map +1 -0
  27. package/dist/api/quoter/quote/index.js +20 -0
  28. package/{api → dist/api}/quoter/quote/index.js.map +1 -1
  29. package/{api → dist/api}/quoter/quote/order-params.d.ts +6 -4
  30. package/{api → dist/api}/quoter/quote/order-params.js +4 -3
  31. package/dist/api/quoter/quote/order-params.js.map +1 -0
  32. package/{api → dist/api}/quoter/quote/quote.d.ts +8 -10
  33. package/dist/api/quoter/quote/quote.js +90 -0
  34. package/dist/api/quoter/quote/quote.js.map +1 -0
  35. package/dist/api/quoter/quote/types.d.ts +13 -0
  36. package/{api → dist/api}/quoter/quoter-custom-preset.request.js +4 -5
  37. package/dist/api/quoter/quoter-custom-preset.request.js.map +1 -0
  38. package/dist/api/quoter/quoter-custom-preset.request.spec.d.ts +1 -0
  39. package/dist/api/quoter/quoter-custom-preset.request.spec.js +94 -0
  40. package/dist/api/quoter/quoter-custom-preset.request.spec.js.map +1 -0
  41. package/dist/api/quoter/quoter.api.js +34 -0
  42. package/dist/api/quoter/quoter.api.js.map +1 -0
  43. package/dist/api/quoter/quoter.api.spec.d.ts +1 -0
  44. package/dist/api/quoter/quoter.api.spec.js +162 -0
  45. package/dist/api/quoter/quoter.api.spec.js.map +1 -0
  46. package/{api → dist/api}/quoter/quoter.request.d.ts +4 -4
  47. package/dist/api/quoter/quoter.request.js +49 -0
  48. package/dist/api/quoter/quoter.request.js.map +1 -0
  49. package/dist/api/quoter/quoter.request.spec.d.ts +1 -0
  50. package/dist/api/quoter/quoter.request.spec.js +68 -0
  51. package/dist/api/quoter/quoter.request.spec.js.map +1 -0
  52. package/{api → dist/api}/quoter/types.d.ts +17 -10
  53. package/{api → dist/api}/quoter/types.js.map +1 -1
  54. package/dist/api/relayer/index.js +20 -0
  55. package/dist/api/relayer/index.js.map +1 -0
  56. package/{api → dist/api}/relayer/relayer.api.js.map +1 -1
  57. package/dist/api/relayer/relayer.api.spec.d.ts +1 -0
  58. package/dist/api/relayer/relayer.api.spec.js +78 -0
  59. package/dist/api/relayer/relayer.api.spec.js.map +1 -0
  60. package/{api → dist/api}/relayer/relayer.request.d.ts +2 -2
  61. package/dist/api/relayer/types.d.ts +12 -0
  62. package/{api → dist/api}/types.d.ts +3 -3
  63. package/dist/auction-calculator/auction-calculator.d.ts +13 -0
  64. package/dist/auction-calculator/auction-calculator.js +55 -0
  65. package/dist/auction-calculator/auction-calculator.js.map +1 -0
  66. package/dist/auction-calculator/auction-calculator.spec.d.ts +1 -0
  67. package/dist/auction-calculator/auction-calculator.spec.js +32 -0
  68. package/dist/auction-calculator/auction-calculator.spec.js.map +1 -0
  69. package/dist/auction-calculator/calc.d.ts +1 -0
  70. package/dist/auction-calculator/calc.js +14 -0
  71. package/dist/auction-calculator/calc.js.map +1 -0
  72. package/dist/auction-calculator/constants.d.ts +1 -0
  73. package/{auction-calculator → dist/auction-calculator}/constants.js +1 -1
  74. package/{auction-calculator → dist/auction-calculator}/constants.js.map +1 -1
  75. package/dist/auction-calculator/index.js +20 -0
  76. package/dist/auction-calculator/index.js.map +1 -0
  77. package/{connector → dist/connector}/blockchain/blockchain-provider.connector.d.ts +1 -1
  78. package/dist/connector/blockchain/index.js +20 -0
  79. package/{connector → dist/connector}/blockchain/index.js.map +1 -1
  80. package/{connector → dist/connector}/blockchain/private-key-provider.connector.d.ts +4 -4
  81. package/{connector → dist/connector}/blockchain/private-key-provider.connector.js +0 -2
  82. package/dist/connector/blockchain/private-key-provider.connector.js.map +1 -0
  83. package/dist/connector/blockchain/private-key-provider.connector.spec.d.ts +1 -0
  84. package/dist/connector/blockchain/private-key-provider.connector.spec.js +44 -0
  85. package/dist/connector/blockchain/private-key-provider.connector.spec.js.map +1 -0
  86. package/dist/connector/blockchain/web3-provider-connector.d.ts +19 -0
  87. package/dist/connector/blockchain/web3-provider-connector.js.map +1 -0
  88. package/dist/connector/blockchain/web3-provider.connector.spec.d.ts +1 -0
  89. package/dist/connector/blockchain/web3-provider.connector.spec.js +47 -0
  90. package/dist/connector/blockchain/web3-provider.connector.spec.js.map +1 -0
  91. package/dist/connector/http/axios-provider.connector.js +71 -0
  92. package/dist/connector/http/axios-provider.connector.js.map +1 -0
  93. package/dist/connector/http/axios-provider.connector.spec.d.ts +1 -0
  94. package/dist/connector/http/axios-provider.connector.spec.js +39 -0
  95. package/dist/connector/http/axios-provider.connector.spec.js.map +1 -0
  96. package/dist/connector/http/index.js +19 -0
  97. package/dist/connector/http/index.js.map +1 -0
  98. package/dist/connector/index.js +20 -0
  99. package/dist/connector/index.js.map +1 -0
  100. package/dist/connector/ws/index.js +20 -0
  101. package/dist/connector/ws/index.js.map +1 -0
  102. package/dist/connector/ws/types.d.ts +9 -0
  103. package/{connector → dist/connector}/ws/websocket-client.connector.js +4 -4
  104. package/dist/connector/ws/websocket-client.connector.js.map +1 -0
  105. package/dist/constants.d.ts +19 -0
  106. package/dist/constants.js +24 -0
  107. package/dist/constants.js.map +1 -0
  108. package/dist/fusion-order/auction-details/auction-details.d.ts +20 -0
  109. package/dist/fusion-order/auction-details/auction-details.js +70 -0
  110. package/dist/fusion-order/auction-details/auction-details.js.map +1 -0
  111. package/dist/fusion-order/auction-details/auction-details.spec.d.ts +1 -0
  112. package/dist/fusion-order/auction-details/auction-details.spec.js +24 -0
  113. package/dist/fusion-order/auction-details/auction-details.spec.js.map +1 -0
  114. package/dist/fusion-order/auction-details/index.d.ts +2 -0
  115. package/dist/fusion-order/auction-details/index.js +18 -0
  116. package/dist/fusion-order/auction-details/index.js.map +1 -0
  117. package/dist/fusion-order/auction-details/types.d.ts +8 -0
  118. package/dist/fusion-order/auction-details/types.js.map +1 -0
  119. package/dist/fusion-order/fusion-extension.d.ts +10 -0
  120. package/dist/fusion-order/fusion-extension.js +21 -0
  121. package/dist/fusion-order/fusion-extension.js.map +1 -0
  122. package/dist/fusion-order/fusion-order.d.ts +33 -0
  123. package/dist/fusion-order/fusion-order.js +114 -0
  124. package/dist/fusion-order/fusion-order.js.map +1 -0
  125. package/dist/fusion-order/fusion-order.spec.d.ts +1 -0
  126. package/dist/fusion-order/fusion-order.spec.js +82 -0
  127. package/dist/fusion-order/fusion-order.spec.js.map +1 -0
  128. package/dist/fusion-order/index.d.ts +3 -0
  129. package/dist/fusion-order/index.js +20 -0
  130. package/dist/fusion-order/index.js.map +1 -0
  131. package/dist/fusion-order/settlement-post-interaction-data/index.d.ts +2 -0
  132. package/dist/fusion-order/settlement-post-interaction-data/index.js +19 -0
  133. package/dist/fusion-order/settlement-post-interaction-data/index.js.map +1 -0
  134. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts +16 -0
  135. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +106 -0
  136. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map +1 -0
  137. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.d.ts +1 -0
  138. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js +33 -0
  139. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js.map +1 -0
  140. package/dist/fusion-order/settlement-post-interaction-data/types.d.ts +15 -0
  141. package/dist/fusion-order/settlement-post-interaction-data/types.js.map +1 -0
  142. package/{index.d.ts → dist/index.d.ts} +3 -4
  143. package/dist/index.js +31 -0
  144. package/dist/index.js.map +1 -0
  145. package/dist/limit-order-contract/index.d.ts +1 -0
  146. package/dist/limit-order-contract/index.js +6 -0
  147. package/dist/limit-order-contract/index.js.map +1 -0
  148. package/dist/sdk/encoders/cancel-order.encoder.d.ts +2 -0
  149. package/dist/sdk/encoders/cancel-order.encoder.js +20 -0
  150. package/dist/sdk/encoders/cancel-order.encoder.js.map +1 -0
  151. package/dist/sdk/encoders/index.js +18 -0
  152. package/dist/sdk/encoders/index.js.map +1 -0
  153. package/{sdk → dist/sdk}/index.d.ts +1 -0
  154. package/dist/sdk/index.js +21 -0
  155. package/dist/sdk/index.js.map +1 -0
  156. package/{sdk → dist/sdk}/sdk.d.ts +1 -2
  157. package/dist/sdk/sdk.js +133 -0
  158. package/dist/sdk/sdk.js.map +1 -0
  159. package/dist/sdk/sdk.spec.d.ts +1 -0
  160. package/dist/sdk/sdk.spec.js +82 -0
  161. package/dist/sdk/sdk.spec.js.map +1 -0
  162. package/{sdk → dist/sdk}/types.d.ts +12 -12
  163. package/dist/sdk/utils.d.ts +2 -0
  164. package/dist/sdk/utils.js +15 -0
  165. package/dist/sdk/utils.js.map +1 -0
  166. package/dist/utils/amounts.d.ts +2 -0
  167. package/dist/utils/amounts.js +13 -0
  168. package/dist/utils/amounts.js.map +1 -0
  169. package/dist/utils/bytes/bit-mask.d.ts +7 -0
  170. package/dist/utils/bytes/bit-mask.js +22 -0
  171. package/dist/utils/bytes/bit-mask.js.map +1 -0
  172. package/dist/utils/bytes/bit-mask.spec.d.ts +1 -0
  173. package/dist/utils/bytes/bit-mask.spec.js +16 -0
  174. package/dist/utils/bytes/bit-mask.spec.js.map +1 -0
  175. package/dist/utils/bytes/bn.d.ts +20 -0
  176. package/dist/utils/bytes/bn.js +68 -0
  177. package/dist/utils/bytes/bn.js.map +1 -0
  178. package/dist/utils/bytes/bn.spec.d.ts +1 -0
  179. package/dist/utils/bytes/bn.spec.js +19 -0
  180. package/dist/utils/bytes/bn.spec.js.map +1 -0
  181. package/dist/utils/bytes/bytes-iter.d.ts +12 -0
  182. package/dist/utils/bytes/bytes-iter.js +47 -0
  183. package/dist/utils/bytes/bytes-iter.js.map +1 -0
  184. package/{utils.d.ts → dist/utils.d.ts} +3 -3
  185. package/dist/utils.js +47 -0
  186. package/dist/utils.js.map +1 -0
  187. package/dist/validations.d.ts +4 -0
  188. package/dist/validations.js +28 -0
  189. package/dist/validations.js.map +1 -0
  190. package/{ws-api → dist/ws-api}/active-websocket-orders-api.js.map +1 -1
  191. package/dist/ws-api/index.js +19 -0
  192. package/dist/ws-api/index.js.map +1 -0
  193. package/{ws-api → dist/ws-api}/rpc-websocket-api.js.map +1 -1
  194. package/dist/ws-api/types.d.ts +61 -0
  195. package/{ws-api → dist/ws-api}/ws-api.js +2 -2
  196. package/dist/ws-api/ws-api.js.map +1 -0
  197. package/dist/ws-api/ws.spec.d.ts +1 -0
  198. package/dist/ws-api/ws.spec.js +687 -0
  199. package/dist/ws-api/ws.spec.js.map +1 -0
  200. package/package.json +44 -53
  201. package/api/index.js +0 -8
  202. package/api/index.js.map +0 -1
  203. package/api/orders/index.js +0 -7
  204. package/api/orders/index.js.map +0 -1
  205. package/api/orders/orders.api.js +0 -49
  206. package/api/orders/orders.api.js.map +0 -1
  207. package/api/orders/orders.request.js.map +0 -1
  208. package/api/quoter/index.js +0 -10
  209. package/api/quoter/index.js.map +0 -1
  210. package/api/quoter/preset.d.ts +0 -15
  211. package/api/quoter/preset.js +0 -31
  212. package/api/quoter/preset.js.map +0 -1
  213. package/api/quoter/quote/index.js +0 -7
  214. package/api/quoter/quote/order-params.js.map +0 -1
  215. package/api/quoter/quote/quote.js +0 -100
  216. package/api/quoter/quote/quote.js.map +0 -1
  217. package/api/quoter/quote/types.d.ts +0 -13
  218. package/api/quoter/quoter-custom-preset.request.js.map +0 -1
  219. package/api/quoter/quoter.api.js +0 -47
  220. package/api/quoter/quoter.api.js.map +0 -1
  221. package/api/quoter/quoter.request.js +0 -63
  222. package/api/quoter/quoter.request.js.map +0 -1
  223. package/api/relayer/index.js +0 -7
  224. package/api/relayer/index.js.map +0 -1
  225. package/api/relayer/types.d.ts +0 -12
  226. package/auction-calculator/auction-calculator.d.ts +0 -19
  227. package/auction-calculator/auction-calculator.js +0 -71
  228. package/auction-calculator/auction-calculator.js.map +0 -1
  229. package/auction-calculator/calc.d.ts +0 -10
  230. package/auction-calculator/calc.js +0 -22
  231. package/auction-calculator/calc.js.map +0 -1
  232. package/auction-calculator/constants.d.ts +0 -1
  233. package/auction-calculator/index.js +0 -7
  234. package/auction-calculator/index.js.map +0 -1
  235. package/auction-salt/auction-salt.d.ts +0 -11
  236. package/auction-salt/auction-salt.js +0 -40
  237. package/auction-salt/auction-salt.js.map +0 -1
  238. package/auction-salt/index.d.ts +0 -3
  239. package/auction-salt/index.js +0 -7
  240. package/auction-salt/index.js.map +0 -1
  241. package/auction-salt/parser/constants.d.ts +0 -10
  242. package/auction-salt/parser/constants.js +0 -14
  243. package/auction-salt/parser/constants.js.map +0 -1
  244. package/auction-salt/parser/index.d.ts +0 -2
  245. package/auction-salt/parser/index.js +0 -6
  246. package/auction-salt/parser/index.js.map +0 -1
  247. package/auction-salt/parser/parser.d.ts +0 -6
  248. package/auction-salt/parser/parser.js +0 -34
  249. package/auction-salt/parser/parser.js.map +0 -1
  250. package/auction-salt/rand.d.ts +0 -1
  251. package/auction-salt/rand.js +0 -25
  252. package/auction-salt/rand.js.map +0 -1
  253. package/auction-salt/types.d.ts +0 -7
  254. package/auction-salt/types.js.map +0 -1
  255. package/auction-suffix/auction-suffix.d.ts +0 -11
  256. package/auction-suffix/auction-suffix.js +0 -41
  257. package/auction-suffix/auction-suffix.js.map +0 -1
  258. package/auction-suffix/constants.d.ts +0 -1
  259. package/auction-suffix/constants.js +0 -5
  260. package/auction-suffix/constants.js.map +0 -1
  261. package/auction-suffix/encoder.d.ts +0 -6
  262. package/auction-suffix/encoder.js +0 -45
  263. package/auction-suffix/encoder.js.map +0 -1
  264. package/auction-suffix/index.d.ts +0 -5
  265. package/auction-suffix/index.js +0 -9
  266. package/auction-suffix/index.js.map +0 -1
  267. package/auction-suffix/parser/constants.d.ts +0 -13
  268. package/auction-suffix/parser/constants.js +0 -17
  269. package/auction-suffix/parser/constants.js.map +0 -1
  270. package/auction-suffix/parser/errors.d.ts +0 -2
  271. package/auction-suffix/parser/errors.js +0 -7
  272. package/auction-suffix/parser/errors.js.map +0 -1
  273. package/auction-suffix/parser/index.d.ts +0 -4
  274. package/auction-suffix/parser/index.js +0 -8
  275. package/auction-suffix/parser/index.js.map +0 -1
  276. package/auction-suffix/parser/parser.d.ts +0 -17
  277. package/auction-suffix/parser/parser.js +0 -170
  278. package/auction-suffix/parser/parser.js.map +0 -1
  279. package/auction-suffix/parser/types.d.ts +0 -29
  280. package/auction-suffix/parser/types.js.map +0 -1
  281. package/auction-suffix/types.d.ts +0 -18
  282. package/auction-suffix/types.js.map +0 -1
  283. package/connector/blockchain/index.js +0 -7
  284. package/connector/blockchain/private-key-provider.connector.js.map +0 -1
  285. package/connector/blockchain/web3-provider-connector.d.ts +0 -9
  286. package/connector/blockchain/web3-provider-connector.js.map +0 -1
  287. package/connector/http/axios-provider.connector.js +0 -55
  288. package/connector/http/axios-provider.connector.js.map +0 -1
  289. package/connector/http/index.js +0 -6
  290. package/connector/http/index.js.map +0 -1
  291. package/connector/index.js +0 -7
  292. package/connector/index.js.map +0 -1
  293. package/connector/ws/index.js +0 -7
  294. package/connector/ws/index.js.map +0 -1
  295. package/connector/ws/types.d.ts +0 -9
  296. package/connector/ws/websocket-client.connector.js.map +0 -1
  297. package/constants.d.ts +0 -19
  298. package/constants.js +0 -54
  299. package/constants.js.map +0 -1
  300. package/fusion-order/fusion-order.d.ts +0 -9
  301. package/fusion-order/fusion-order.js +0 -19
  302. package/fusion-order/fusion-order.js.map +0 -1
  303. package/fusion-order/index.d.ts +0 -1
  304. package/fusion-order/index.js +0 -5
  305. package/fusion-order/index.js.map +0 -1
  306. package/index.js +0 -17
  307. package/index.js.map +0 -1
  308. package/limit-order/eip712/domain.d.ts +0 -11
  309. package/limit-order/eip712/domain.js +0 -26
  310. package/limit-order/eip712/domain.js.map +0 -1
  311. package/limit-order/eip712/eip712.types.d.ts +0 -24
  312. package/limit-order/eip712/eip712.types.js +0 -3
  313. package/limit-order/eip712/eip712.types.js.map +0 -1
  314. package/limit-order/eip712/index.d.ts +0 -3
  315. package/limit-order/eip712/index.js +0 -7
  316. package/limit-order/eip712/index.js.map +0 -1
  317. package/limit-order/eip712/order-typed-data-builder.d.ts +0 -6
  318. package/limit-order/eip712/order-typed-data-builder.js +0 -36
  319. package/limit-order/eip712/order-typed-data-builder.js.map +0 -1
  320. package/limit-order/index.d.ts +0 -4
  321. package/limit-order/index.js +0 -8
  322. package/limit-order/index.js.map +0 -1
  323. package/limit-order/interactions-factory.d.ts +0 -3
  324. package/limit-order/interactions-factory.js +0 -15
  325. package/limit-order/interactions-factory.js.map +0 -1
  326. package/limit-order/limit-order.d.ts +0 -27
  327. package/limit-order/limit-order.js +0 -89
  328. package/limit-order/limit-order.js.map +0 -1
  329. package/limit-order/parser/constants.d.ts +0 -10
  330. package/limit-order/parser/constants.js +0 -14
  331. package/limit-order/parser/constants.js.map +0 -1
  332. package/limit-order/parser/index.d.ts +0 -3
  333. package/limit-order/parser/index.js +0 -7
  334. package/limit-order/parser/index.js.map +0 -1
  335. package/limit-order/parser/parser.d.ts +0 -2
  336. package/limit-order/parser/parser.js +0 -29
  337. package/limit-order/parser/parser.js.map +0 -1
  338. package/limit-order/parser/types.d.ts +0 -3
  339. package/limit-order/parser/types.js.map +0 -1
  340. package/limit-order/predicate-factory.d.ts +0 -25
  341. package/limit-order/predicate-factory.js +0 -60
  342. package/limit-order/predicate-factory.js.map +0 -1
  343. package/limit-order/types.d.ts +0 -36
  344. package/limit-order/types.js +0 -3
  345. package/limit-order/types.js.map +0 -1
  346. package/limit-order/utils.d.ts +0 -1
  347. package/limit-order/utils.js +0 -8
  348. package/limit-order/utils.js.map +0 -1
  349. package/nonce-manager/constants.d.ts +0 -1
  350. package/nonce-manager/constants.js +0 -5
  351. package/nonce-manager/constants.js.map +0 -1
  352. package/nonce-manager/nonce-manager.d.ts +0 -10
  353. package/nonce-manager/nonce-manager.js +0 -26
  354. package/nonce-manager/nonce-manager.js.map +0 -1
  355. package/nonce-manager/types.d.ts +0 -8
  356. package/nonce-manager/types.js +0 -8
  357. package/nonce-manager/types.js.map +0 -1
  358. package/nonce-manager/utils.d.ts +0 -2
  359. package/nonce-manager/utils.js +0 -16
  360. package/nonce-manager/utils.js.map +0 -1
  361. package/sdk/encoders/cancel-order.encoder.d.ts +0 -2
  362. package/sdk/encoders/cancel-order.encoder.js +0 -14
  363. package/sdk/encoders/cancel-order.encoder.js.map +0 -1
  364. package/sdk/encoders/index.js +0 -5
  365. package/sdk/encoders/index.js.map +0 -1
  366. package/sdk/index.js +0 -7
  367. package/sdk/index.js.map +0 -1
  368. package/sdk/sdk.js +0 -185
  369. package/sdk/sdk.js.map +0 -1
  370. package/sdk/types.js +0 -3
  371. package/sdk/utils.d.ts +0 -1
  372. package/sdk/utils.js +0 -13
  373. package/sdk/utils.js.map +0 -1
  374. package/settlement/encoders/constants.d.ts +0 -1
  375. package/settlement/encoders/constants.js +0 -5
  376. package/settlement/encoders/constants.js.map +0 -1
  377. package/settlement/encoders/fill-order.encoder.d.ts +0 -2
  378. package/settlement/encoders/fill-order.encoder.js +0 -17
  379. package/settlement/encoders/fill-order.encoder.js.map +0 -1
  380. package/settlement/encoders/index.d.ts +0 -3
  381. package/settlement/encoders/index.js +0 -7
  382. package/settlement/encoders/index.js.map +0 -1
  383. package/settlement/encoders/settlement.encoder.d.ts +0 -5
  384. package/settlement/encoders/settlement.encoder.js +0 -44
  385. package/settlement/encoders/settlement.encoder.js.map +0 -1
  386. package/settlement/index.d.ts +0 -4
  387. package/settlement/index.js +0 -8
  388. package/settlement/index.js.map +0 -1
  389. package/settlement/settlement.d.ts +0 -8
  390. package/settlement/settlement.js +0 -32
  391. package/settlement/settlement.js.map +0 -1
  392. package/settlement/signature-patcher.d.ts +0 -1
  393. package/settlement/signature-patcher.js +0 -29
  394. package/settlement/signature-patcher.js.map +0 -1
  395. package/settlement/types.d.ts +0 -16
  396. package/settlement/types.js +0 -3
  397. package/settlement/types.js.map +0 -1
  398. package/utils.js +0 -51
  399. package/utils.js.map +0 -1
  400. package/validations.d.ts +0 -2
  401. package/validations.js +0 -21
  402. package/validations.js.map +0 -1
  403. package/ws-api/index.js +0 -6
  404. package/ws-api/index.js.map +0 -1
  405. package/ws-api/types.d.ts +0 -61
  406. package/ws-api/types.js +0 -3
  407. package/ws-api/ws-api.js.map +0 -1
  408. package/{api → dist/api}/fusion-api.d.ts +0 -0
  409. package/{api → dist/api}/index.d.ts +0 -0
  410. package/{api → dist/api}/orders/index.d.ts +0 -0
  411. package/{api → dist/api}/orders/orders.api.d.ts +1 -1
  412. package/{api → dist/api}/orders/orders.request.d.ts +0 -0
  413. package/{api → dist/api}/orders/types.js +0 -0
  414. package/{api → dist/api}/orders/types.js.map +0 -0
  415. package/{api → dist/api}/pagination.js +0 -0
  416. package/{api → dist/api}/pagination.js.map +0 -0
  417. package/{api → dist/api}/params.d.ts +0 -0
  418. package/{api → dist/api}/params.js +0 -0
  419. package/{api → dist/api}/params.js.map +0 -0
  420. package/{api → dist/api}/quoter/index.d.ts +0 -0
  421. package/{api → dist/api}/quoter/quote/index.d.ts +0 -0
  422. package/{api → dist/api}/quoter/quote/types.js +0 -0
  423. package/{api → dist/api}/quoter/quote/types.js.map +0 -0
  424. package/{api → dist/api}/quoter/quoter-custom-preset.request.d.ts +0 -0
  425. package/{api → dist/api}/quoter/quoter.api.d.ts +1 -1
  426. package/{api → dist/api}/quoter/types.js +0 -0
  427. package/{api → dist/api}/relayer/index.d.ts +0 -0
  428. package/{api → dist/api}/relayer/relayer.api.d.ts +1 -1
  429. package/{api → dist/api}/relayer/relayer.api.js +0 -0
  430. package/{api → dist/api}/relayer/relayer.request.js +0 -0
  431. package/{api → dist/api}/relayer/relayer.request.js.map +0 -0
  432. package/{api → dist/api}/relayer/types.js +0 -0
  433. package/{api → dist/api}/relayer/types.js.map +0 -0
  434. package/{api → dist/api}/types.js +0 -0
  435. package/{api → dist/api}/types.js.map +0 -0
  436. package/{auction-calculator → dist/auction-calculator}/index.d.ts +0 -0
  437. package/{connector → dist/connector}/blockchain/blockchain-provider.connector.js +0 -0
  438. package/{connector → dist/connector}/blockchain/blockchain-provider.connector.js.map +0 -0
  439. package/{connector → dist/connector}/blockchain/index.d.ts +0 -0
  440. package/{connector → dist/connector}/blockchain/web3-provider-connector.js +0 -0
  441. package/{connector → dist/connector}/http/axios-provider.connector.d.ts +0 -0
  442. package/{connector → dist/connector}/http/http-provider.connector.d.ts +0 -0
  443. package/{connector → dist/connector}/http/http-provider.connector.js +0 -0
  444. package/{connector → dist/connector}/http/http-provider.connector.js.map +0 -0
  445. package/{connector → dist/connector}/http/index.d.ts +0 -0
  446. package/{connector → dist/connector}/index.d.ts +0 -0
  447. package/{connector → dist/connector}/ws/index.d.ts +0 -0
  448. package/{auction-salt → dist/connector/ws}/types.js +0 -0
  449. package/{connector → dist/connector}/ws/types.js.map +0 -0
  450. package/{connector → dist/connector}/ws/websocket-client.connector.d.ts +0 -0
  451. package/{connector → dist/connector}/ws/websocket-provider.connector.d.ts +0 -0
  452. package/{connector → dist/connector}/ws/websocket-provider.connector.js +0 -0
  453. package/{connector → dist/connector}/ws/websocket-provider.connector.js.map +0 -0
  454. package/{errors.d.ts → dist/errors.d.ts} +0 -0
  455. package/{errors.js → dist/errors.js} +0 -0
  456. package/{errors.js.map → dist/errors.js.map} +0 -0
  457. package/{auction-suffix/parser → dist/fusion-order/auction-details}/types.js +0 -0
  458. package/{auction-suffix → dist/fusion-order/settlement-post-interaction-data}/types.js +0 -0
  459. package/{sdk → dist/sdk}/encoders/index.d.ts +0 -0
  460. package/{connector/ws → dist/sdk}/types.js +0 -0
  461. package/{sdk → dist/sdk}/types.js.map +0 -0
  462. package/{ws-api → dist/ws-api}/active-websocket-orders-api.d.ts +1 -1
  463. package/{ws-api → dist/ws-api}/active-websocket-orders-api.js +0 -0
  464. package/{ws-api → dist/ws-api}/constants.d.ts +0 -0
  465. package/{ws-api → dist/ws-api}/constants.js +0 -0
  466. package/{ws-api → dist/ws-api}/constants.js.map +0 -0
  467. package/{ws-api → dist/ws-api}/index.d.ts +0 -0
  468. package/{ws-api → dist/ws-api}/rpc-websocket-api.d.ts +1 -1
  469. package/{ws-api → dist/ws-api}/rpc-websocket-api.js +0 -0
  470. package/{limit-order/parser → dist/ws-api}/types.js +0 -0
  471. package/{ws-api → dist/ws-api}/types.js.map +0 -0
  472. package/{ws-api → dist/ws-api}/url.d.ts +0 -0
  473. package/{ws-api → dist/ws-api}/url.js +0 -0
  474. package/{ws-api → dist/ws-api}/url.js.map +0 -0
  475. package/{ws-api → dist/ws-api}/ws-api.d.ts +1 -1
@@ -0,0 +1,687 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ws_1 = require("ws");
4
+ const ws_api_1 = require("./ws-api");
5
+ const url_1 = require("./url");
6
+ const constants_1 = require("../constants");
7
+ const connector_1 = require("../connector");
8
+ jest.setTimeout(5 * 60 * 1000);
9
+ describe(__filename, () => {
10
+ describe('base', () => {
11
+ it('should be possible to subscribe to message', (done) => {
12
+ const message = { id: 1 };
13
+ const { wss, url } = createWebsocketServerMock([message]);
14
+ const wsSdk = new ws_api_1.WebSocketApi({
15
+ url,
16
+ network: constants_1.NetworkEnum.ETHEREUM,
17
+ authKey: ''
18
+ });
19
+ wsSdk.onMessage((data) => {
20
+ expect(data).toEqual(message);
21
+ wsSdk.close();
22
+ wss.close();
23
+ done();
24
+ });
25
+ });
26
+ it('should be possible to subscribe to open connection', (done) => {
27
+ const message = { id: 1 };
28
+ const { wss, url } = createWebsocketServerMock([message]);
29
+ const wsSdk = new ws_api_1.WebSocketApi({
30
+ url,
31
+ network: constants_1.NetworkEnum.ETHEREUM,
32
+ authKey: ''
33
+ });
34
+ wsSdk.onOpen(() => {
35
+ wsSdk.close();
36
+ wss.close();
37
+ done();
38
+ });
39
+ });
40
+ it('this is pointed to underlying websocket', (done) => {
41
+ const message = { id: 1 };
42
+ const { wss, url } = createWebsocketServerMock([message]);
43
+ const wsSdk = new ws_api_1.WebSocketApi({
44
+ url,
45
+ network: constants_1.NetworkEnum.ETHEREUM,
46
+ authKey: ''
47
+ });
48
+ wsSdk.on('open', function () {
49
+ expect(this).toBeInstanceOf(ws_1.WebSocket);
50
+ this.close();
51
+ wss.close();
52
+ done();
53
+ });
54
+ });
55
+ it('should be possible to subscribe to error', (done) => {
56
+ const wsSdk = new ws_api_1.WebSocketApi({
57
+ url: 'ws://localhost:1234',
58
+ network: constants_1.NetworkEnum.ETHEREUM,
59
+ authKey: ''
60
+ });
61
+ wsSdk.on('error', (error) => {
62
+ expect(error.message).toContain('ECONNREFUSED');
63
+ done();
64
+ });
65
+ });
66
+ it('should be possible to initialize in lazy mode', (done) => {
67
+ const message = { id: 1 };
68
+ const port = 8080;
69
+ const url = `ws://localhost:${port}/ws`;
70
+ const wss = new ws_1.WebSocketServer({ port, path: '/ws/v1.0/1' });
71
+ wss.on('connection', (ws) => {
72
+ for (const m of [message]) {
73
+ ws.send(JSON.stringify(m));
74
+ }
75
+ });
76
+ const wsSdk = new ws_api_1.WebSocketApi({
77
+ url,
78
+ network: constants_1.NetworkEnum.ETHEREUM,
79
+ lazyInit: true,
80
+ authKey: ''
81
+ });
82
+ expect(wsSdk.provider).toMatchObject({ initialized: false });
83
+ wsSdk.init();
84
+ expect(wsSdk.provider).toMatchObject({ initialized: true });
85
+ wsSdk.onMessage((data) => {
86
+ expect(data).toEqual(message);
87
+ wsSdk.close();
88
+ wss.close();
89
+ done();
90
+ });
91
+ });
92
+ it('should be safe to call methods on uninitialized ws', () => {
93
+ const wsSdk = new ws_api_1.WebSocketApi({
94
+ url: 'random',
95
+ network: constants_1.NetworkEnum.ETHEREUM,
96
+ lazyInit: true
97
+ });
98
+ expect(() => wsSdk.send({ id: 1 })).toThrowError();
99
+ });
100
+ it('should be possible to initialize not in lazy mode', (done) => {
101
+ const message = { id: 1 };
102
+ const port = 8080;
103
+ const url = `ws://localhost:${port}/ws`;
104
+ const wss = new ws_1.WebSocketServer({ port, path: '/ws/v1.0/1' });
105
+ wss.on('connection', (ws) => {
106
+ for (const m of [message]) {
107
+ ws.send(JSON.stringify(m));
108
+ }
109
+ });
110
+ const wsSdk = new ws_api_1.WebSocketApi({
111
+ url,
112
+ network: constants_1.NetworkEnum.ETHEREUM,
113
+ lazyInit: false
114
+ });
115
+ expect(wsSdk).toBeDefined();
116
+ wsSdk.onMessage((data) => {
117
+ expect(data).toEqual(message);
118
+ wsSdk.close();
119
+ wss.close();
120
+ done();
121
+ });
122
+ });
123
+ it('should be possible to pass provider instead of config', (done) => {
124
+ const message = { id: 1 };
125
+ const port = 8080;
126
+ const url = `ws://localhost:${port}/ws`;
127
+ const wss = new ws_1.WebSocketServer({ port, path: '/ws/v1.0/1' });
128
+ wss.on('connection', (ws) => {
129
+ for (const m of [message]) {
130
+ ws.send(JSON.stringify(m));
131
+ }
132
+ });
133
+ const castedUrl = (0, url_1.castUrl)(url);
134
+ const urlWithNetwork = `${castedUrl}/v1.0/1`;
135
+ const provider = new connector_1.WebsocketClient({ url: urlWithNetwork });
136
+ const wsSdk = new ws_api_1.WebSocketApi(provider);
137
+ expect(wsSdk.rpc).toBeDefined();
138
+ expect(wsSdk.order).toBeDefined();
139
+ expect(wsSdk).toBeDefined();
140
+ wsSdk.onMessage((data) => {
141
+ expect(data).toEqual(message);
142
+ wsSdk.close();
143
+ wss.close();
144
+ done();
145
+ });
146
+ });
147
+ it('should be possible to initialize with new method', (done) => {
148
+ const message = { id: 1 };
149
+ const port = 8080;
150
+ const url = `ws://localhost:${port}/ws`;
151
+ const wss = new ws_1.WebSocketServer({ port, path: '/ws/v1.0/1' });
152
+ wss.on('connection', (ws) => {
153
+ for (const m of [message]) {
154
+ ws.send(JSON.stringify(m));
155
+ }
156
+ });
157
+ const castedUrl = (0, url_1.castUrl)(url);
158
+ const urlWithNetwork = `${castedUrl}/v1.0/1`;
159
+ const provider = new connector_1.WebsocketClient({
160
+ url: urlWithNetwork,
161
+ authKey: ''
162
+ });
163
+ const wsSdk = ws_api_1.WebSocketApi.new(provider);
164
+ expect(wsSdk.rpc).toBeDefined();
165
+ expect(wsSdk.order).toBeDefined();
166
+ expect(wsSdk).toBeDefined();
167
+ wsSdk.onMessage((data) => {
168
+ expect(data).toEqual(message);
169
+ wsSdk.close();
170
+ wss.close();
171
+ done();
172
+ });
173
+ });
174
+ it('connection can be closed and you can listen to close event', (done) => {
175
+ const message = { id: 1 };
176
+ const { wss, url } = createWebsocketServerMock([message]);
177
+ const wsSdk = new ws_api_1.WebSocketApi({
178
+ url,
179
+ network: constants_1.NetworkEnum.ETHEREUM,
180
+ authKey: ''
181
+ });
182
+ wsSdk.onClose(() => {
183
+ wss.close();
184
+ done();
185
+ });
186
+ wsSdk.onOpen(() => {
187
+ wsSdk.close();
188
+ });
189
+ });
190
+ });
191
+ describe('rpc', () => {
192
+ it('can ping pong ', (done) => {
193
+ const response = { method: 'ping', result: 'pong' };
194
+ const { url, wss } = createWebsocketRpcServerMock((ws, data) => {
195
+ const parsedData = JSON.parse(data);
196
+ if (parsedData.method === 'ping') {
197
+ ws.send(JSON.stringify(response));
198
+ }
199
+ });
200
+ const wsSdk = new ws_api_1.WebSocketApi({
201
+ url,
202
+ network: constants_1.NetworkEnum.ETHEREUM,
203
+ authKey: ''
204
+ });
205
+ wsSdk.onOpen(() => {
206
+ wsSdk.rpc.ping();
207
+ });
208
+ wsSdk.rpc.onPong((data) => {
209
+ expect(data).toEqual(response.result);
210
+ wsSdk.close();
211
+ wss.close();
212
+ done();
213
+ });
214
+ });
215
+ it('can retrieve allowed rpc methods ', (done) => {
216
+ const response = {
217
+ method: 'getAllowedMethods',
218
+ result: ['ping', 'getAllowedMethods']
219
+ };
220
+ const { url, wss } = createWebsocketRpcServerMock((ws, data) => {
221
+ const parsedData = JSON.parse(data);
222
+ if (parsedData.method === 'getAllowedMethods') {
223
+ ws.send(JSON.stringify(response));
224
+ }
225
+ });
226
+ const wsSdk = new ws_api_1.WebSocketApi({
227
+ url,
228
+ network: constants_1.NetworkEnum.ETHEREUM,
229
+ authKey: ''
230
+ });
231
+ wsSdk.onOpen(() => {
232
+ wsSdk.rpc.getAllowedMethods();
233
+ });
234
+ wsSdk.rpc.onGetAllowedMethods((data) => {
235
+ expect(data).toEqual(response.result);
236
+ wsSdk.close();
237
+ wss.close();
238
+ done();
239
+ });
240
+ });
241
+ it('getActiveOrders success', (done) => {
242
+ const response = {
243
+ method: 'getActiveOrders',
244
+ result: {
245
+ items: [],
246
+ meta: {
247
+ totalItems: 0,
248
+ totalPages: 0,
249
+ itemsPerPage: 0,
250
+ currentPage: 0
251
+ }
252
+ }
253
+ };
254
+ const { url, wss } = createWebsocketRpcServerMock((ws, data) => {
255
+ const parsedData = JSON.parse(data);
256
+ if (parsedData.method === 'getActiveOrders') {
257
+ ws.send(JSON.stringify(response));
258
+ }
259
+ });
260
+ const wsSdk = new ws_api_1.WebSocketApi({
261
+ url,
262
+ network: constants_1.NetworkEnum.ETHEREUM,
263
+ authKey: ''
264
+ });
265
+ wsSdk.onOpen(() => {
266
+ wsSdk.rpc.getActiveOrders();
267
+ });
268
+ wsSdk.rpc.onGetActiveOrders((data) => {
269
+ expect(data).toEqual(response.result);
270
+ wsSdk.close();
271
+ wss.close();
272
+ done();
273
+ });
274
+ });
275
+ it('getActiveOrders throws error', (done) => {
276
+ const response = {
277
+ method: 'getActiveOrders',
278
+ result: {
279
+ items: [],
280
+ meta: {
281
+ totalItems: 0,
282
+ totalPages: 0,
283
+ itemsPerPage: 0,
284
+ currentPage: 0
285
+ }
286
+ }
287
+ };
288
+ const { url, wss } = createWebsocketRpcServerMock((ws, data) => {
289
+ const parsedData = JSON.parse(data);
290
+ if (parsedData.method === 'getActiveOrders') {
291
+ ws.send(JSON.stringify(response));
292
+ }
293
+ });
294
+ const wsSdk = new ws_api_1.WebSocketApi({
295
+ url,
296
+ network: constants_1.NetworkEnum.ETHEREUM,
297
+ authKey: ''
298
+ });
299
+ wsSdk.onOpen(() => {
300
+ try {
301
+ wsSdk.rpc.getActiveOrders({ page: -1 });
302
+ }
303
+ catch (error) {
304
+ wsSdk.close();
305
+ wss.close();
306
+ done();
307
+ }
308
+ });
309
+ });
310
+ });
311
+ describe('order', () => {
312
+ it('can subscribe to order events', (done) => {
313
+ const message1 = {
314
+ event: 'order_created',
315
+ result: {
316
+ quoteId: 'cf872857-c456-4f4f-aff0-84f7bebb7df2',
317
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4',
318
+ order: {
319
+ salt: '45144194282371711345892930501725766861375817078109214409479816083205610767025',
320
+ maker: '0x6f250c769001617aff9bdf4b9fd878062e94af83',
321
+ receiver: '0x0000000000000000000000000000000000000000',
322
+ makerAsset: '0x6eb15148d0ea88433dd8088a3acc515d27e36c1b',
323
+ takerAsset: '0xdac17f958d2ee523a2206206994597c13d831ec7',
324
+ makingAmount: '2246481050155000',
325
+ takingAmount: '349837736598',
326
+ makerTraits: '0'
327
+ },
328
+ signature: '0x21ef770f9bedbb97542033bd3b1a2ad611917567102545c93ce66668b8524b7c609bead7829113e104be41fbbd14fea027c85bc4668214b81d52f02c2f9010551b',
329
+ deadline: '2023-01-31T11:01:02.000Z',
330
+ auctionStartDate: '2023-01-31T10:58:02.000Z',
331
+ auctionEndDate: '2023-01-31T11:01:02.000Z',
332
+ remainingMakerAmount: '57684207067582695'
333
+ }
334
+ };
335
+ const message2 = {
336
+ event: 'order_invalid',
337
+ result: {
338
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4'
339
+ }
340
+ };
341
+ const messages = [message1, message1, message2];
342
+ const { url, wss } = createWebsocketServerMock(messages);
343
+ const wsSdk = new ws_api_1.WebSocketApi({
344
+ url,
345
+ network: constants_1.NetworkEnum.ETHEREUM,
346
+ authKey: ''
347
+ });
348
+ const resArray = [];
349
+ wsSdk.order.onOrder((data) => {
350
+ resArray.push(data);
351
+ });
352
+ wsSdk.onMessage(() => {
353
+ if (resArray.length === 3) {
354
+ expect(resArray).toEqual(messages);
355
+ wsSdk.close();
356
+ wss.close();
357
+ done();
358
+ }
359
+ });
360
+ });
361
+ it('can subscribe to order created events', (done) => {
362
+ const message1 = {
363
+ event: 'order_created',
364
+ result: {
365
+ quoteId: 'cf872857-c456-4f4f-aff0-84f7bebb7df2',
366
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4',
367
+ order: {
368
+ salt: '45144194282371711345892930501725766861375817078109214409479816083205610767025',
369
+ maker: '0x6f250c769001617aff9bdf4b9fd878062e94af83',
370
+ receiver: '0x0000000000000000000000000000000000000000',
371
+ makerAsset: '0x6eb15148d0ea88433dd8088a3acc515d27e36c1b',
372
+ takerAsset: '0xdac17f958d2ee523a2206206994597c13d831ec7',
373
+ makingAmount: '2246481050155000',
374
+ takingAmount: '349837736598',
375
+ makerTraits: '0'
376
+ },
377
+ signature: '0x21ef770f9bedbb97542033bd3b1a2ad611917567102545c93ce66668b8524b7c609bead7829113e104be41fbbd14fea027c85bc4668214b81d52f02c2f9010551b',
378
+ deadline: '2023-01-31T11:01:02.000Z',
379
+ auctionStartDate: '2023-01-31T10:58:02.000Z',
380
+ auctionEndDate: '2023-01-31T11:01:02.000Z',
381
+ remainingMakerAmount: '57684207067582695'
382
+ }
383
+ };
384
+ const message2 = {
385
+ event: 'order_invalid',
386
+ result: {
387
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4'
388
+ }
389
+ };
390
+ const messages = [message2, message1, message1];
391
+ const expectedMessages = [message1, message1];
392
+ const { url, wss } = createWebsocketServerMock(messages);
393
+ const wsSdk = new ws_api_1.WebSocketApi({
394
+ url,
395
+ network: constants_1.NetworkEnum.ETHEREUM,
396
+ authKey: ''
397
+ });
398
+ const resArray = [];
399
+ wsSdk.order.onOrderCreated((data) => {
400
+ resArray.push(data);
401
+ });
402
+ wsSdk.onMessage(() => {
403
+ if (resArray.length === 2) {
404
+ expect(resArray).toEqual(expectedMessages);
405
+ wsSdk.close();
406
+ wss.close();
407
+ done();
408
+ }
409
+ });
410
+ });
411
+ it('can subscribe to order invalid events', (done) => {
412
+ const message1 = {
413
+ event: 'order_created',
414
+ result: {
415
+ quoteId: 'cf872857-c456-4f4f-aff0-84f7bebb7df2',
416
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4',
417
+ order: {
418
+ salt: '45144194282371711345892930501725766861375817078109214409479816083205610767025',
419
+ maker: '0x6f250c769001617aff9bdf4b9fd878062e94af83',
420
+ receiver: '0x0000000000000000000000000000000000000000',
421
+ makerAsset: '0x6eb15148d0ea88433dd8088a3acc515d27e36c1b',
422
+ takerAsset: '0xdac17f958d2ee523a2206206994597c13d831ec7',
423
+ makingAmount: '2246481050155000',
424
+ takingAmount: '349837736598',
425
+ makerTraits: '0'
426
+ },
427
+ signature: '0x21ef770f9bedbb97542033bd3b1a2ad611917567102545c93ce66668b8524b7c609bead7829113e104be41fbbd14fea027c85bc4668214b81d52f02c2f9010551b',
428
+ deadline: '2023-01-31T11:01:02.000Z',
429
+ auctionStartDate: '2023-01-31T10:58:02.000Z',
430
+ auctionEndDate: '2023-01-31T11:01:02.000Z',
431
+ remainingMakerAmount: '57684207067582695'
432
+ }
433
+ };
434
+ const message2 = {
435
+ event: 'order_invalid',
436
+ result: {
437
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4'
438
+ }
439
+ };
440
+ const messages = [message1, message1, message2];
441
+ const expectedMessages = [message2];
442
+ const { url, wss } = createWebsocketServerMock(messages);
443
+ const wsSdk = new ws_api_1.WebSocketApi({
444
+ url,
445
+ network: constants_1.NetworkEnum.ETHEREUM,
446
+ authKey: ''
447
+ });
448
+ const resArray = [];
449
+ wsSdk.order.onOrderInvalid((data) => {
450
+ resArray.push(data);
451
+ });
452
+ wsSdk.onMessage(() => {
453
+ if (resArray.length === 1) {
454
+ expect(resArray).toEqual(expectedMessages);
455
+ wsSdk.close();
456
+ wss.close();
457
+ done();
458
+ }
459
+ });
460
+ });
461
+ it('can subscribe to order_balance_or_allowance_change events', (done) => {
462
+ const message1 = {
463
+ event: 'order_created',
464
+ result: {
465
+ quoteId: 'cf872857-c456-4f4f-aff0-84f7bebb7df2',
466
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4',
467
+ order: {
468
+ salt: '45144194282371711345892930501725766861375817078109214409479816083205610767025',
469
+ maker: '0x6f250c769001617aff9bdf4b9fd878062e94af83',
470
+ receiver: '0x0000000000000000000000000000000000000000',
471
+ makerAsset: '0x6eb15148d0ea88433dd8088a3acc515d27e36c1b',
472
+ takerAsset: '0xdac17f958d2ee523a2206206994597c13d831ec7',
473
+ makingAmount: '2246481050155000',
474
+ takingAmount: '349837736598',
475
+ makerTraits: '0'
476
+ },
477
+ signature: '0x21ef770f9bedbb97542033bd3b1a2ad611917567102545c93ce66668b8524b7c609bead7829113e104be41fbbd14fea027c85bc4668214b81d52f02c2f9010551b',
478
+ deadline: '2023-01-31T11:01:02.000Z',
479
+ auctionStartDate: '2023-01-31T10:58:02.000Z',
480
+ auctionEndDate: '2023-01-31T11:01:02.000Z',
481
+ remainingMakerAmount: '57684207067582695'
482
+ }
483
+ };
484
+ const message2 = {
485
+ event: 'order_balance_or_allowance_change',
486
+ result: {
487
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4',
488
+ remainingMakerAmount: '57684207067582695',
489
+ balance: '57684207067582695',
490
+ allowance: '0'
491
+ }
492
+ };
493
+ const messages = [message1, message1, message2];
494
+ const expectedMessages = [message2];
495
+ const { url, wss } = createWebsocketServerMock(messages);
496
+ const wsSdk = new ws_api_1.WebSocketApi({
497
+ url,
498
+ network: constants_1.NetworkEnum.ETHEREUM,
499
+ authKey: ''
500
+ });
501
+ const resArray = [];
502
+ wsSdk.order.onOrderBalanceOrAllowanceChange((data) => {
503
+ resArray.push(data);
504
+ });
505
+ wsSdk.onMessage(() => {
506
+ if (resArray.length === 1) {
507
+ expect(resArray).toEqual(expectedMessages);
508
+ wsSdk.close();
509
+ wss.close();
510
+ done();
511
+ }
512
+ });
513
+ });
514
+ it('can subscribe to order filled events', (done) => {
515
+ const message1 = {
516
+ event: 'order_created',
517
+ result: {
518
+ quoteId: 'cf872857-c456-4f4f-aff0-84f7bebb7df2',
519
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4',
520
+ order: {
521
+ salt: '45144194282371711345892930501725766861375817078109214409479816083205610767025',
522
+ maker: '0x6f250c769001617aff9bdf4b9fd878062e94af83',
523
+ receiver: '0x0000000000000000000000000000000000000000',
524
+ makerAsset: '0x6eb15148d0ea88433dd8088a3acc515d27e36c1b',
525
+ takerAsset: '0xdac17f958d2ee523a2206206994597c13d831ec7',
526
+ makingAmount: '2246481050155000',
527
+ takingAmount: '349837736598',
528
+ makerTraits: '0'
529
+ },
530
+ signature: '0x21ef770f9bedbb97542033bd3b1a2ad611917567102545c93ce66668b8524b7c609bead7829113e104be41fbbd14fea027c85bc4668214b81d52f02c2f9010551b',
531
+ deadline: '2023-01-31T11:01:02.000Z',
532
+ auctionStartDate: '2023-01-31T10:58:02.000Z',
533
+ auctionEndDate: '2023-01-31T11:01:02.000Z',
534
+ remainingMakerAmount: '57684207067582695'
535
+ }
536
+ };
537
+ const message2 = {
538
+ event: 'order_filled',
539
+ result: {
540
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4'
541
+ }
542
+ };
543
+ const messages = [message1, message1, message2];
544
+ const expectedMessages = [message2];
545
+ const { url, wss } = createWebsocketServerMock(messages);
546
+ const wsSdk = new ws_api_1.WebSocketApi({
547
+ url,
548
+ network: constants_1.NetworkEnum.ETHEREUM,
549
+ authKey: ''
550
+ });
551
+ const resArray = [];
552
+ wsSdk.order.onOrderFilled((data) => {
553
+ resArray.push(data);
554
+ });
555
+ wsSdk.onMessage(() => {
556
+ if (resArray.length === 1) {
557
+ expect(resArray).toEqual(expectedMessages);
558
+ wsSdk.close();
559
+ wss.close();
560
+ done();
561
+ }
562
+ });
563
+ });
564
+ it('can subscribe to order filled partially events', (done) => {
565
+ const message1 = {
566
+ event: 'order_created',
567
+ result: {
568
+ quoteId: 'cf872857-c456-4f4f-aff0-84f7bebb7df2',
569
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4',
570
+ order: {
571
+ salt: '45144194282371711345892930501725766861375817078109214409479816083205610767025',
572
+ maker: '0x6f250c769001617aff9bdf4b9fd878062e94af83',
573
+ receiver: '0x0000000000000000000000000000000000000000',
574
+ makerAsset: '0x6eb15148d0ea88433dd8088a3acc515d27e36c1b',
575
+ takerAsset: '0xdac17f958d2ee523a2206206994597c13d831ec7',
576
+ makingAmount: '2246481050155000',
577
+ takingAmount: '349837736598',
578
+ makerTraits: '0'
579
+ },
580
+ signature: '0x21ef770f9bedbb97542033bd3b1a2ad611917567102545c93ce66668b8524b7c609bead7829113e104be41fbbd14fea027c85bc4668214b81d52f02c2f9010551b',
581
+ deadline: '2023-01-31T11:01:02.000Z',
582
+ auctionStartDate: '2023-01-31T10:58:02.000Z',
583
+ auctionEndDate: '2023-01-31T11:01:02.000Z',
584
+ remainingMakerAmount: '57684207067582695'
585
+ }
586
+ };
587
+ const message2 = {
588
+ event: 'order_filled_partially',
589
+ result: {
590
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4',
591
+ remainingMakerAmount: '57684207067582695'
592
+ }
593
+ };
594
+ const messages = [message1, message1, message2];
595
+ const expectedMessages = [message2];
596
+ const { url, wss } = createWebsocketServerMock(messages);
597
+ const wsSdk = new ws_api_1.WebSocketApi({
598
+ url,
599
+ network: constants_1.NetworkEnum.ETHEREUM,
600
+ authKey: ''
601
+ });
602
+ const resArray = [];
603
+ wsSdk.order.onOrderFilledPartially((data) => {
604
+ resArray.push(data);
605
+ });
606
+ wsSdk.onMessage(() => {
607
+ if (resArray.length === 1) {
608
+ expect(resArray).toEqual(expectedMessages);
609
+ wsSdk.close();
610
+ wss.close();
611
+ done();
612
+ }
613
+ });
614
+ });
615
+ it('can subscribe to order cancelled events', (done) => {
616
+ const message1 = {
617
+ event: 'order_created',
618
+ result: {
619
+ quoteId: 'cf872857-c456-4f4f-aff0-84f7bebb7df2',
620
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4',
621
+ order: {
622
+ salt: '45144194282371711345892930501725766861375817078109214409479816083205610767025',
623
+ maker: '0x6f250c769001617aff9bdf4b9fd878062e94af83',
624
+ receiver: '0x0000000000000000000000000000000000000000',
625
+ makerAsset: '0x6eb15148d0ea88433dd8088a3acc515d27e36c1b',
626
+ takerAsset: '0xdac17f958d2ee523a2206206994597c13d831ec7',
627
+ makingAmount: '2246481050155000',
628
+ takingAmount: '349837736598',
629
+ makerTraits: '0'
630
+ },
631
+ signature: '0x21ef770f9bedbb97542033bd3b1a2ad611917567102545c93ce66668b8524b7c609bead7829113e104be41fbbd14fea027c85bc4668214b81d52f02c2f9010551b',
632
+ deadline: '2023-01-31T11:01:02.000Z',
633
+ auctionStartDate: '2023-01-31T10:58:02.000Z',
634
+ auctionEndDate: '2023-01-31T11:01:02.000Z',
635
+ remainingMakerAmount: '57684207067582695'
636
+ }
637
+ };
638
+ const message2 = {
639
+ event: 'order_cancelled',
640
+ result: {
641
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4'
642
+ }
643
+ };
644
+ const messages = [message1, message1, message2];
645
+ const expectedMessages = [message2];
646
+ const { url, wss } = createWebsocketServerMock(messages);
647
+ const wsSdk = new ws_api_1.WebSocketApi({
648
+ url,
649
+ network: constants_1.NetworkEnum.ETHEREUM,
650
+ authKey: ''
651
+ });
652
+ const resArray = [];
653
+ wsSdk.order.onOrderCancelled((data) => {
654
+ resArray.push(data);
655
+ });
656
+ wsSdk.onMessage(() => {
657
+ if (resArray.length === 1) {
658
+ expect(resArray).toEqual(expectedMessages);
659
+ wsSdk.close();
660
+ wss.close();
661
+ done();
662
+ }
663
+ });
664
+ });
665
+ });
666
+ });
667
+ function createWebsocketRpcServerMock(cb) {
668
+ const port = 8080;
669
+ const returnUrl = `ws://localhost:${port}/ws`;
670
+ const wss = new ws_1.WebSocketServer({ port, path: '/ws/v1.0/1' });
671
+ wss.on('connection', (ws) => {
672
+ ws.on('message', (data) => cb(ws, data));
673
+ });
674
+ return { url: returnUrl, wss };
675
+ }
676
+ function createWebsocketServerMock(messages) {
677
+ const port = 8080;
678
+ const returnUrl = `ws://localhost:${port}/ws`;
679
+ const wss = new ws_1.WebSocketServer({ port, path: '/ws/v1.0/1' });
680
+ wss.on('connection', (ws) => {
681
+ for (const message of messages) {
682
+ ws.send(JSON.stringify(message));
683
+ }
684
+ });
685
+ return { url: returnUrl, wss };
686
+ }
687
+ //# sourceMappingURL=ws.spec.js.map