@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
@@ -1,44 +1,140 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FusionOrder = void 0;
4
- const tslib_1 = require("tslib");
5
- const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
6
- const assert_1 = tslib_1.__importDefault(require("assert"));
7
- const fusion_extension_1 = require("./fusion-extension");
8
- const source_track_1 = require("./source-track");
9
- const surplus_params_1 = require("./surplus-params");
10
- const auction_calculator_1 = require("../amount-calculator/auction-calculator");
11
- const constants_1 = require("../constants");
12
- const amounts_1 = require("../utils/amounts");
13
- const time_1 = require("../utils/time");
14
- const amount_calculator_1 = require("../amount-calculator/amount-calculator");
15
- class FusionOrder {
16
- constructor(settlementExtensionContract, orderInfo, auctionDetails, whitelist, surplusParams = surplus_params_1.SurplusParams.NO_FEE, extra = FusionOrder.defaultExtra, extension = new fusion_extension_1.FusionExtension(settlementExtensionContract, auctionDetails, whitelist, surplusParams, {
17
- makerPermit: extra.permit
18
- ? new limit_order_sdk_1.Interaction(orderInfo.makerAsset, extra.permit)
19
- : undefined,
20
- customReceiver: orderInfo.receiver,
21
- fees: extra?.fees
22
- })) {
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "FusionOrder", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return FusionOrder;
9
+ }
10
+ });
11
+ var _limitordersdk = require("@1inch/limit-order-sdk");
12
+ var _assert = /*#__PURE__*/ _interop_require_default(require("assert"));
13
+ var _fusionextension = require("./fusion-extension.js");
14
+ var _sourcetrack = require("./source-track.js");
15
+ var _surplusparams = require("./surplus-params.js");
16
+ var _index = require("../amount-calculator/auction-calculator/index.js");
17
+ var _constants = require("../constants.js");
18
+ var _amounts = require("../utils/amounts.js");
19
+ var _time = require("../utils/time.js");
20
+ var _amountcalculator = require("../amount-calculator/amount-calculator.js");
21
+ function _class_call_check(instance, Constructor) {
22
+ if (!(instance instanceof Constructor)) {
23
+ throw new TypeError("Cannot call a class as a function");
24
+ }
25
+ }
26
+ function _defineProperties(target, props) {
27
+ for(var i = 0; i < props.length; i++){
28
+ var descriptor = props[i];
29
+ descriptor.enumerable = descriptor.enumerable || false;
30
+ descriptor.configurable = true;
31
+ if ("value" in descriptor) descriptor.writable = true;
32
+ Object.defineProperty(target, descriptor.key, descriptor);
33
+ }
34
+ }
35
+ function _create_class(Constructor, protoProps, staticProps) {
36
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
37
+ if (staticProps) _defineProperties(Constructor, staticProps);
38
+ return Constructor;
39
+ }
40
+ function _define_property(obj, key, value) {
41
+ if (key in obj) {
42
+ Object.defineProperty(obj, key, {
43
+ value: value,
44
+ enumerable: true,
45
+ configurable: true,
46
+ writable: true
47
+ });
48
+ } else {
49
+ obj[key] = value;
50
+ }
51
+ return obj;
52
+ }
53
+ function _interop_require_default(obj) {
54
+ return obj && obj.__esModule ? obj : {
55
+ default: obj
56
+ };
57
+ }
58
+ function _object_spread(target) {
59
+ for(var i = 1; i < arguments.length; i++){
60
+ var source = arguments[i] != null ? arguments[i] : {};
61
+ var ownKeys = Object.keys(source);
62
+ if (typeof Object.getOwnPropertySymbols === "function") {
63
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
64
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
65
+ }));
66
+ }
67
+ ownKeys.forEach(function(key) {
68
+ _define_property(target, key, source[key]);
69
+ });
70
+ }
71
+ return target;
72
+ }
73
+ function ownKeys(object, enumerableOnly) {
74
+ var keys = Object.keys(object);
75
+ if (Object.getOwnPropertySymbols) {
76
+ var symbols = Object.getOwnPropertySymbols(object);
77
+ if (enumerableOnly) {
78
+ symbols = symbols.filter(function(sym) {
79
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
80
+ });
81
+ }
82
+ keys.push.apply(keys, symbols);
83
+ }
84
+ return keys;
85
+ }
86
+ function _object_spread_props(target, source) {
87
+ source = source != null ? source : {};
88
+ if (Object.getOwnPropertyDescriptors) {
89
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
90
+ } else {
91
+ ownKeys(Object(source)).forEach(function(key) {
92
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
93
+ });
94
+ }
95
+ return target;
96
+ }
97
+ var FusionOrder = /*#__PURE__*/ function() {
98
+ "use strict";
99
+ function FusionOrder(/**
100
+ * Fusion extension address
101
+ * @see https://github.com/1inch/limit-order-settlement
102
+ */ settlementExtensionContract, orderInfo, auctionDetails, whitelist) {
103
+ var surplusParams = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : _surplusparams.SurplusParams.NO_FEE, extra = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : /**
104
+ * Required if `allowPartialFills` or `allowMultipleFills` is false
105
+ */ /**
106
+ * 0x prefixed without the token address
107
+ */ /**
108
+ * Default is true
109
+ */ /**
110
+ * Default is true
111
+ */ /**
112
+ * Order will expire in `orderExpirationDelay` after auction ends
113
+ * Default 12s
114
+ */ FusionOrder.defaultExtra, extension = arguments.length > 6 && arguments[6] !== void 0 ? arguments[6] : new _fusionextension.FusionExtension(settlementExtensionContract, auctionDetails, whitelist, surplusParams, {
115
+ makerPermit: extra.permit ? new _limitordersdk.Interaction(orderInfo.makerAsset, extra.permit) : undefined,
116
+ customReceiver: orderInfo.receiver,
117
+ fees: extra === null || extra === void 0 ? void 0 : extra.fees
118
+ });
119
+ _class_call_check(this, FusionOrder);
120
+ _define_property(this, "settlementExtensionContract", void 0);
121
+ _define_property(this, "fusionExtension", void 0);
122
+ _define_property(this, "inner", void 0);
23
123
  this.settlementExtensionContract = settlementExtensionContract;
24
- const allowPartialFills = extra.allowPartialFills ??
25
- FusionOrder.defaultExtra.allowPartialFills;
26
- const allowMultipleFills = extra.allowMultipleFills ??
27
- FusionOrder.defaultExtra.allowMultipleFills;
28
- const unwrapWETH = extra.unwrapWETH ?? FusionOrder.defaultExtra.unwrapWETH;
29
- const enablePermit2 = extra.enablePermit2 ?? FusionOrder.defaultExtra.enablePermit2;
30
- const orderExpirationDelay = extra.orderExpirationDelay ??
31
- FusionOrder.defaultExtra.orderExpirationDelay;
32
- const deadline = auctionDetails.startTime +
33
- auctionDetails.duration +
34
- orderExpirationDelay;
35
- const makerTraits = limit_order_sdk_1.MakerTraits.default()
36
- .withExpiration(deadline)
37
- .setPartialFills(allowPartialFills)
38
- .setMultipleFills(allowMultipleFills)
39
- .enablePostInteraction();
124
+ var _extra_allowPartialFills;
125
+ var allowPartialFills = (_extra_allowPartialFills = extra.allowPartialFills) !== null && _extra_allowPartialFills !== void 0 ? _extra_allowPartialFills : FusionOrder.defaultExtra.allowPartialFills;
126
+ var _extra_allowMultipleFills;
127
+ var allowMultipleFills = (_extra_allowMultipleFills = extra.allowMultipleFills) !== null && _extra_allowMultipleFills !== void 0 ? _extra_allowMultipleFills : FusionOrder.defaultExtra.allowMultipleFills;
128
+ var _extra_unwrapWETH;
129
+ var unwrapWETH = (_extra_unwrapWETH = extra.unwrapWETH) !== null && _extra_unwrapWETH !== void 0 ? _extra_unwrapWETH : FusionOrder.defaultExtra.unwrapWETH;
130
+ var _extra_enablePermit2;
131
+ var enablePermit2 = (_extra_enablePermit2 = extra.enablePermit2) !== null && _extra_enablePermit2 !== void 0 ? _extra_enablePermit2 : FusionOrder.defaultExtra.enablePermit2;
132
+ var _extra_orderExpirationDelay;
133
+ var orderExpirationDelay = (_extra_orderExpirationDelay = extra.orderExpirationDelay) !== null && _extra_orderExpirationDelay !== void 0 ? _extra_orderExpirationDelay : FusionOrder.defaultExtra.orderExpirationDelay;
134
+ var deadline = auctionDetails.startTime + auctionDetails.duration + orderExpirationDelay;
135
+ var makerTraits = _limitordersdk.MakerTraits.default().withExpiration(deadline).setPartialFills(allowPartialFills).setMultipleFills(allowMultipleFills).enablePostInteraction();
40
136
  if (makerTraits.isBitInvalidatorMode()) {
41
- (0, assert_1.default)(extra.nonce !== undefined, 'Nonce required, when partial fill or multiple fill disallowed');
137
+ (0, _assert.default)(extra.nonce !== undefined, 'Nonce required, when partial fill or multiple fill disallowed');
42
138
  }
43
139
  if (unwrapWETH) {
44
140
  makerTraits.enableNativeUnwrap();
@@ -49,172 +145,379 @@ class FusionOrder {
49
145
  if (extra.nonce !== undefined) {
50
146
  makerTraits.withNonce(extra.nonce);
51
147
  }
52
- const receiver = extra.fees || !surplusParams.isZero()
53
- ? settlementExtensionContract
54
- : orderInfo.receiver;
55
- const builtExtension = extension.build();
56
- const salt = limit_order_sdk_1.LimitOrder.buildSalt(builtExtension, orderInfo.salt);
57
- const saltWithInjectedTrackCode = orderInfo.salt
58
- ? salt
59
- : (0, source_track_1.injectTrackCode)(salt, extra.source);
60
- this.inner = new limit_order_sdk_1.LimitOrder({
61
- ...orderInfo,
62
- receiver,
148
+ /**
149
+ * @see https://github.com/1inch/limit-order-settlement/blob/0afb4785cb825fe959c534ff4f1a771d4d33cdf4/contracts/extensions/IntegratorFeeExtension.sol#L65
150
+ */ var receiver = extra.fees || !surplusParams.isZero() ? settlementExtensionContract : orderInfo.receiver;
151
+ var builtExtension = extension.build();
152
+ var salt = _limitordersdk.LimitOrder.buildSalt(builtExtension, orderInfo.salt);
153
+ var saltWithInjectedTrackCode = orderInfo.salt ? salt : (0, _sourcetrack.injectTrackCode)(salt, extra.source);
154
+ this.inner = new _limitordersdk.LimitOrder(_object_spread_props(_object_spread({}, orderInfo), {
155
+ receiver: receiver,
63
156
  salt: saltWithInjectedTrackCode
64
- }, makerTraits, builtExtension);
157
+ }), makerTraits, builtExtension);
65
158
  this.fusionExtension = extension;
66
159
  }
67
- get extension() {
68
- return this.inner.extension;
69
- }
70
- get maker() {
71
- return this.inner.maker;
72
- }
73
- get takerAsset() {
74
- return this.inner.takerAsset;
75
- }
76
- get makerAsset() {
77
- return this.inner.makerAsset;
78
- }
79
- get takingAmount() {
80
- return this.inner.takingAmount;
81
- }
82
- get makingAmount() {
83
- return this.inner.makingAmount;
84
- }
85
- get realReceiver() {
86
- const hasFee = Boolean(this.fusionExtension.extra?.fees);
87
- const receiver = hasFee
88
- ? this.fusionExtension.extra?.customReceiver
89
- : this.inner.receiver;
90
- return receiver && !receiver.isZero() ? receiver : this.maker;
91
- }
92
- get receiver() {
93
- return this.inner.receiver;
94
- }
95
- get deadline() {
96
- return this.inner.makerTraits.expiration() || 0n;
97
- }
98
- get auctionStartTime() {
99
- return this.fusionExtension.auctionDetails.startTime;
100
- }
101
- get auctionEndTime() {
102
- const { startTime, duration } = this.fusionExtension.auctionDetails;
103
- return startTime + duration;
104
- }
105
- get isBitInvalidatorMode() {
106
- return this.inner.makerTraits.isBitInvalidatorMode();
107
- }
108
- get partialFillAllowed() {
109
- return this.inner.makerTraits.isPartialFillAllowed();
110
- }
111
- get multipleFillsAllowed() {
112
- return this.inner.makerTraits.isMultipleFillsAllowed();
113
- }
114
- get nonce() {
115
- return this.inner.makerTraits.nonceOrEpoch();
116
- }
117
- get salt() {
118
- return this.inner.salt;
119
- }
120
- static new(settlementExtension, orderInfo, details, extra) {
121
- return new FusionOrder(settlementExtension, orderInfo, details.auction, details.whitelist, details.surplus, extra);
122
- }
123
- static fromDataAndExtension(order, extension) {
124
- const settlementContract = limit_order_sdk_1.Address.fromFirstBytes(extension.makingAmountData);
125
- (0, assert_1.default)(limit_order_sdk_1.Address.fromFirstBytes(extension.takingAmountData).equal(settlementContract) &&
126
- limit_order_sdk_1.Address.fromFirstBytes(extension.postInteraction).equal(settlementContract), 'Invalid extension, all calls should be to the same address');
127
- const makerTraits = new limit_order_sdk_1.MakerTraits(BigInt(order.makerTraits));
128
- (0, assert_1.default)(!makerTraits.isPrivate(), 'fusion order can not be private');
129
- (0, assert_1.default)(makerTraits.hasPostInteraction(), 'post-interaction must be enabled');
130
- const { auctionDetails, whitelist, extra, surplus } = fusion_extension_1.FusionExtension.fromExtension(extension);
131
- const deadline = makerTraits.expiration();
132
- const orderExpirationDelay = deadline === null
133
- ? undefined
134
- : deadline - auctionDetails.startTime - auctionDetails.duration;
135
- return new FusionOrder(settlementContract, {
136
- salt: BigInt(order.salt) >> 160n,
137
- maker: new limit_order_sdk_1.Address(order.maker),
138
- receiver: extra?.customReceiver,
139
- makerAsset: new limit_order_sdk_1.Address(order.makerAsset),
140
- takerAsset: new limit_order_sdk_1.Address(order.takerAsset),
141
- makingAmount: BigInt(order.makingAmount),
142
- takingAmount: BigInt(order.takingAmount)
143
- }, auctionDetails, whitelist, surplus, {
144
- allowMultipleFills: makerTraits.isMultipleFillsAllowed(),
145
- allowPartialFills: makerTraits.isPartialFillAllowed(),
146
- enablePermit2: makerTraits.isPermit2(),
147
- nonce: makerTraits.nonceOrEpoch(),
148
- permit: extension.makerPermit === constants_1.ZX
149
- ? undefined
150
- : limit_order_sdk_1.Interaction.decode(extension.makerPermit).data,
151
- unwrapWETH: makerTraits.isNativeUnwrapEnabled(),
152
- orderExpirationDelay,
153
- fees: extra?.fees
154
- });
155
- }
156
- build() {
157
- return this.inner.build();
158
- }
159
- getOrderHash(chainId) {
160
- return this.inner.getOrderHash(chainId);
161
- }
162
- getTypedData(chainId) {
163
- return this.inner.getTypedData(chainId);
164
- }
165
- getCalculator() {
166
- return auction_calculator_1.AuctionCalculator.fromAuctionData(this.fusionExtension.auctionDetails);
167
- }
168
- calcTakingAmount(taker, makingAmount, time, blockBaseFee = 0n) {
169
- const takingAmount = (0, amounts_1.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
170
- return this.getAmountCalculator().getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
171
- }
172
- getUserReceiveAmount(taker, makingAmount, time, blockBaseFee = 0n) {
173
- const takingAmount = (0, amounts_1.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
174
- return this.getAmountCalculator().getUserTakingAmount(taker, makingAmount, takingAmount, this.makingAmount, time, blockBaseFee);
175
- }
176
- getSurplusFee(taker, makingAmount, time, blockBaseFee = 0n) {
177
- const takingAmount = (0, amounts_1.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
178
- return this.getAmountCalculator().getSurplusFee(taker, makingAmount, takingAmount, this.makingAmount, time, blockBaseFee);
179
- }
180
- getResolverFee(taker, time, blockBaseFee = 0n, makingAmount = this.makingAmount) {
181
- const takingAmount = (0, amounts_1.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
182
- return (this.getAmountCalculator().getResolverFee(taker, takingAmount, time, blockBaseFee) ?? 0n);
183
- }
184
- getIntegratorFee(taker, time, blockBaseFee = 0n, makingAmount = this.makingAmount) {
185
- const takingAmount = (0, amounts_1.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
186
- return (this.getAmountCalculator().getIntegratorFee(taker, takingAmount, time, blockBaseFee) ?? 0n);
187
- }
188
- getProtocolShareOfIntegratorFee(taker, time, blockBaseFee = 0n, makingAmount = this.makingAmount) {
189
- const takingAmount = (0, amounts_1.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
190
- return (this.getAmountCalculator().getProtocolShareOfIntegratorFee(taker, takingAmount, time, blockBaseFee) ?? 0n);
191
- }
192
- getProtocolFee(taker, time, blockBaseFee = 0n, makingAmount = this.makingAmount) {
193
- const takingAmount = (0, amounts_1.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
194
- return (this.getAmountCalculator().getProtocolFee(taker, takingAmount, time, blockBaseFee) ?? 0n);
195
- }
196
- canExecuteAt(executor, executionTime) {
197
- return this.fusionExtension.whitelist.canExecuteAt(executor, executionTime);
198
- }
199
- isExpiredAt(time) {
200
- return time > this.deadline;
201
- }
202
- isExclusiveResolver(wallet) {
203
- return this.fusionExtension.whitelist.isExclusiveResolver(wallet);
204
- }
205
- isExclusivityPeriod(time = (0, time_1.now)()) {
206
- return this.fusionExtension.whitelist.isExclusivityPeriod(time);
207
- }
208
- getAmountCalculator() {
209
- return amount_calculator_1.AmountCalculator.fromExtension(this.fusionExtension);
210
- }
211
- }
212
- exports.FusionOrder = FusionOrder;
213
- FusionOrder.defaultExtra = {
160
+ _create_class(FusionOrder, [
161
+ {
162
+ key: "extension",
163
+ get: function get() {
164
+ return this.inner.extension;
165
+ }
166
+ },
167
+ {
168
+ key: "maker",
169
+ get: function get() {
170
+ return this.inner.maker;
171
+ }
172
+ },
173
+ {
174
+ key: "takerAsset",
175
+ get: function get() {
176
+ return this.inner.takerAsset;
177
+ }
178
+ },
179
+ {
180
+ key: "makerAsset",
181
+ get: function get() {
182
+ return this.inner.makerAsset;
183
+ }
184
+ },
185
+ {
186
+ key: "takingAmount",
187
+ get: function get() {
188
+ return this.inner.takingAmount;
189
+ }
190
+ },
191
+ {
192
+ key: "makingAmount",
193
+ get: function get() {
194
+ return this.inner.makingAmount;
195
+ }
196
+ },
197
+ {
198
+ key: "realReceiver",
199
+ get: /**
200
+ * Returns actual receiver of funds
201
+ *
202
+ * Do not use this field to pass to order struct as it can lead to lost of funds
203
+ * For such cases use `order.receiver`
204
+ *
205
+ * @see receiver
206
+ */ function get() {
207
+ var _this_fusionExtension_extra, _this_fusionExtension_extra1;
208
+ var hasFee = Boolean((_this_fusionExtension_extra = this.fusionExtension.extra) === null || _this_fusionExtension_extra === void 0 ? void 0 : _this_fusionExtension_extra.fees);
209
+ var receiver = hasFee ? (_this_fusionExtension_extra1 = this.fusionExtension.extra) === null || _this_fusionExtension_extra1 === void 0 ? void 0 : _this_fusionExtension_extra1.customReceiver : this.inner.receiver;
210
+ return receiver && !receiver.isZero() ? receiver : this.maker;
211
+ }
212
+ },
213
+ {
214
+ key: "receiver",
215
+ get: /**
216
+ * Receiver from order struct
217
+ *
218
+ * @see realReceiver
219
+ */ function get() {
220
+ return this.inner.receiver;
221
+ }
222
+ },
223
+ {
224
+ key: "deadline",
225
+ get: /**
226
+ * Timestamp in sec
227
+ */ function get() {
228
+ return this.inner.makerTraits.expiration() || 0n;
229
+ }
230
+ },
231
+ {
232
+ key: "auctionStartTime",
233
+ get: /**
234
+ * Timestamp in sec
235
+ */ function get() {
236
+ return this.fusionExtension.auctionDetails.startTime;
237
+ }
238
+ },
239
+ {
240
+ key: "auctionEndTime",
241
+ get: /**
242
+ * Timestamp in sec
243
+ */ function get() {
244
+ var _this_fusionExtension_auctionDetails = this.fusionExtension.auctionDetails, startTime = _this_fusionExtension_auctionDetails.startTime, duration = _this_fusionExtension_auctionDetails.duration;
245
+ return startTime + duration;
246
+ }
247
+ },
248
+ {
249
+ key: "isBitInvalidatorMode",
250
+ get: function get() {
251
+ return this.inner.makerTraits.isBitInvalidatorMode();
252
+ }
253
+ },
254
+ {
255
+ key: "partialFillAllowed",
256
+ get: function get() {
257
+ return this.inner.makerTraits.isPartialFillAllowed();
258
+ }
259
+ },
260
+ {
261
+ key: "multipleFillsAllowed",
262
+ get: function get() {
263
+ return this.inner.makerTraits.isMultipleFillsAllowed();
264
+ }
265
+ },
266
+ {
267
+ key: "nonce",
268
+ get: function get() {
269
+ return this.inner.makerTraits.nonceOrEpoch();
270
+ }
271
+ },
272
+ {
273
+ key: "salt",
274
+ get: function get() {
275
+ return this.inner.salt;
276
+ }
277
+ },
278
+ {
279
+ key: "build",
280
+ value: function build() {
281
+ return this.inner.build();
282
+ }
283
+ },
284
+ {
285
+ key: "getOrderHash",
286
+ value: function getOrderHash(chainId) {
287
+ return this.inner.getOrderHash(chainId);
288
+ }
289
+ },
290
+ {
291
+ key: "getTypedData",
292
+ value: function getTypedData(chainId) {
293
+ return this.inner.getTypedData(chainId);
294
+ }
295
+ },
296
+ {
297
+ key: "getCalculator",
298
+ value: function getCalculator() {
299
+ return _index.AuctionCalculator.fromAuctionData(this.fusionExtension.auctionDetails);
300
+ }
301
+ },
302
+ {
303
+ key: "calcTakingAmount",
304
+ value: /**
305
+ * Calculates required taking amount for passed `makingAmount` at block time `time`
306
+ *
307
+ * @param taker address who fill order
308
+ * @param time execution time in sec
309
+ * @param blockBaseFee block fee in wei.
310
+ * @param makingAmount maker swap amount
311
+ * */ function calcTakingAmount(taker, makingAmount, time) {
312
+ var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
313
+ var takingAmount = (0, _amounts.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
314
+ return this.getAmountCalculator().getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
315
+ }
316
+ },
317
+ {
318
+ key: "getUserReceiveAmount",
319
+ value: /**
320
+ * How much user will receive in taker asset
321
+ *
322
+ * @param taker who will fill order
323
+ * @param makingAmount maker swap amount
324
+ * @param time block time at which order will be filled
325
+ * @param blockBaseFee base fee of block at which order will be filled
326
+ */ function getUserReceiveAmount(taker, makingAmount, time) {
327
+ var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
328
+ var takingAmount = (0, _amounts.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
329
+ return this.getAmountCalculator().getUserTakingAmount(taker, makingAmount, takingAmount, this.makingAmount, time, blockBaseFee);
330
+ }
331
+ },
332
+ {
333
+ key: "getSurplusFee",
334
+ value: /**
335
+ * How much surplus will be shared with protocol
336
+ *
337
+ * @param taker who will fill order
338
+ * @param makingAmount maker swap amount
339
+ * @param time block time at which order will be filled
340
+ * @param blockBaseFee base fee of block at which order will be filled
341
+ */ function getSurplusFee(taker, makingAmount, time) {
342
+ var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
343
+ var takingAmount = (0, _amounts.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
344
+ return this.getAmountCalculator().getSurplusFee(taker, makingAmount, takingAmount, this.makingAmount, time, blockBaseFee);
345
+ }
346
+ },
347
+ {
348
+ key: "getResolverFee",
349
+ value: /**
350
+ * Fee in `takerAsset` which resolver pays to resolver fee receiver
351
+ *
352
+ * @param taker who will fill order
353
+ * @param makingAmount maker swap amount
354
+ * @param time block time at which order will be filled
355
+ * @param blockBaseFee base fee of block at which order will be filled
356
+ */ function getResolverFee(taker, time) {
357
+ var blockBaseFee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0n, makingAmount = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : this.makingAmount;
358
+ var takingAmount = (0, _amounts.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
359
+ var _this_getAmountCalculator_getResolverFee;
360
+ return (_this_getAmountCalculator_getResolverFee = this.getAmountCalculator().getResolverFee(taker, takingAmount, time, blockBaseFee)) !== null && _this_getAmountCalculator_getResolverFee !== void 0 ? _this_getAmountCalculator_getResolverFee : 0n;
361
+ }
362
+ },
363
+ {
364
+ key: "getIntegratorFee",
365
+ value: /**
366
+ * Fee in `takerAsset` which integrator gets to integrator wallet
367
+ *
368
+ * @param taker who will fill order
369
+ * @param makingAmount maker swap amount
370
+ * @param time block time at which order will be filled
371
+ * @param blockBaseFee base fee of block at which order will be filled
372
+ */ function getIntegratorFee(taker, time) {
373
+ var blockBaseFee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0n, makingAmount = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : this.makingAmount;
374
+ var takingAmount = (0, _amounts.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
375
+ var _this_getAmountCalculator_getIntegratorFee;
376
+ return (_this_getAmountCalculator_getIntegratorFee = this.getAmountCalculator().getIntegratorFee(taker, takingAmount, time, blockBaseFee)) !== null && _this_getAmountCalculator_getIntegratorFee !== void 0 ? _this_getAmountCalculator_getIntegratorFee : 0n;
377
+ }
378
+ },
379
+ {
380
+ key: "getProtocolShareOfIntegratorFee",
381
+ value: /**
382
+ * Fee in `takerAsset` which protocol gets as share from integrator fee
383
+ *
384
+ * @param taker who will fill order
385
+ * @param makingAmount maker swap amount
386
+ * @param time block time at which order will be filled
387
+ * @param blockBaseFee base fee of block at which order will be filled
388
+ */ function getProtocolShareOfIntegratorFee(taker, time) {
389
+ var blockBaseFee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0n, makingAmount = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : this.makingAmount;
390
+ var takingAmount = (0, _amounts.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
391
+ var _this_getAmountCalculator_getProtocolShareOfIntegratorFee;
392
+ return (_this_getAmountCalculator_getProtocolShareOfIntegratorFee = this.getAmountCalculator().getProtocolShareOfIntegratorFee(taker, takingAmount, time, blockBaseFee)) !== null && _this_getAmountCalculator_getProtocolShareOfIntegratorFee !== void 0 ? _this_getAmountCalculator_getProtocolShareOfIntegratorFee : 0n;
393
+ }
394
+ },
395
+ {
396
+ key: "getProtocolFee",
397
+ value: /**
398
+ * Fee in `takerAsset` which protocol gets
399
+ * It equals to `share from integrator fee plus resolver fee`
400
+ *
401
+ * @param taker who will fill order
402
+ * @param makingAmount maker swap amount
403
+ * @param time block time at which order will be filled
404
+ * @param blockBaseFee base fee of block at which order will be filled
405
+ */ function getProtocolFee(taker, time) {
406
+ var blockBaseFee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0n, makingAmount = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : this.makingAmount;
407
+ var takingAmount = (0, _amounts.calcTakingAmount)(makingAmount, this.makingAmount, this.takingAmount);
408
+ var _this_getAmountCalculator_getProtocolFee;
409
+ return (_this_getAmountCalculator_getProtocolFee = this.getAmountCalculator().getProtocolFee(taker, takingAmount, time, blockBaseFee)) !== null && _this_getAmountCalculator_getProtocolFee !== void 0 ? _this_getAmountCalculator_getProtocolFee : 0n;
410
+ }
411
+ },
412
+ {
413
+ key: "canExecuteAt",
414
+ value: /**
415
+ * Check whether address allowed to execute order at the given time
416
+ *
417
+ * @param executor address of executor
418
+ * @param executionTime timestamp in sec at which order planning to execute
419
+ */ function canExecuteAt(executor, executionTime) {
420
+ return this.fusionExtension.whitelist.canExecuteAt(executor, executionTime);
421
+ }
422
+ },
423
+ {
424
+ key: "isExpiredAt",
425
+ value: /**
426
+ * Check is order expired at a given time
427
+ *
428
+ * @param time timestamp in seconds
429
+ */ function isExpiredAt(time) {
430
+ return time > this.deadline;
431
+ }
432
+ },
433
+ {
434
+ key: "isExclusiveResolver",
435
+ value: /**
436
+ * Check if `wallet` can fill order before other
437
+ */ function isExclusiveResolver(wallet) {
438
+ return this.fusionExtension.whitelist.isExclusiveResolver(wallet);
439
+ }
440
+ },
441
+ {
442
+ key: "isExclusivityPeriod",
443
+ value: /**
444
+ * Check if the auction has exclusive resolver, and it is in the exclusivity period
445
+ */ function isExclusivityPeriod() {
446
+ var time = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (0, _time.now)();
447
+ return this.fusionExtension.whitelist.isExclusivityPeriod(time);
448
+ }
449
+ },
450
+ {
451
+ key: "getAmountCalculator",
452
+ value: function getAmountCalculator() {
453
+ return _amountcalculator.AmountCalculator.fromExtension(this.fusionExtension);
454
+ }
455
+ }
456
+ ], [
457
+ {
458
+ key: "new",
459
+ value: function _new(/**
460
+ * Fusion extension address
461
+ * @see https://github.com/1inch/limit-order-settlement
462
+ */ settlementExtension, orderInfo, details, extra) /**
463
+ * Required if `allowPartialFills` or `allowMultipleFills` is false
464
+ * Max size is 40bit
465
+ */ /**
466
+ * Default is true
467
+ */ /**
468
+ * Default is true
469
+ */ /**
470
+ * Order will expire in `orderExpirationDelay` after auction ends
471
+ * Default 12s
472
+ */ {
473
+ return new FusionOrder(settlementExtension, orderInfo, details.auction, details.whitelist, details.surplus, extra);
474
+ }
475
+ },
476
+ {
477
+ key: "fromDataAndExtension",
478
+ value: /**
479
+ * Create FusionOrder from order data and extension
480
+ *
481
+ */ function fromDataAndExtension(order, extension) {
482
+ var settlementContract = _limitordersdk.Address.fromFirstBytes(extension.makingAmountData);
483
+ (0, _assert.default)(_limitordersdk.Address.fromFirstBytes(extension.takingAmountData).equal(settlementContract) && _limitordersdk.Address.fromFirstBytes(extension.postInteraction).equal(settlementContract), 'Invalid extension, all calls should be to the same address');
484
+ var makerTraits = new _limitordersdk.MakerTraits(BigInt(order.makerTraits));
485
+ (0, _assert.default)(!makerTraits.isPrivate(), 'fusion order can not be private');
486
+ (0, _assert.default)(makerTraits.hasPostInteraction(), 'post-interaction must be enabled');
487
+ var _FusionExtension_fromExtension = _fusionextension.FusionExtension.fromExtension(extension), auctionDetails = _FusionExtension_fromExtension.auctionDetails, whitelist = _FusionExtension_fromExtension.whitelist, extra = _FusionExtension_fromExtension.extra, surplus = _FusionExtension_fromExtension.surplus;
488
+ var deadline = makerTraits.expiration();
489
+ var orderExpirationDelay = deadline === null ? undefined : deadline - auctionDetails.startTime - auctionDetails.duration;
490
+ var providedSalt = BigInt(order.salt);
491
+ var fusionOrder = new FusionOrder(settlementContract, {
492
+ // shift because of how LimitOrder.buildSalt works
493
+ salt: providedSalt >> 160n,
494
+ maker: new _limitordersdk.Address(order.maker),
495
+ receiver: extra === null || extra === void 0 ? void 0 : extra.customReceiver,
496
+ makerAsset: new _limitordersdk.Address(order.makerAsset),
497
+ takerAsset: new _limitordersdk.Address(order.takerAsset),
498
+ makingAmount: BigInt(order.makingAmount),
499
+ takingAmount: BigInt(order.takingAmount)
500
+ }, auctionDetails, whitelist, surplus, {
501
+ allowMultipleFills: makerTraits.isMultipleFillsAllowed(),
502
+ allowPartialFills: makerTraits.isPartialFillAllowed(),
503
+ enablePermit2: makerTraits.isPermit2(),
504
+ nonce: makerTraits.nonceOrEpoch(),
505
+ permit: extension.makerPermit === _constants.ZX ? undefined : _limitordersdk.Interaction.decode(extension.makerPermit).data,
506
+ unwrapWETH: makerTraits.isNativeUnwrapEnabled(),
507
+ orderExpirationDelay: orderExpirationDelay,
508
+ fees: extra === null || extra === void 0 ? void 0 : extra.fees
509
+ });
510
+ (0, _assert.default)(providedSalt === fusionOrder.salt, 'invalid salt for passed extension');
511
+ return fusionOrder;
512
+ }
513
+ }
514
+ ]);
515
+ return FusionOrder;
516
+ }();
517
+ _define_property(FusionOrder, "defaultExtra", {
214
518
  allowPartialFills: true,
215
519
  allowMultipleFills: true,
216
520
  unwrapWETH: false,
217
521
  enablePermit2: false,
218
522
  orderExpirationDelay: 12n
219
- };
220
- //# sourceMappingURL=fusion-order.js.map
523
+ });