@1inch/fusion-sdk 2.3.5 → 2.3.6-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 (419) hide show
  1. package/dist/cjs/amount-calculator/amount-calculator.js +274 -79
  2. package/dist/cjs/amount-calculator/amount-calculator.spec.js +66 -0
  3. package/dist/cjs/amount-calculator/auction-calculator/README.md +59 -0
  4. package/dist/cjs/amount-calculator/auction-calculator/auction-calculator.js +183 -77
  5. package/dist/cjs/amount-calculator/auction-calculator/auction-calculator.spec.js +57 -0
  6. package/dist/cjs/amount-calculator/auction-calculator/index.js +17 -4
  7. package/dist/cjs/amount-calculator/index.js +34 -9
  8. package/dist/cjs/api/fusion-api.js +119 -48
  9. package/dist/cjs/api/index.js +24 -11
  10. package/dist/cjs/api/orders/index.js +19 -6
  11. package/dist/cjs/api/orders/order-api.spec.js +746 -0
  12. package/dist/cjs/api/orders/orders.api.js +245 -36
  13. package/dist/cjs/api/orders/orders.request.js +159 -63
  14. package/dist/cjs/api/orders/types.js +14 -6
  15. package/dist/cjs/api/ordersVersion.js +12 -6
  16. package/dist/cjs/api/pagination.js +62 -15
  17. package/dist/cjs/api/pagination.spec.js +29 -0
  18. package/dist/cjs/api/params.js +27 -21
  19. package/dist/cjs/api/quoter/index.js +22 -9
  20. package/dist/cjs/api/quoter/preset.js +87 -28
  21. package/dist/cjs/api/quoter/quote/index.js +19 -6
  22. package/dist/cjs/api/quoter/quote/order-params.js +63 -14
  23. package/dist/cjs/api/quoter/quote/quote.js +158 -94
  24. package/dist/cjs/api/quoter/quote/types.js +3 -2
  25. package/dist/cjs/api/quoter/quoter-custom-preset.request.js +118 -56
  26. package/dist/cjs/api/quoter/quoter-custom-preset.request.spec.js +131 -0
  27. package/dist/cjs/api/quoter/quoter.api.js +241 -28
  28. package/dist/cjs/api/quoter/quoter.api.spec.js +365 -0
  29. package/dist/cjs/api/quoter/quoter.request.js +94 -34
  30. package/dist/cjs/api/quoter/quoter.request.spec.js +111 -0
  31. package/dist/cjs/api/quoter/types.js +16 -6
  32. package/dist/cjs/api/relayer/index.js +19 -6
  33. package/dist/cjs/api/relayer/relayer.api.js +73 -18
  34. package/dist/cjs/api/relayer/relayer.api.spec.js +234 -0
  35. package/dist/cjs/api/relayer/relayer.request.js +71 -18
  36. package/dist/cjs/api/relayer/types.js +3 -2
  37. package/dist/cjs/api/types.js +3 -2
  38. package/dist/cjs/api-ext.js +17 -4
  39. package/dist/cjs/connector/blockchain/blockchain-provider.connector.js +3 -2
  40. package/dist/cjs/connector/blockchain/index.js +19 -6
  41. package/dist/cjs/connector/blockchain/private-key-provider.connector.js +85 -19
  42. package/dist/cjs/connector/blockchain/private-key-provider.connector.spec.js +183 -0
  43. package/dist/cjs/connector/blockchain/web3-provider-connector.js +71 -22
  44. package/dist/cjs/connector/blockchain/web3-provider.connector.spec.js +186 -0
  45. package/dist/cjs/connector/http/axios-provider.connector.js +298 -39
  46. package/dist/cjs/connector/http/axios-provider.connector.spec.js +208 -0
  47. package/dist/cjs/connector/http/http-provider.connector.js +3 -2
  48. package/dist/cjs/connector/http/index.js +18 -5
  49. package/dist/cjs/connector/index.js +19 -6
  50. package/dist/cjs/connector/ws/index.js +19 -6
  51. package/dist/cjs/connector/ws/types.js +3 -2
  52. package/dist/cjs/connector/ws/websocket-client.connector.js +155 -71
  53. package/dist/cjs/connector/ws/websocket-provider.connector.js +3 -2
  54. package/dist/cjs/constants.js +53 -15
  55. package/dist/cjs/errors.js +123 -7
  56. package/dist/cjs/fusion-order/README.md +58 -0
  57. package/dist/cjs/fusion-order/auction-details/README.md +85 -0
  58. package/dist/cjs/fusion-order/auction-details/auction-details.js +182 -67
  59. package/dist/cjs/fusion-order/auction-details/auction-details.spec.js +25 -0
  60. package/dist/cjs/fusion-order/auction-details/index.js +18 -5
  61. package/dist/cjs/fusion-order/auction-details/types.js +3 -2
  62. package/dist/cjs/fusion-order/constants.js +26 -20
  63. package/dist/cjs/fusion-order/fees/fees.js +93 -27
  64. package/dist/cjs/fusion-order/fees/index.js +23 -9
  65. package/dist/cjs/fusion-order/fees/integrator-fee.js +54 -25
  66. package/dist/cjs/fusion-order/fees/resolver-fee.js +55 -20
  67. package/dist/cjs/fusion-order/fusion-extension.js +259 -155
  68. package/dist/cjs/fusion-order/fusion-extension.spec.js +78 -0
  69. package/dist/cjs/fusion-order/fusion-order.js +502 -199
  70. package/dist/cjs/fusion-order/fusion-order.spec.js +298 -0
  71. package/dist/cjs/fusion-order/index.js +29 -12
  72. package/dist/cjs/fusion-order/source-track.js +18 -12
  73. package/dist/cjs/fusion-order/surplus-params.js +80 -20
  74. package/dist/cjs/fusion-order/whitelist/README.md +54 -0
  75. package/dist/cjs/fusion-order/whitelist/index.js +18 -5
  76. package/dist/cjs/fusion-order/whitelist/types.js +3 -2
  77. package/dist/cjs/fusion-order/whitelist/whitelist.js +253 -109
  78. package/dist/cjs/fusion-order/whitelist/whitelist.spec.js +68 -0
  79. package/dist/cjs/index.js +91 -35
  80. package/dist/cjs/sdk/README.md +264 -0
  81. package/dist/cjs/sdk/encoders/cancel-order.encoder.js +20 -10
  82. package/dist/cjs/sdk/encoders/index.js +17 -4
  83. package/dist/cjs/sdk/index.js +20 -7
  84. package/dist/cjs/sdk/sdk.js +484 -129
  85. package/dist/cjs/sdk/sdk.spec.js +235 -0
  86. package/dist/cjs/sdk/types.js +3 -2
  87. package/dist/cjs/sdk/utils.js +21 -8
  88. package/dist/cjs/utils/amounts.js +35 -9
  89. package/dist/cjs/utils/time.js +9 -3
  90. package/dist/cjs/utils/types.js +3 -2
  91. package/dist/cjs/utils.js +17 -4
  92. package/dist/cjs/validations.js +32 -13
  93. package/dist/cjs/ws-api/README.md +627 -0
  94. package/dist/cjs/ws-api/active-websocket-orders-api.js +114 -50
  95. package/dist/cjs/ws-api/constants.js +10 -4
  96. package/dist/cjs/ws-api/index.js +21 -8
  97. package/dist/cjs/ws-api/rpc-websocket-api.js +110 -38
  98. package/dist/cjs/ws-api/types.js +3 -2
  99. package/dist/cjs/ws-api/url.js +9 -3
  100. package/dist/cjs/ws-api/ws-api.js +165 -48
  101. package/dist/cjs/ws-api/ws.spec.js +832 -0
  102. package/dist/esm/amount-calculator/amount-calculator.js +265 -76
  103. package/dist/esm/amount-calculator/amount-calculator.spec.js +62 -0
  104. package/dist/esm/amount-calculator/auction-calculator/README.md +59 -0
  105. package/dist/esm/amount-calculator/auction-calculator/auction-calculator.js +173 -73
  106. package/dist/esm/amount-calculator/auction-calculator/auction-calculator.spec.js +53 -0
  107. package/dist/esm/amount-calculator/auction-calculator/index.js +1 -2
  108. package/dist/esm/amount-calculator/index.js +4 -4
  109. package/dist/esm/api/fusion-api.js +107 -42
  110. package/dist/esm/api/index.js +8 -9
  111. package/dist/esm/api/orders/index.js +3 -4
  112. package/dist/esm/api/orders/order-api.spec.js +742 -0
  113. package/dist/esm/api/orders/orders.api.js +236 -33
  114. package/dist/esm/api/orders/orders.request.js +139 -58
  115. package/dist/esm/api/orders/types.js +5 -4
  116. package/dist/esm/api/ordersVersion.js +3 -4
  117. package/dist/esm/api/pagination.js +53 -12
  118. package/dist/esm/api/pagination.spec.js +25 -0
  119. package/dist/esm/api/params.js +18 -19
  120. package/dist/esm/api/quoter/index.js +6 -7
  121. package/dist/esm/api/quoter/preset.js +77 -24
  122. package/dist/esm/api/quoter/quote/index.js +3 -4
  123. package/dist/esm/api/quoter/quote/order-params.js +53 -10
  124. package/dist/esm/api/quoter/quote/quote.js +143 -85
  125. package/dist/esm/api/quoter/quote/types.js +12 -2
  126. package/dist/esm/api/quoter/quoter-custom-preset.request.js +110 -54
  127. package/dist/esm/api/quoter/quoter-custom-preset.request.spec.js +127 -0
  128. package/dist/esm/api/quoter/quoter.api.js +232 -25
  129. package/dist/esm/api/quoter/quoter.api.spec.js +361 -0
  130. package/dist/esm/api/quoter/quoter.request.js +80 -26
  131. package/dist/esm/api/quoter/quoter.request.spec.js +107 -0
  132. package/dist/esm/api/quoter/types.js +7 -4
  133. package/dist/esm/api/relayer/index.js +3 -4
  134. package/dist/esm/api/relayer/relayer.api.js +65 -16
  135. package/dist/esm/api/relayer/relayer.api.spec.js +230 -0
  136. package/dist/esm/api/relayer/relayer.request.js +62 -15
  137. package/dist/esm/api/relayer/types.js +1 -2
  138. package/dist/esm/api/types.js +1 -2
  139. package/dist/esm/api-ext.js +1 -2
  140. package/dist/esm/connector/blockchain/blockchain-provider.connector.js +1 -2
  141. package/dist/esm/connector/blockchain/index.js +3 -4
  142. package/dist/esm/connector/blockchain/private-key-provider.connector.js +76 -16
  143. package/dist/esm/connector/blockchain/private-key-provider.connector.spec.js +179 -0
  144. package/dist/esm/connector/blockchain/web3-provider-connector.js +62 -19
  145. package/dist/esm/connector/blockchain/web3-provider.connector.spec.js +182 -0
  146. package/dist/esm/connector/http/axios-provider.connector.js +249 -36
  147. package/dist/esm/connector/http/axios-provider.connector.spec.js +199 -0
  148. package/dist/esm/connector/http/http-provider.connector.js +1 -2
  149. package/dist/esm/connector/http/index.js +2 -3
  150. package/dist/esm/connector/index.js +3 -4
  151. package/dist/esm/connector/ws/index.js +3 -4
  152. package/dist/esm/connector/ws/types.js +1 -2
  153. package/dist/esm/connector/ws/websocket-client.connector.js +140 -66
  154. package/dist/esm/connector/ws/websocket-provider.connector.js +1 -2
  155. package/dist/esm/constants.js +12 -13
  156. package/dist/esm/errors.js +114 -4
  157. package/dist/esm/fusion-order/README.md +58 -0
  158. package/dist/esm/fusion-order/auction-details/README.md +85 -0
  159. package/dist/esm/fusion-order/auction-details/auction-details.js +160 -55
  160. package/dist/esm/fusion-order/auction-details/auction-details.spec.js +21 -0
  161. package/dist/esm/fusion-order/auction-details/index.js +2 -3
  162. package/dist/esm/fusion-order/auction-details/types.js +12 -2
  163. package/dist/esm/fusion-order/constants.js +16 -17
  164. package/dist/esm/fusion-order/fees/fees.js +75 -19
  165. package/dist/esm/fusion-order/fees/index.js +3 -4
  166. package/dist/esm/fusion-order/fees/integrator-fee.js +44 -21
  167. package/dist/esm/fusion-order/fees/resolver-fee.js +40 -15
  168. package/dist/esm/fusion-order/fusion-extension.js +239 -145
  169. package/dist/esm/fusion-order/fusion-extension.spec.js +74 -0
  170. package/dist/esm/fusion-order/fusion-order.js +485 -192
  171. package/dist/esm/fusion-order/fusion-order.spec.js +294 -0
  172. package/dist/esm/fusion-order/index.js +7 -8
  173. package/dist/esm/fusion-order/source-track.js +4 -5
  174. package/dist/esm/fusion-order/surplus-params.js +63 -13
  175. package/dist/esm/fusion-order/whitelist/README.md +54 -0
  176. package/dist/esm/fusion-order/whitelist/index.js +2 -3
  177. package/dist/esm/fusion-order/whitelist/types.js +6 -2
  178. package/dist/esm/fusion-order/whitelist/whitelist.js +236 -102
  179. package/dist/esm/fusion-order/whitelist/whitelist.spec.js +64 -0
  180. package/dist/esm/index.js +12 -13
  181. package/dist/esm/package.json +1 -0
  182. package/dist/esm/sdk/README.md +264 -0
  183. package/dist/esm/sdk/encoders/cancel-order.encoder.js +5 -4
  184. package/dist/esm/sdk/encoders/index.js +1 -2
  185. package/dist/esm/sdk/index.js +4 -5
  186. package/dist/esm/sdk/sdk.js +476 -127
  187. package/dist/esm/sdk/sdk.spec.js +231 -0
  188. package/dist/esm/sdk/types.js +12 -2
  189. package/dist/esm/sdk/utils.js +4 -5
  190. package/dist/esm/utils/amounts.js +18 -6
  191. package/dist/esm/utils/time.js +0 -1
  192. package/dist/esm/utils/types.js +1 -2
  193. package/dist/esm/utils.js +0 -1
  194. package/dist/esm/validations.js +7 -6
  195. package/dist/esm/ws-api/README.md +627 -0
  196. package/dist/esm/ws-api/active-websocket-orders-api.js +105 -47
  197. package/dist/esm/ws-api/constants.js +1 -2
  198. package/dist/esm/ws-api/index.js +5 -6
  199. package/dist/esm/ws-api/rpc-websocket-api.js +102 -36
  200. package/dist/esm/ws-api/types.js +1 -2
  201. package/dist/esm/ws-api/url.js +0 -1
  202. package/dist/esm/ws-api/ws-api.js +154 -43
  203. package/dist/esm/ws-api/ws.spec.js +828 -0
  204. package/dist/types/src/amount-calculator/amount-calculator.d.ts +4 -5
  205. package/dist/types/src/amount-calculator/auction-calculator/auction-calculator.d.ts +1 -1
  206. package/dist/types/src/amount-calculator/auction-calculator/index.d.ts +1 -1
  207. package/dist/types/src/amount-calculator/index.d.ts +4 -3
  208. package/dist/types/src/api/fusion-api.d.ts +5 -5
  209. package/dist/types/src/api/index.d.ts +8 -8
  210. package/dist/types/src/api/orders/index.d.ts +3 -3
  211. package/dist/types/src/api/orders/orders.api.d.ts +4 -4
  212. package/dist/types/src/api/orders/orders.request.d.ts +2 -2
  213. package/dist/types/src/api/orders/types.d.ts +4 -4
  214. package/dist/types/src/api/params.d.ts +1 -1
  215. package/dist/types/src/api/quoter/index.d.ts +6 -6
  216. package/dist/types/src/api/quoter/preset.d.ts +2 -2
  217. package/dist/types/src/api/quoter/quote/index.d.ts +3 -3
  218. package/dist/types/src/api/quoter/quote/order-params.d.ts +2 -2
  219. package/dist/types/src/api/quoter/quote/quote.d.ts +5 -5
  220. package/dist/types/src/api/quoter/quote/types.d.ts +2 -2
  221. package/dist/types/src/api/quoter/quoter-custom-preset.request.d.ts +1 -1
  222. package/dist/types/src/api/quoter/quoter.api.d.ts +5 -5
  223. package/dist/types/src/api/quoter/quoter.request.d.ts +2 -2
  224. package/dist/types/src/api/quoter/types.d.ts +2 -2
  225. package/dist/types/src/api/relayer/index.d.ts +3 -3
  226. package/dist/types/src/api/relayer/relayer.api.d.ts +3 -3
  227. package/dist/types/src/api/relayer/relayer.request.d.ts +1 -1
  228. package/dist/types/src/api/relayer/types.d.ts +1 -1
  229. package/dist/types/src/api/types.d.ts +2 -2
  230. package/dist/types/src/api-ext.d.ts +1 -1
  231. package/dist/types/src/connector/blockchain/index.d.ts +3 -3
  232. package/dist/types/src/connector/blockchain/private-key-provider.connector.d.ts +2 -2
  233. package/dist/types/src/connector/blockchain/web3-provider-connector.d.ts +1 -1
  234. package/dist/types/src/connector/http/axios-provider.connector.d.ts +1 -1
  235. package/dist/types/src/connector/http/index.d.ts +2 -2
  236. package/dist/types/src/connector/index.d.ts +3 -3
  237. package/dist/types/src/connector/ws/index.d.ts +3 -3
  238. package/dist/types/src/connector/ws/websocket-client.connector.d.ts +2 -2
  239. package/dist/types/src/connector/ws/websocket-provider.connector.d.ts +1 -1
  240. package/dist/types/src/fusion-order/auction-details/auction-details.d.ts +1 -1
  241. package/dist/types/src/fusion-order/auction-details/index.d.ts +2 -2
  242. package/dist/types/src/fusion-order/fees/fees.d.ts +2 -2
  243. package/dist/types/src/fusion-order/fees/index.d.ts +3 -3
  244. package/dist/types/src/fusion-order/fusion-extension.d.ts +4 -4
  245. package/dist/types/src/fusion-order/fusion-order.d.ts +7 -7
  246. package/dist/types/src/fusion-order/index.d.ts +7 -7
  247. package/dist/types/src/fusion-order/whitelist/index.d.ts +2 -2
  248. package/dist/types/src/fusion-order/whitelist/whitelist.d.ts +1 -1
  249. package/dist/types/src/index.d.ts +13 -13
  250. package/dist/types/src/sdk/encoders/index.d.ts +1 -1
  251. package/dist/types/src/sdk/index.d.ts +4 -4
  252. package/dist/types/src/sdk/sdk.d.ts +4 -4
  253. package/dist/types/src/sdk/types.d.ts +4 -4
  254. package/dist/types/src/ws-api/active-websocket-orders-api.d.ts +2 -2
  255. package/dist/types/src/ws-api/constants.d.ts +1 -1
  256. package/dist/types/src/ws-api/index.d.ts +5 -5
  257. package/dist/types/src/ws-api/rpc-websocket-api.d.ts +3 -3
  258. package/dist/types/src/ws-api/types.d.ts +4 -4
  259. package/dist/types/src/ws-api/ws-api.d.ts +4 -4
  260. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  261. package/package.json +6 -4
  262. package/dist/cjs/amount-calculator/amount-calculator.js.map +0 -1
  263. package/dist/cjs/amount-calculator/auction-calculator/auction-calculator.js.map +0 -1
  264. package/dist/cjs/amount-calculator/auction-calculator/index.js.map +0 -1
  265. package/dist/cjs/amount-calculator/index.js.map +0 -1
  266. package/dist/cjs/api/fusion-api.js.map +0 -1
  267. package/dist/cjs/api/index.js.map +0 -1
  268. package/dist/cjs/api/orders/index.js.map +0 -1
  269. package/dist/cjs/api/orders/orders.api.js.map +0 -1
  270. package/dist/cjs/api/orders/orders.request.js.map +0 -1
  271. package/dist/cjs/api/orders/types.js.map +0 -1
  272. package/dist/cjs/api/ordersVersion.js.map +0 -1
  273. package/dist/cjs/api/pagination.js.map +0 -1
  274. package/dist/cjs/api/params.js.map +0 -1
  275. package/dist/cjs/api/quoter/index.js.map +0 -1
  276. package/dist/cjs/api/quoter/preset.js.map +0 -1
  277. package/dist/cjs/api/quoter/quote/index.js.map +0 -1
  278. package/dist/cjs/api/quoter/quote/order-params.js.map +0 -1
  279. package/dist/cjs/api/quoter/quote/quote.js.map +0 -1
  280. package/dist/cjs/api/quoter/quote/types.js.map +0 -1
  281. package/dist/cjs/api/quoter/quoter-custom-preset.request.js.map +0 -1
  282. package/dist/cjs/api/quoter/quoter.api.js.map +0 -1
  283. package/dist/cjs/api/quoter/quoter.request.js.map +0 -1
  284. package/dist/cjs/api/quoter/types.js.map +0 -1
  285. package/dist/cjs/api/relayer/index.js.map +0 -1
  286. package/dist/cjs/api/relayer/relayer.api.js.map +0 -1
  287. package/dist/cjs/api/relayer/relayer.request.js.map +0 -1
  288. package/dist/cjs/api/relayer/types.js.map +0 -1
  289. package/dist/cjs/api/types.js.map +0 -1
  290. package/dist/cjs/api-ext.js.map +0 -1
  291. package/dist/cjs/connector/blockchain/blockchain-provider.connector.js.map +0 -1
  292. package/dist/cjs/connector/blockchain/index.js.map +0 -1
  293. package/dist/cjs/connector/blockchain/private-key-provider.connector.js.map +0 -1
  294. package/dist/cjs/connector/blockchain/web3-provider-connector.js.map +0 -1
  295. package/dist/cjs/connector/http/axios-provider.connector.js.map +0 -1
  296. package/dist/cjs/connector/http/http-provider.connector.js.map +0 -1
  297. package/dist/cjs/connector/http/index.js.map +0 -1
  298. package/dist/cjs/connector/index.js.map +0 -1
  299. package/dist/cjs/connector/ws/index.js.map +0 -1
  300. package/dist/cjs/connector/ws/types.js.map +0 -1
  301. package/dist/cjs/connector/ws/websocket-client.connector.js.map +0 -1
  302. package/dist/cjs/connector/ws/websocket-provider.connector.js.map +0 -1
  303. package/dist/cjs/constants.js.map +0 -1
  304. package/dist/cjs/errors.js.map +0 -1
  305. package/dist/cjs/fusion-order/auction-details/auction-details.js.map +0 -1
  306. package/dist/cjs/fusion-order/auction-details/index.js.map +0 -1
  307. package/dist/cjs/fusion-order/auction-details/types.js.map +0 -1
  308. package/dist/cjs/fusion-order/constants.js.map +0 -1
  309. package/dist/cjs/fusion-order/fees/fees.js.map +0 -1
  310. package/dist/cjs/fusion-order/fees/index.js.map +0 -1
  311. package/dist/cjs/fusion-order/fees/integrator-fee.js.map +0 -1
  312. package/dist/cjs/fusion-order/fees/resolver-fee.js.map +0 -1
  313. package/dist/cjs/fusion-order/fusion-extension.js.map +0 -1
  314. package/dist/cjs/fusion-order/fusion-order.js.map +0 -1
  315. package/dist/cjs/fusion-order/index.js.map +0 -1
  316. package/dist/cjs/fusion-order/source-track.js.map +0 -1
  317. package/dist/cjs/fusion-order/surplus-params.js.map +0 -1
  318. package/dist/cjs/fusion-order/whitelist/index.js.map +0 -1
  319. package/dist/cjs/fusion-order/whitelist/types.js.map +0 -1
  320. package/dist/cjs/fusion-order/whitelist/whitelist.js.map +0 -1
  321. package/dist/cjs/index.js.map +0 -1
  322. package/dist/cjs/sdk/encoders/cancel-order.encoder.js.map +0 -1
  323. package/dist/cjs/sdk/encoders/index.js.map +0 -1
  324. package/dist/cjs/sdk/index.js.map +0 -1
  325. package/dist/cjs/sdk/sdk.js.map +0 -1
  326. package/dist/cjs/sdk/types.js.map +0 -1
  327. package/dist/cjs/sdk/utils.js.map +0 -1
  328. package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  329. package/dist/cjs/utils/amounts.js.map +0 -1
  330. package/dist/cjs/utils/time.js.map +0 -1
  331. package/dist/cjs/utils/types.js.map +0 -1
  332. package/dist/cjs/utils.js.map +0 -1
  333. package/dist/cjs/validations.js.map +0 -1
  334. package/dist/cjs/ws-api/active-websocket-orders-api.js.map +0 -1
  335. package/dist/cjs/ws-api/constants.js.map +0 -1
  336. package/dist/cjs/ws-api/index.js.map +0 -1
  337. package/dist/cjs/ws-api/rpc-websocket-api.js.map +0 -1
  338. package/dist/cjs/ws-api/types.js.map +0 -1
  339. package/dist/cjs/ws-api/url.js.map +0 -1
  340. package/dist/cjs/ws-api/ws-api.js.map +0 -1
  341. package/dist/esm/amount-calculator/amount-calculator.js.map +0 -1
  342. package/dist/esm/amount-calculator/auction-calculator/auction-calculator.js.map +0 -1
  343. package/dist/esm/amount-calculator/auction-calculator/index.js.map +0 -1
  344. package/dist/esm/amount-calculator/index.js.map +0 -1
  345. package/dist/esm/api/fusion-api.js.map +0 -1
  346. package/dist/esm/api/index.js.map +0 -1
  347. package/dist/esm/api/orders/index.js.map +0 -1
  348. package/dist/esm/api/orders/orders.api.js.map +0 -1
  349. package/dist/esm/api/orders/orders.request.js.map +0 -1
  350. package/dist/esm/api/orders/types.js.map +0 -1
  351. package/dist/esm/api/ordersVersion.js.map +0 -1
  352. package/dist/esm/api/pagination.js.map +0 -1
  353. package/dist/esm/api/params.js.map +0 -1
  354. package/dist/esm/api/quoter/index.js.map +0 -1
  355. package/dist/esm/api/quoter/preset.js.map +0 -1
  356. package/dist/esm/api/quoter/quote/index.js.map +0 -1
  357. package/dist/esm/api/quoter/quote/order-params.js.map +0 -1
  358. package/dist/esm/api/quoter/quote/quote.js.map +0 -1
  359. package/dist/esm/api/quoter/quote/types.js.map +0 -1
  360. package/dist/esm/api/quoter/quoter-custom-preset.request.js.map +0 -1
  361. package/dist/esm/api/quoter/quoter.api.js.map +0 -1
  362. package/dist/esm/api/quoter/quoter.request.js.map +0 -1
  363. package/dist/esm/api/quoter/types.js.map +0 -1
  364. package/dist/esm/api/relayer/index.js.map +0 -1
  365. package/dist/esm/api/relayer/relayer.api.js.map +0 -1
  366. package/dist/esm/api/relayer/relayer.request.js.map +0 -1
  367. package/dist/esm/api/relayer/types.js.map +0 -1
  368. package/dist/esm/api/types.js.map +0 -1
  369. package/dist/esm/api-ext.js.map +0 -1
  370. package/dist/esm/connector/blockchain/blockchain-provider.connector.js.map +0 -1
  371. package/dist/esm/connector/blockchain/index.js.map +0 -1
  372. package/dist/esm/connector/blockchain/private-key-provider.connector.js.map +0 -1
  373. package/dist/esm/connector/blockchain/web3-provider-connector.js.map +0 -1
  374. package/dist/esm/connector/http/axios-provider.connector.js.map +0 -1
  375. package/dist/esm/connector/http/http-provider.connector.js.map +0 -1
  376. package/dist/esm/connector/http/index.js.map +0 -1
  377. package/dist/esm/connector/index.js.map +0 -1
  378. package/dist/esm/connector/ws/index.js.map +0 -1
  379. package/dist/esm/connector/ws/types.js.map +0 -1
  380. package/dist/esm/connector/ws/websocket-client.connector.js.map +0 -1
  381. package/dist/esm/connector/ws/websocket-provider.connector.js.map +0 -1
  382. package/dist/esm/constants.js.map +0 -1
  383. package/dist/esm/errors.js.map +0 -1
  384. package/dist/esm/fusion-order/auction-details/auction-details.js.map +0 -1
  385. package/dist/esm/fusion-order/auction-details/index.js.map +0 -1
  386. package/dist/esm/fusion-order/auction-details/types.js.map +0 -1
  387. package/dist/esm/fusion-order/constants.js.map +0 -1
  388. package/dist/esm/fusion-order/fees/fees.js.map +0 -1
  389. package/dist/esm/fusion-order/fees/index.js.map +0 -1
  390. package/dist/esm/fusion-order/fees/integrator-fee.js.map +0 -1
  391. package/dist/esm/fusion-order/fees/resolver-fee.js.map +0 -1
  392. package/dist/esm/fusion-order/fusion-extension.js.map +0 -1
  393. package/dist/esm/fusion-order/fusion-order.js.map +0 -1
  394. package/dist/esm/fusion-order/index.js.map +0 -1
  395. package/dist/esm/fusion-order/source-track.js.map +0 -1
  396. package/dist/esm/fusion-order/surplus-params.js.map +0 -1
  397. package/dist/esm/fusion-order/whitelist/index.js.map +0 -1
  398. package/dist/esm/fusion-order/whitelist/types.js.map +0 -1
  399. package/dist/esm/fusion-order/whitelist/whitelist.js.map +0 -1
  400. package/dist/esm/index.js.map +0 -1
  401. package/dist/esm/sdk/encoders/cancel-order.encoder.js.map +0 -1
  402. package/dist/esm/sdk/encoders/index.js.map +0 -1
  403. package/dist/esm/sdk/index.js.map +0 -1
  404. package/dist/esm/sdk/sdk.js.map +0 -1
  405. package/dist/esm/sdk/types.js.map +0 -1
  406. package/dist/esm/sdk/utils.js.map +0 -1
  407. package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
  408. package/dist/esm/utils/amounts.js.map +0 -1
  409. package/dist/esm/utils/time.js.map +0 -1
  410. package/dist/esm/utils/types.js.map +0 -1
  411. package/dist/esm/utils.js.map +0 -1
  412. package/dist/esm/validations.js.map +0 -1
  413. package/dist/esm/ws-api/active-websocket-orders-api.js.map +0 -1
  414. package/dist/esm/ws-api/constants.js.map +0 -1
  415. package/dist/esm/ws-api/index.js.map +0 -1
  416. package/dist/esm/ws-api/rpc-websocket-api.js.map +0 -1
  417. package/dist/esm/ws-api/types.js.map +0 -1
  418. package/dist/esm/ws-api/url.js.map +0 -1
  419. package/dist/esm/ws-api/ws-api.js.map +0 -1
