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