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