@@ -0,0 +1,828 @@
1
+ import { WebSocketServer, WebSocket } from 'ws';
2
+ import { WebSocketApi } from './ws-api.js';
3
+ import { castUrl } from './url.js';
4
+ import { NetworkEnum } from '../constants.js';
5
+ import { WebsocketClient } from '../connector/index.js';
6
+ jest.setTimeout(10 * 1000);
7
+ describe(__filename, function() {
8
+ describe('base', function() {
9
+ it('should be possible to subscribe to message', function(done) {
10
+ var message = {
11
+ id: 1
12
+ };
13
+ var _createWebsocketServerMock = createWebsocketServerMock([
14
+ message
15
+ ]), wss = _createWebsocketServerMock.wss, url = _createWebsocketServerMock.url;
16
+ var wsSdk = new WebSocketApi({
17
+ url: url,
18
+ network: NetworkEnum.ETHEREUM,
19
+ authKey: ''
20
+ });
21
+ wsSdk.onMessage(function(data) {
22
+ expect(data).toEqual(message);
23
+ wsSdk.close();
24
+ wss.close();
25
+ done();
26
+ });
27
+ });
28
+ it('should be possible to subscribe to open connection', function(done) {
29
+ var message = {
30
+ id: 1
31
+ };
32
+ var _createWebsocketServerMock = createWebsocketServerMock([
33
+ message
34
+ ]), wss = _createWebsocketServerMock.wss, url = _createWebsocketServerMock.url;
35
+ var wsSdk = new WebSocketApi({
36
+ url: url,
37
+ network: NetworkEnum.ETHEREUM,
38
+ authKey: ''
39
+ });
40
+ wsSdk.onOpen(function() {
41
+ wsSdk.close();
42
+ wss.close();
43
+ done();
44
+ });
45
+ });
46
+ it('this is pointed to underlying websocket', function(done) {
47
+ var message = {
48
+ id: 1
49
+ };
50
+ var _createWebsocketServerMock = createWebsocketServerMock([
51
+ message
52
+ ]), wss = _createWebsocketServerMock.wss, url = _createWebsocketServerMock.url;
53
+ var wsSdk = new WebSocketApi({
54
+ url: url,
55
+ network: NetworkEnum.ETHEREUM,
56
+ authKey: ''
57
+ });
58
+ wsSdk.on('open', function() {
59
+ expect(this).toBeInstanceOf(WebSocket);
60
+ this.close();
61
+ wss.close();
62
+ done();
63
+ });
64
+ });
65
+ it('should be possible to subscribe to error', function(done) {
66
+ var wsSdk = new WebSocketApi({
67
+ url: 'ws://localhost:1234',
68
+ network: NetworkEnum.ETHEREUM,
69
+ authKey: ''
70
+ });
71
+ wsSdk.on('error', function(error) {
72
+ expect(error.code).toEqual('ECONNREFUSED');
73
+ done();
74
+ });
75
+ });
76
+ it('should be possible to initialize in lazy mode', function(done) {
77
+ var message = {
78
+ id: 1
79
+ };
80
+ var port = 8080;
81
+ var url = "ws://localhost:".concat(port, "/ws");
82
+ var wss = new WebSocketServer({
83
+ port: port,
84
+ path: '/ws/v2.0/1'
85
+ });
86
+ wss.on('connection', function(ws) {
87
+ for(var _i = 0, _iter = [
88
+ message
89
+ ]; _i < _iter.length; _i++){
90
+ var m = _iter[_i];
91
+ ws.send(JSON.stringify(m));
92
+ }
93
+ });
94
+ var wsSdk = new WebSocketApi({
95
+ url: url,
96
+ network: NetworkEnum.ETHEREUM,
97
+ lazyInit: true,
98
+ authKey: ''
99
+ });
100
+ expect(wsSdk.provider).toMatchObject({
101
+ initialized: false
102
+ });
103
+ wsSdk.init();
104
+ expect(wsSdk.provider).toMatchObject({
105
+ initialized: true
106
+ });
107
+ wsSdk.onMessage(function(data) {
108
+ expect(data).toEqual(message);
109
+ wsSdk.close();
110
+ wss.close();
111
+ done();
112
+ });
113
+ });
114
+ it('should be safe to call methods on uninitialized ws', function() {
115
+ var wsSdk = new WebSocketApi({
116
+ url: 'random',
117
+ network: NetworkEnum.ETHEREUM,
118
+ lazyInit: true
119
+ });
120
+ expect(function() {
121
+ return wsSdk.send({
122
+ id: 1
123
+ });
124
+ }).toThrowError();
125
+ });
126
+ it('should be possible to initialize not in lazy mode', function(done) {
127
+ var message = {
128
+ id: 1
129
+ };
130
+ var port = 8080;
131
+ var url = "ws://localhost:".concat(port, "/ws");
132
+ var wss = new WebSocketServer({
133
+ port: port,
134
+ path: '/ws/v2.0/1'
135
+ });
136
+ wss.on('connection', function(ws) {
137
+ for(var _i = 0, _iter = [
138
+ message
139
+ ]; _i < _iter.length; _i++){
140
+ var m = _iter[_i];
141
+ ws.send(JSON.stringify(m));
142
+ }
143
+ });
144
+ var wsSdk = new WebSocketApi({
145
+ url: url,
146
+ network: NetworkEnum.ETHEREUM,
147
+ lazyInit: false
148
+ });
149
+ expect(wsSdk).toBeDefined();
150
+ wsSdk.onMessage(function(data) {
151
+ expect(data).toEqual(message);
152
+ wsSdk.close();
153
+ wss.close();
154
+ done();
155
+ });
156
+ });
157
+ it('should be possible to pass provider instead of config', function(done) {
158
+ var message = {
159
+ id: 1
160
+ };
161
+ var port = 8080;
162
+ var url = "ws://localhost:".concat(port, "/ws");
163
+ var wss = new WebSocketServer({
164
+ port: port,
165
+ path: '/ws/v2.0/1'
166
+ });
167
+ wss.on('connection', function(ws) {
168
+ for(var _i = 0, _iter = [
169
+ message
170
+ ]; _i < _iter.length; _i++){
171
+ var m = _iter[_i];
172
+ ws.send(JSON.stringify(m));
173
+ }
174
+ });
175
+ var castedUrl = castUrl(url);
176
+ var urlWithNetwork = "".concat(castedUrl, "/v2.0/1");
177
+ var provider = new WebsocketClient({
178
+ url: urlWithNetwork
179
+ });
180
+ var wsSdk = new WebSocketApi(provider);
181
+ expect(wsSdk.rpc).toBeDefined();
182
+ expect(wsSdk.order).toBeDefined();
183
+ expect(wsSdk).toBeDefined();
184
+ wsSdk.onMessage(function(data) {
185
+ expect(data).toEqual(message);
186
+ wsSdk.close();
187
+ wss.close();
188
+ done();
189
+ });
190
+ });
191
+ it('should be possible to initialize with new method', function(done) {
192
+ var message = {
193
+ id: 1
194
+ };
195
+ var port = 8080;
196
+ var url = "ws://localhost:".concat(port, "/ws");
197
+ var wss = new WebSocketServer({
198
+ port: port,
199
+ path: '/ws/v2.0/1'
200
+ });
201
+ wss.on('connection', function(ws) {
202
+ for(var _i = 0, _iter = [
203
+ message
204
+ ]; _i < _iter.length; _i++){
205
+ var m = _iter[_i];
206
+ ws.send(JSON.stringify(m));
207
+ }
208
+ });
209
+ var castedUrl = castUrl(url);
210
+ var urlWithNetwork = "".concat(castedUrl, "/v2.0/1");
211
+ var provider = new WebsocketClient({
212
+ url: urlWithNetwork,
213
+ authKey: ''
214
+ });
215
+ var wsSdk = WebSocketApi.new(provider);
216
+ expect(wsSdk.rpc).toBeDefined();
217
+ expect(wsSdk.order).toBeDefined();
218
+ expect(wsSdk).toBeDefined();
219
+ wsSdk.onMessage(function(data) {
220
+ expect(data).toEqual(message);
221
+ wsSdk.close();
222
+ wss.close();
223
+ done();
224
+ });
225
+ });
226
+ it('connection can be closed and you can listen to close event', function(done) {
227
+ var message = {
228
+ id: 1
229
+ };
230
+ var _createWebsocketServerMock = createWebsocketServerMock([
231
+ message
232
+ ]), wss = _createWebsocketServerMock.wss, url = _createWebsocketServerMock.url;
233
+ var wsSdk = new WebSocketApi({
234
+ url: url,
235
+ network: NetworkEnum.ETHEREUM,
236
+ authKey: ''
237
+ });
238
+ wsSdk.onClose(function() {
239
+ wss.close();
240
+ done();
241
+ });
242
+ wsSdk.onOpen(function() {
243
+ wsSdk.close();
244
+ });
245
+ });
246
+ });
247
+ describe('rpc', function() {
248
+ it('can ping pong ', function(done) {
249
+ var response = {
250
+ method: 'ping',
251
+ result: 'pong'
252
+ };
253
+ var _createWebsocketRpcServerMock = createWebsocketRpcServerMock(function(ws, data) {
254
+ var parsedData = JSON.parse(data);
255
+ if (parsedData.method === 'ping') {
256
+ ws.send(JSON.stringify(response));
257
+ }
258
+ }), url = _createWebsocketRpcServerMock.url, wss = _createWebsocketRpcServerMock.wss;
259
+ var wsSdk = new WebSocketApi({
260
+ url: url,
261
+ network: NetworkEnum.ETHEREUM,
262
+ authKey: ''
263
+ });
264
+ wsSdk.onOpen(function() {
265
+ wsSdk.rpc.ping();
266
+ });
267
+ wsSdk.rpc.onPong(function(data) {
268
+ expect(data).toEqual(response.result);
269
+ wsSdk.close();
270
+ wss.close();
271
+ done();
272
+ });
273
+ });
274
+ it('can retrieve allowed rpc methods ', function(done) {
275
+ var response = {
276
+ method: 'getAllowedMethods',
277
+ result: [
278
+ 'ping',
279
+ 'getAllowedMethods'
280
+ ]
281
+ };
282
+ var _createWebsocketRpcServerMock = createWebsocketRpcServerMock(function(ws, data) {
283
+ var parsedData = JSON.parse(data);
284
+ if (parsedData.method === 'getAllowedMethods') {
285
+ ws.send(JSON.stringify(response));
286
+ }
287
+ }), url = _createWebsocketRpcServerMock.url, wss = _createWebsocketRpcServerMock.wss;
288
+ var wsSdk = new WebSocketApi({
289
+ url: url,
290
+ network: NetworkEnum.ETHEREUM,
291
+ authKey: ''
292
+ });
293
+ wsSdk.onOpen(function() {
294
+ wsSdk.rpc.getAllowedMethods();
295
+ });
296
+ wsSdk.rpc.onGetAllowedMethods(function(data) {
297
+ expect(data).toEqual(response.result);
298
+ wsSdk.close();
299
+ wss.close();
300
+ done();
301
+ });
302
+ });
303
+ it('getActiveOrders success', function(done) {
304
+ var response = {
305
+ method: 'getActiveOrders',
306
+ result: {
307
+ items: [],
308
+ meta: {
309
+ totalItems: 0,
310
+ totalPages: 0,
311
+ itemsPerPage: 0,
312
+ currentPage: 0
313
+ }
314
+ }
315
+ };
316
+ var _createWebsocketRpcServerMock = createWebsocketRpcServerMock(function(ws, data) {
317
+ var parsedData = JSON.parse(data);
318
+ if (parsedData.method === 'getActiveOrders') {
319
+ ws.send(JSON.stringify(response));
320
+ }
321
+ }), url = _createWebsocketRpcServerMock.url, wss = _createWebsocketRpcServerMock.wss;
322
+ var wsSdk = new WebSocketApi({
323
+ url: url,
324
+ network: NetworkEnum.ETHEREUM,
325
+ authKey: ''
326
+ });
327
+ wsSdk.onOpen(function() {
328
+ wsSdk.rpc.getActiveOrders();
329
+ });
330
+ wsSdk.rpc.onGetActiveOrders(function(data) {
331
+ expect(data).toEqual(response.result);
332
+ wsSdk.close();
333
+ wss.close();
334
+ done();
335
+ });
336
+ });
337
+ it('getActiveOrders throws error', function(done) {
338
+ var response = {
339
+ method: 'getActiveOrders',
340
+ result: {
341
+ items: [],
342
+ meta: {
343
+ totalItems: 0,
344
+ totalPages: 0,
345
+ itemsPerPage: 0,
346
+ currentPage: 0
347
+ }
348
+ }
349
+ };
350
+ var _createWebsocketRpcServerMock = createWebsocketRpcServerMock(function(ws, data) {
351
+ var parsedData = JSON.parse(data);
352
+ if (parsedData.method === 'getActiveOrders') {
353
+ ws.send(JSON.stringify(response));
354
+ }
355
+ }), url = _createWebsocketRpcServerMock.url, wss = _createWebsocketRpcServerMock.wss;
356
+ var wsSdk = new WebSocketApi({
357
+ url: url,
358
+ network: NetworkEnum.ETHEREUM,
359
+ authKey: ''
360
+ });
361
+ wsSdk.onOpen(function() {
362
+ try {
363
+ wsSdk.rpc.getActiveOrders({
364
+ page: -1
365
+ });
366
+ } catch (e) {
367
+ wsSdk.close();
368
+ wss.close();
369
+ done();
370
+ }
371
+ });
372
+ });
373
+ });
374
+ describe('order', function() {
375
+ it('can subscribe to order events', function(done) {
376
+ var message1 = {
377
+ event: 'order_created',
378
+ result: {
379
+ quoteId: 'b77da8b7-a4bb-4563-b917-03522aa609e3',
380
+ orderHash: '0xb9522c23c8667c5e76bf0b855ffabbaebca282f8e396d788c2df75e91a0391d2-5705f2156ef5b2db36c160b36f31ce4',
381
+ order: {
382
+ salt: '9445680545936410419330284706951757224702878670220689583677680607556412140293',
383
+ maker: '0x6edc317f3208b10c46f4ff97faa04dd632487408',
384
+ receiver: '0x0000000000000000000000000000000000000000',
385
+ makerAsset: '0x6b175474e89094c44da98b954eedeac495271d0f',
386
+ takerAsset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
387
+ makerTraits: '62419173104490761595518734106557662061518414611782227068396304425790442831872',
388
+ makingAmount: '30000000000000000000',
389
+ takingAmount: '7516665910385115'
390
+ },
391
+ signature: '0xb51731d6e62754ae75d11d13983c19b25fcc1a43fc327710a26ae291fde3d33f52dee7a4c0154256f6bb272260170128242034a89f44e7e887d1bb54a746a5941b',
392
+ deadline: '2024-04-29T15:27:39.000Z',
393
+ auctionStartDate: '2024-04-29T15:17:27.000Z',
394
+ auctionEndDate: '2024-04-29T15:27:27.000Z',
395
+ remainingMakerAmount: '30000000000000000000',
396
+ extension: '0x000000cb0000005e0000005e0000005e0000005e0000002f0000000000000000fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b840662fb9efb09498030ae3416b66dc00007bf29735c20c566e5a0c0000950fa635aec75b30781a0000d18bd45f0b94f54a968f000076d49414ad2b8371a4220000a59ca88d5813e693528f000038700d5181a674fdb9a2000038'
397
+ }
398
+ };
399
+ var message2 = {
400
+ event: 'order_invalid',
401
+ result: {
402
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4'
403
+ }
404
+ };
405
+ var messages = [
406
+ message1,
407
+ message1,
408
+ message2
409
+ ];
410
+ var _createWebsocketServerMock = createWebsocketServerMock(messages), url = _createWebsocketServerMock.url, wss = _createWebsocketServerMock.wss;
411
+ var wsSdk = new WebSocketApi({
412
+ url: url,
413
+ network: NetworkEnum.ETHEREUM,
414
+ authKey: ''
415
+ });
416
+ var resArray = [];
417
+ wsSdk.order.onOrder(function(data) {
418
+ resArray.push(data);
419
+ });
420
+ wsSdk.onMessage(function() {
421
+ if (resArray.length === 3) {
422
+ expect(resArray).toEqual(messages);
423
+ wsSdk.close();
424
+ wss.close();
425
+ done();
426
+ }
427
+ });
428
+ });
429
+ it('can subscribe to order created events', function(done) {
430
+ var message1 = {
431
+ event: 'order_created',
432
+ result: {
433
+ quoteId: 'b77da8b7-a4bb-4563-b917-03522aa609e3',
434
+ orderHash: '0xb9522c23c8667c5e76bf0b855ffabbaebca282f8e396d788c2df75e91a0391d2-5705f2156ef5b2db36c160b36f31ce4',
435
+ order: {
436
+ salt: '9445680545936410419330284706951757224702878670220689583677680607556412140293',
437
+ maker: '0x6edc317f3208b10c46f4ff97faa04dd632487408',
438
+ receiver: '0x0000000000000000000000000000000000000000',
439
+ makerAsset: '0x6b175474e89094c44da98b954eedeac495271d0f',
440
+ takerAsset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
441
+ makerTraits: '62419173104490761595518734106557662061518414611782227068396304425790442831872',
442
+ makingAmount: '30000000000000000000',
443
+ takingAmount: '7516665910385115'
444
+ },
445
+ signature: '0xb51731d6e62754ae75d11d13983c19b25fcc1a43fc327710a26ae291fde3d33f52dee7a4c0154256f6bb272260170128242034a89f44e7e887d1bb54a746a5941b',
446
+ deadline: '2024-04-29T15:27:39.000Z',
447
+ auctionStartDate: '2024-04-29T15:17:27.000Z',
448
+ auctionEndDate: '2024-04-29T15:27:27.000Z',
449
+ remainingMakerAmount: '30000000000000000000',
450
+ extension: '0x000000cb0000005e0000005e0000005e0000005e0000002f0000000000000000fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b840662fb9efb09498030ae3416b66dc00007bf29735c20c566e5a0c0000950fa635aec75b30781a0000d18bd45f0b94f54a968f000076d49414ad2b8371a4220000a59ca88d5813e693528f000038700d5181a674fdb9a2000038'
451
+ }
452
+ };
453
+ var message2 = {
454
+ event: 'order_invalid',
455
+ result: {
456
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4'
457
+ }
458
+ };
459
+ var messages = [
460
+ message2,
461
+ message1,
462
+ message1
463
+ ];
464
+ var expectedMessages = [
465
+ message1,
466
+ message1
467
+ ];
468
+ var _createWebsocketServerMock = createWebsocketServerMock(messages), url = _createWebsocketServerMock.url, wss = _createWebsocketServerMock.wss;
469
+ var wsSdk = new WebSocketApi({
470
+ url: url,
471
+ network: NetworkEnum.ETHEREUM,
472
+ authKey: ''
473
+ });
474
+ var resArray = [];
475
+ wsSdk.order.onOrderCreated(function(data) {
476
+ resArray.push(data);
477
+ });
478
+ wsSdk.onMessage(function() {
479
+ if (resArray.length === 2) {
480
+ expect(resArray).toEqual(expectedMessages);
481
+ wsSdk.close();
482
+ wss.close();
483
+ done();
484
+ }
485
+ });
486
+ });
487
+ it('can subscribe to order invalid events', function(done) {
488
+ var message1 = {
489
+ event: 'order_created',
490
+ result: {
491
+ quoteId: 'b77da8b7-a4bb-4563-b917-03522aa609e3',
492
+ orderHash: '0xb9522c23c8667c5e76bf0b855ffabbaebca282f8e396d788c2df75e91a0391d2-5705f2156ef5b2db36c160b36f31ce4',
493
+ order: {
494
+ salt: '9445680545936410419330284706951757224702878670220689583677680607556412140293',
495
+ maker: '0x6edc317f3208b10c46f4ff97faa04dd632487408',
496
+ receiver: '0x0000000000000000000000000000000000000000',
497
+ makerAsset: '0x6b175474e89094c44da98b954eedeac495271d0f',
498
+ takerAsset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
499
+ makerTraits: '62419173104490761595518734106557662061518414611782227068396304425790442831872',
500
+ makingAmount: '30000000000000000000',
501
+ takingAmount: '7516665910385115'
502
+ },
503
+ signature: '0xb51731d6e62754ae75d11d13983c19b25fcc1a43fc327710a26ae291fde3d33f52dee7a4c0154256f6bb272260170128242034a89f44e7e887d1bb54a746a5941b',
504
+ deadline: '2024-04-29T15:27:39.000Z',
505
+ auctionStartDate: '2024-04-29T15:17:27.000Z',
506
+ auctionEndDate: '2024-04-29T15:27:27.000Z',
507
+ remainingMakerAmount: '30000000000000000000',
508
+ extension: '0x000000cb0000005e0000005e0000005e0000005e0000002f0000000000000000fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b840662fb9efb09498030ae3416b66dc00007bf29735c20c566e5a0c0000950fa635aec75b30781a0000d18bd45f0b94f54a968f000076d49414ad2b8371a4220000a59ca88d5813e693528f000038700d5181a674fdb9a2000038'
509
+ }
510
+ };
511
+ var message2 = {
512
+ event: 'order_invalid',
513
+ result: {
514
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4'
515
+ }
516
+ };
517
+ var messages = [
518
+ message1,
519
+ message1,
520
+ message2
521
+ ];
522
+ var expectedMessages = [
523
+ message2
524
+ ];
525
+ var _createWebsocketServerMock = createWebsocketServerMock(messages), url = _createWebsocketServerMock.url, wss = _createWebsocketServerMock.wss;
526
+ var wsSdk = new WebSocketApi({
527
+ url: url,
528
+ network: NetworkEnum.ETHEREUM,
529
+ authKey: ''
530
+ });
531
+ var resArray = [];
532
+ wsSdk.order.onOrderInvalid(function(data) {
533
+ resArray.push(data);
534
+ });
535
+ wsSdk.onMessage(function() {
536
+ if (resArray.length === 1) {
537
+ expect(resArray).toEqual(expectedMessages);
538
+ wsSdk.close();
539
+ wss.close();
540
+ done();
541
+ }
542
+ });
543
+ });
544
+ it('can subscribe to order_balance_or_allowance_change events', function(done) {
545
+ var message1 = {
546
+ event: 'order_created',
547
+ result: {
548
+ quoteId: 'b77da8b7-a4bb-4563-b917-03522aa609e3',
549
+ orderHash: '0xb9522c23c8667c5e76bf0b855ffabbaebca282f8e396d788c2df75e91a0391d2-5705f2156ef5b2db36c160b36f31ce4',
550
+ order: {
551
+ salt: '9445680545936410419330284706951757224702878670220689583677680607556412140293',
552
+ maker: '0x6edc317f3208b10c46f4ff97faa04dd632487408',
553
+ receiver: '0x0000000000000000000000000000000000000000',
554
+ makerAsset: '0x6b175474e89094c44da98b954eedeac495271d0f',
555
+ takerAsset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
556
+ makerTraits: '62419173104490761595518734106557662061518414611782227068396304425790442831872',
557
+ makingAmount: '30000000000000000000',
558
+ takingAmount: '7516665910385115'
559
+ },
560
+ signature: '0xb51731d6e62754ae75d11d13983c19b25fcc1a43fc327710a26ae291fde3d33f52dee7a4c0154256f6bb272260170128242034a89f44e7e887d1bb54a746a5941b',
561
+ deadline: '2024-04-29T15:27:39.000Z',
562
+ auctionStartDate: '2024-04-29T15:17:27.000Z',
563
+ auctionEndDate: '2024-04-29T15:27:27.000Z',
564
+ remainingMakerAmount: '30000000000000000000',
565
+ extension: '0x000000cb0000005e0000005e0000005e0000005e0000002f0000000000000000fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b840662fb9efb09498030ae3416b66dc00007bf29735c20c566e5a0c0000950fa635aec75b30781a0000d18bd45f0b94f54a968f000076d49414ad2b8371a4220000a59ca88d5813e693528f000038700d5181a674fdb9a2000038'
566
+ }
567
+ };
568
+ var message2 = {
569
+ event: 'order_balance_or_allowance_change',
570
+ result: {
571
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4',
572
+ remainingMakerAmount: '57684207067582695',
573
+ balance: '57684207067582695',
574
+ allowance: '0'
575
+ }
576
+ };
577
+ var messages = [
578
+ message1,
579
+ message1,
580
+ message2
581
+ ];
582
+ var expectedMessages = [
583
+ message2
584
+ ];
585
+ var _createWebsocketServerMock = createWebsocketServerMock(messages), url = _createWebsocketServerMock.url, wss = _createWebsocketServerMock.wss;
586
+ var wsSdk = new WebSocketApi({
587
+ url: url,
588
+ network: NetworkEnum.ETHEREUM,
589
+ authKey: ''
590
+ });
591
+ var resArray = [];
592
+ wsSdk.order.onOrderBalanceOrAllowanceChange(function(data) {
593
+ resArray.push(data);
594
+ });
595
+ wsSdk.onMessage(function() {
596
+ if (resArray.length === 1) {
597
+ expect(resArray).toEqual(expectedMessages);
598
+ wsSdk.close();
599
+ wss.close();
600
+ done();
601
+ }
602
+ });
603
+ });
604
+ it('can subscribe to order filled events', function(done) {
605
+ var message1 = {
606
+ event: 'order_created',
607
+ result: {
608
+ quoteId: 'b77da8b7-a4bb-4563-b917-03522aa609e3',
609
+ orderHash: '0xb9522c23c8667c5e76bf0b855ffabbaebca282f8e396d788c2df75e91a0391d2-5705f2156ef5b2db36c160b36f31ce4',
610
+ order: {
611
+ salt: '9445680545936410419330284706951757224702878670220689583677680607556412140293',
612
+ maker: '0x6edc317f3208b10c46f4ff97faa04dd632487408',
613
+ receiver: '0x0000000000000000000000000000000000000000',
614
+ makerAsset: '0x6b175474e89094c44da98b954eedeac495271d0f',
615
+ takerAsset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
616
+ makerTraits: '62419173104490761595518734106557662061518414611782227068396304425790442831872',
617
+ makingAmount: '30000000000000000000',
618
+ takingAmount: '7516665910385115'
619
+ },
620
+ signature: '0xb51731d6e62754ae75d11d13983c19b25fcc1a43fc327710a26ae291fde3d33f52dee7a4c0154256f6bb272260170128242034a89f44e7e887d1bb54a746a5941b',
621
+ deadline: '2024-04-29T15:27:39.000Z',
622
+ auctionStartDate: '2024-04-29T15:17:27.000Z',
623
+ auctionEndDate: '2024-04-29T15:27:27.000Z',
624
+ remainingMakerAmount: '30000000000000000000',
625
+ extension: '0x000000cb0000005e0000005e0000005e0000005e0000002f0000000000000000fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b840662fb9efb09498030ae3416b66dc00007bf29735c20c566e5a0c0000950fa635aec75b30781a0000d18bd45f0b94f54a968f000076d49414ad2b8371a4220000a59ca88d5813e693528f000038700d5181a674fdb9a2000038'
626
+ }
627
+ };
628
+ var message2 = {
629
+ event: 'order_filled',
630
+ result: {
631
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4'
632
+ }
633
+ };
634
+ var messages = [
635
+ message1,
636
+ message1,
637
+ message2
638
+ ];
639
+ var expectedMessages = [
640
+ message2
641
+ ];
642
+ var _createWebsocketServerMock = createWebsocketServerMock(messages), url = _createWebsocketServerMock.url, wss = _createWebsocketServerMock.wss;
643
+ var wsSdk = new WebSocketApi({
644
+ url: url,
645
+ network: NetworkEnum.ETHEREUM,
646
+ authKey: ''
647
+ });
648
+ var resArray = [];
649
+ wsSdk.order.onOrderFilled(function(data) {
650
+ resArray.push(data);
651
+ });
652
+ wsSdk.onMessage(function() {
653
+ if (resArray.length === 1) {
654
+ expect(resArray).toEqual(expectedMessages);
655
+ wsSdk.close();
656
+ wss.close();
657
+ done();
658
+ }
659
+ });
660
+ });
661
+ it('can subscribe to order filled partially events', function(done) {
662
+ var message1 = {
663
+ event: 'order_created',
664
+ result: {
665
+ quoteId: 'b77da8b7-a4bb-4563-b917-03522aa609e3',
666
+ orderHash: '0xb9522c23c8667c5e76bf0b855ffabbaebca282f8e396d788c2df75e91a0391d2-5705f2156ef5b2db36c160b36f31ce4',
667
+ order: {
668
+ salt: '9445680545936410419330284706951757224702878670220689583677680607556412140293',
669
+ maker: '0x6edc317f3208b10c46f4ff97faa04dd632487408',
670
+ receiver: '0x0000000000000000000000000000000000000000',
671
+ makerAsset: '0x6b175474e89094c44da98b954eedeac495271d0f',
672
+ takerAsset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
673
+ makerTraits: '62419173104490761595518734106557662061518414611782227068396304425790442831872',
674
+ makingAmount: '30000000000000000000',
675
+ takingAmount: '7516665910385115'
676
+ },
677
+ signature: '0xb51731d6e62754ae75d11d13983c19b25fcc1a43fc327710a26ae291fde3d33f52dee7a4c0154256f6bb272260170128242034a89f44e7e887d1bb54a746a5941b',
678
+ deadline: '2024-04-29T15:27:39.000Z',
679
+ auctionStartDate: '2024-04-29T15:17:27.000Z',
680
+ auctionEndDate: '2024-04-29T15:27:27.000Z',
681
+ remainingMakerAmount: '30000000000000000000',
682
+ extension: '0x000000cb0000005e0000005e0000005e0000005e0000002f0000000000000000fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b840662fb9efb09498030ae3416b66dc00007bf29735c20c566e5a0c0000950fa635aec75b30781a0000d18bd45f0b94f54a968f000076d49414ad2b8371a4220000a59ca88d5813e693528f000038700d5181a674fdb9a2000038'
683
+ }
684
+ };
685
+ var message2 = {
686
+ event: 'order_filled_partially',
687
+ result: {
688
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4',
689
+ remainingMakerAmount: '57684207067582695'
690
+ }
691
+ };
692
+ var messages = [
693
+ message1,
694
+ message1,
695
+ message2
696
+ ];
697
+ var expectedMessages = [
698
+ message2
699
+ ];
700
+ var _createWebsocketServerMock = createWebsocketServerMock(messages), url = _createWebsocketServerMock.url, wss = _createWebsocketServerMock.wss;
701
+ var wsSdk = new WebSocketApi({
702
+ url: url,
703
+ network: NetworkEnum.ETHEREUM,
704
+ authKey: ''
705
+ });
706
+ var resArray = [];
707
+ wsSdk.order.onOrderFilledPartially(function(data) {
708
+ resArray.push(data);
709
+ });
710
+ wsSdk.onMessage(function() {
711
+ if (resArray.length === 1) {
712
+ expect(resArray).toEqual(expectedMessages);
713
+ wsSdk.close();
714
+ wss.close();
715
+ done();
716
+ }
717
+ });
718
+ });
719
+ it('can subscribe to order cancelled events', function(done) {
720
+ var message1 = {
721
+ event: 'order_created',
722
+ result: {
723
+ quoteId: 'b77da8b7-a4bb-4563-b917-03522aa609e3',
724
+ orderHash: '0xb9522c23c8667c5e76bf0b855ffabbaebca282f8e396d788c2df75e91a0391d2-5705f2156ef5b2db36c160b36f31ce4',
725
+ order: {
726
+ salt: '9445680545936410419330284706951757224702878670220689583677680607556412140293',
727
+ maker: '0x6edc317f3208b10c46f4ff97faa04dd632487408',
728
+ receiver: '0x0000000000000000000000000000000000000000',
729
+ makerAsset: '0x6b175474e89094c44da98b954eedeac495271d0f',
730
+ takerAsset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
731
+ makerTraits: '62419173104490761595518734106557662061518414611782227068396304425790442831872',
732
+ makingAmount: '30000000000000000000',
733
+ takingAmount: '7516665910385115'
734
+ },
735
+ signature: '0xb51731d6e62754ae75d11d13983c19b25fcc1a43fc327710a26ae291fde3d33f52dee7a4c0154256f6bb272260170128242034a89f44e7e887d1bb54a746a5941b',
736
+ deadline: '2024-04-29T15:27:39.000Z',
737
+ auctionStartDate: '2024-04-29T15:17:27.000Z',
738
+ auctionEndDate: '2024-04-29T15:27:27.000Z',
739
+ remainingMakerAmount: '30000000000000000000',
740
+ extension: '0x000000cb0000005e0000005e0000005e0000005e0000002f0000000000000000fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b84000000000000000662fba0700025829a7fd01ec57001827bba60018fb2809a5314473e1165f6b58018e20ed8f07b840662fb9efb09498030ae3416b66dc00007bf29735c20c566e5a0c0000950fa635aec75b30781a0000d18bd45f0b94f54a968f000076d49414ad2b8371a4220000a59ca88d5813e693528f000038700d5181a674fdb9a2000038'
741
+ }
742
+ };
743
+ var message2 = {
744
+ event: 'order_cancelled',
745
+ result: {
746
+ orderHash: '0x1beee023ab933cf5446c298eaddb61c0-5705f2156ef5b2db36c160b36f31ce4'
747
+ }
748
+ };
749
+ var messages = [
750
+ message1,
751
+ message1,
752
+ message2
753
+ ];
754
+ var expectedMessages = [
755
+ message2
756
+ ];
757
+ var _createWebsocketServerMock = createWebsocketServerMock(messages), url = _createWebsocketServerMock.url, wss = _createWebsocketServerMock.wss;
758
+ var wsSdk = new WebSocketApi({
759
+ url: url,
760
+ network: NetworkEnum.ETHEREUM,
761
+ authKey: ''
762
+ });
763
+ var resArray = [];
764
+ wsSdk.order.onOrderCancelled(function(data) {
765
+ resArray.push(data);
766
+ });
767
+ wsSdk.onMessage(function() {
768
+ if (resArray.length === 1) {
769
+ expect(resArray).toEqual(expectedMessages);
770
+ wsSdk.close();
771
+ wss.close();
772
+ done();
773
+ }
774
+ });
775
+ });
776
+ });
777
+ });
778
+ function createWebsocketRpcServerMock(cb) {
779
+ var port = 8080;
780
+ var returnUrl = "ws://localhost:".concat(port, "/ws");
781
+ var wss = new WebSocketServer({
782
+ port: port,
783
+ path: '/ws/v2.0/1'
784
+ });
785
+ wss.on('connection', function(ws) {
786
+ ws.on('message', function(data) {
787
+ return cb(ws, data);
788
+ });
789
+ });
790
+ return {
791
+ url: returnUrl,
792
+ wss: wss
793
+ };
794
+ }
795
+ function createWebsocketServerMock(messages) {
796
+ var port = 8080;
797
+ var returnUrl = "ws://localhost:".concat(port, "/ws");
798
+ var wss = new WebSocketServer({
799
+ port: port,
800
+ path: '/ws/v2.0/1'
801
+ });
802
+ wss.on('connection', function(ws) {
803
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
804
+ try {
805
+ for(var _iterator = messages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
806
+ var message = _step.value;
807
+ ws.send(JSON.stringify(message));
808
+ }
809
+ } catch (err) {
810
+ _didIteratorError = true;
811
+ _iteratorError = err;
812
+ } finally{
813
+ try {
814
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
815
+ _iterator.return();
816
+ }
817
+ } finally{
818
+ if (_didIteratorError) {
819
+ throw _iteratorError;
820
+ }
821
+ }
822
+ }
823
+ });
824
+ return {
825
+ url: returnUrl,
826
+ wss: wss
827
+ };
828
+ }