@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,85 +1,281 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AmountCalculator = void 0;
4
- const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
5
- const fee_taker_1 = require("@1inch/limit-order-sdk/extensions/fee-taker");
6
- const auction_calculator_1 = require("./auction-calculator");
7
- const fusion_order_1 = require("../fusion-order");
8
- class AmountCalculator {
9
- constructor(auctionCalculator, feeCalculator, surplus = fusion_order_1.SurplusParams.NO_FEE) {
10
- this.auctionCalculator = auctionCalculator;
11
- this.feeCalculator = feeCalculator;
12
- this.surplus = surplus;
13
- }
14
- static fromExtension(ext) {
15
- return new AmountCalculator(auction_calculator_1.AuctionCalculator.fromAuctionData(ext.auctionDetails), ext.extra?.fees
16
- ? new limit_order_sdk_1.FeeTakerExt.FeeCalculator(ext.extra?.fees, ext.whitelist)
17
- : undefined, ext.surplus);
18
- }
19
- static calcAuctionTakingAmount(baseTakingAmount, rate, fee = limit_order_sdk_1.Bps.ZERO) {
20
- const withoutFee = auction_calculator_1.AuctionCalculator.calcAuctionTakingAmount(baseTakingAmount, rate);
21
- if (fee.isZero()) {
22
- return withoutFee;
23
- }
24
- const numerator = fee_taker_1.Fees.BASE_1E5 + BigInt(fee.toFraction(fee_taker_1.Fees.BASE_1E5));
25
- return (withoutFee * numerator) / fee_taker_1.Fees.BASE_1E5;
26
- }
27
- static extractFeeAmount(requiredTakingAmount, fee) {
28
- return (requiredTakingAmount -
29
- (0, limit_order_sdk_1.mulDiv)(requiredTakingAmount, fee_taker_1.Fees.BASE_1E5, fee_taker_1.Fees.BASE_1E5 + BigInt(fee.toFraction(fee_taker_1.Fees.BASE_1E5)), limit_order_sdk_1.Rounding.Ceil));
30
- }
31
- getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee = 0n) {
32
- const withFee = this.feeCalculator?.getTakingAmount(taker, takingAmount) ??
33
- takingAmount;
34
- return this.getAuctionBumpedAmount(withFee, time, blockBaseFee);
35
- }
36
- getRequiredMakingAmount(taker, makingAmount, time, blockBaseFee = 0n) {
37
- const withFee = this.feeCalculator?.getMakingAmount(taker, makingAmount) ??
38
- makingAmount;
39
- const rateBump = this.auctionCalculator.calcRateBump(time, blockBaseFee);
40
- return auction_calculator_1.AuctionCalculator.calcAuctionMakingAmount(withFee, rateBump);
41
- }
42
- getTotalFee(taker, takingAmount, time, blockBaseFee = 0n) {
43
- return (this.getIntegratorFee(taker, takingAmount, time, blockBaseFee) +
44
- this.getProtocolFee(taker, takingAmount, time, blockBaseFee));
45
- }
46
- getUserTakingAmount(taker, makingAmount, takingAmount, orderMakingAmount, time, blockBaseFee = 0n) {
47
- const whole = this.getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
48
- const preSurplus = whole - this.getTotalFee(taker, takingAmount, time, blockBaseFee);
49
- const surplusFee = this._getSurplusFee(preSurplus, makingAmount, orderMakingAmount);
50
- return preSurplus - surplusFee;
51
- }
52
- getSurplusFee(taker, makingAmount, takingAmount, orderMakingAmount, time, blockBaseFee = 0n) {
53
- const whole = this.getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
54
- const preSurplus = whole - this.getTotalFee(taker, takingAmount, time, blockBaseFee);
55
- return this._getSurplusFee(preSurplus, makingAmount, orderMakingAmount);
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "AmountCalculator", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return AmountCalculator;
56
9
  }
57
- getResolverFee(taker, takingAmount, time, blockBaseFee = 0n) {
58
- return (this.feeCalculator?.getResolverFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
10
+ });
11
+ var _limitordersdk = require("@1inch/limit-order-sdk");
12
+ var _index = require("./auction-calculator/index.js");
13
+ var _index1 = require("../fusion-order/index.js");
14
+ var _index2 = require("../fusion-order/fees/index.js");
15
+ function _class_call_check(instance, Constructor) {
16
+ if (!(instance instanceof Constructor)) {
17
+ throw new TypeError("Cannot call a class as a function");
59
18
  }
60
- getIntegratorFee(taker, takingAmount, time, blockBaseFee = 0n) {
61
- return (this.feeCalculator?.getIntegratorFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
19
+ }
20
+ function _defineProperties(target, props) {
21
+ for(var i = 0; i < props.length; i++){
22
+ var descriptor = props[i];
23
+ descriptor.enumerable = descriptor.enumerable || false;
24
+ descriptor.configurable = true;
25
+ if ("value" in descriptor) descriptor.writable = true;
26
+ Object.defineProperty(target, descriptor.key, descriptor);
62
27
  }
63
- getProtocolShareOfIntegratorFee(taker, takingAmount, time, blockBaseFee = 0n) {
64
- return (this.feeCalculator?.getProtocolShareOfIntegratorFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
28
+ }
29
+ function _create_class(Constructor, protoProps, staticProps) {
30
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
31
+ if (staticProps) _defineProperties(Constructor, staticProps);
32
+ return Constructor;
33
+ }
34
+ function _define_property(obj, key, value) {
35
+ if (key in obj) {
36
+ Object.defineProperty(obj, key, {
37
+ value: value,
38
+ enumerable: true,
39
+ configurable: true,
40
+ writable: true
41
+ });
42
+ } else {
43
+ obj[key] = value;
65
44
  }
66
- getProtocolFee(taker, takingAmount, time, blockBaseFee = 0n) {
67
- return (this.feeCalculator?.getProtocolFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
45
+ return obj;
46
+ }
47
+ /**
48
+ * Calculates fees/amount with accounting to auction
49
+ *
50
+ * @see FusionOrder
51
+ */ var AmountCalculator = /*#__PURE__*/ function() {
52
+ "use strict";
53
+ function AmountCalculator(auctionCalculator, feeCalculator) {
54
+ var surplus = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : _index1.SurplusParams.NO_FEE;
55
+ _class_call_check(this, AmountCalculator);
56
+ _define_property(this, "auctionCalculator", void 0);
57
+ _define_property(this, "feeCalculator", void 0);
58
+ _define_property(this, "surplus", void 0);
59
+ this.auctionCalculator = auctionCalculator;
60
+ this.feeCalculator = feeCalculator;
61
+ this.surplus = surplus;
68
62
  }
69
- _getSurplusFee(userTakingAmount, makingAmount, orderMakingAmount) {
70
- const estimatedTakingAmount = (0, limit_order_sdk_1.mulDiv)(this.surplus.estimatedTakerAmount, makingAmount, orderMakingAmount);
71
- if (userTakingAmount > estimatedTakingAmount) {
72
- const surplusFee = ((userTakingAmount - estimatedTakingAmount) *
73
- BigInt(this.surplus.protocolFee.toPercent())) /
74
- 100n;
75
- return surplusFee;
63
+ _create_class(AmountCalculator, [
64
+ {
65
+ key: "getRequiredTakingAmount",
66
+ value: /**
67
+ * Returns adjusted taking amount with included fees and auction bump
68
+ *
69
+ * @param taker address which fill order
70
+ * @param takingAmount base taking amount without auction and fee
71
+ * @param time block time at which order will be filled
72
+ * @param blockBaseFee base fee of block at which order will be filled
73
+ */ function getRequiredTakingAmount(taker, takingAmount, time) {
74
+ var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
75
+ var _this_feeCalculator;
76
+ var _this_feeCalculator_getTakingAmount;
77
+ var withFee = (_this_feeCalculator_getTakingAmount = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getTakingAmount(taker, takingAmount)) !== null && _this_feeCalculator_getTakingAmount !== void 0 ? _this_feeCalculator_getTakingAmount : takingAmount;
78
+ return this.getAuctionBumpedAmount(withFee, time, blockBaseFee);
79
+ }
80
+ },
81
+ {
82
+ key: "getRequiredMakingAmount",
83
+ value: /**
84
+ * Returns adjusted making amount with accounting of fees and auction bump
85
+ *
86
+ * @param taker address which fill order
87
+ * @param makingAmount base making amount without auction and fee
88
+ * @param time block time at which order will be filled
89
+ * @param blockBaseFee base fee of block at which order will be filled
90
+ */ function getRequiredMakingAmount(taker, makingAmount, time) {
91
+ var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
92
+ var _this_feeCalculator;
93
+ var _this_feeCalculator_getMakingAmount;
94
+ var withFee = (_this_feeCalculator_getMakingAmount = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getMakingAmount(taker, makingAmount)) !== null && _this_feeCalculator_getMakingAmount !== void 0 ? _this_feeCalculator_getMakingAmount : makingAmount;
95
+ var rateBump = this.auctionCalculator.calcRateBump(time, blockBaseFee);
96
+ return _index.AuctionCalculator.calcAuctionMakingAmount(withFee, rateBump);
97
+ }
98
+ },
99
+ {
100
+ key: "getTotalFee",
101
+ value: /**
102
+ * Returns total fee = integrator + protocol
103
+ *
104
+ * @param taker
105
+ * @param takingAmount base taking amount without auction and fee
106
+ * @param time block time at which order will be filled
107
+ * @param blockBaseFee base fee of block at which order will be filled
108
+ */ function getTotalFee(taker, takingAmount, time) {
109
+ var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
110
+ return this.getIntegratorFee(taker, takingAmount, time, blockBaseFee) + this.getProtocolFee(taker, takingAmount, time, blockBaseFee);
111
+ }
112
+ },
113
+ {
114
+ key: "getUserTakingAmount",
115
+ value: /**
116
+ * Returns amount which will receive user
117
+ *
118
+ * @param taker
119
+ * @param makingAmount amount to be filled
120
+ * @param takingAmount base taking amount without auction and fee
121
+ * @param orderMakingAmount full order making amount
122
+ * @param time block time at which order will be filled
123
+ * @param blockBaseFee base fee of block at which order will be filled
124
+ */ function getUserTakingAmount(taker, makingAmount, takingAmount, orderMakingAmount, time) {
125
+ var blockBaseFee = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0n;
126
+ var whole = this.getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
127
+ var preSurplus = whole - this.getTotalFee(taker, takingAmount, time, blockBaseFee);
128
+ var surplusFee = this._getSurplusFee(preSurplus, makingAmount, orderMakingAmount);
129
+ return preSurplus - surplusFee;
130
+ }
131
+ },
132
+ {
133
+ key: "getSurplusFee",
134
+ value: /**
135
+ * Returns amount in taker asset which sent to protocol as part of surplus share
136
+ *
137
+ * @param taker
138
+ * @param makingAmount amount to be filled
139
+ * @param takingAmount base taking amount without auction and fee
140
+ * @param orderMakingAmount full order making amount
141
+ * @param time block time at which order will be filled
142
+ * @param blockBaseFee base fee of block at which order will be filled
143
+ */ function getSurplusFee(taker, makingAmount, takingAmount, orderMakingAmount, time) {
144
+ var blockBaseFee = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0n;
145
+ var whole = this.getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
146
+ var preSurplus = whole - this.getTotalFee(taker, takingAmount, time, blockBaseFee);
147
+ return this._getSurplusFee(preSurplus, makingAmount, orderMakingAmount);
148
+ }
149
+ },
150
+ {
151
+ key: "getResolverFee",
152
+ value: /**
153
+ * Fee in `takerAsset` which resolver pays to resolver fee receiver
154
+ *
155
+ * @param taker who will fill order
156
+ * @param takingAmount taking amount to calculate fee from, must be without fees/auction adjustments
157
+ * @param time block time at which order will be filled
158
+ * @param blockBaseFee base fee of block at which order will be filled
159
+ */ function getResolverFee(taker, takingAmount, time) {
160
+ var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
161
+ var _this_feeCalculator;
162
+ var _this_feeCalculator_getResolverFee;
163
+ return (_this_feeCalculator_getResolverFee = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getResolverFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee))) !== null && _this_feeCalculator_getResolverFee !== void 0 ? _this_feeCalculator_getResolverFee : 0n;
164
+ }
165
+ },
166
+ {
167
+ key: "getIntegratorFee",
168
+ value: /**
169
+ * Fee in `takerAsset` which integrator gets to integrator wallet
170
+ *
171
+ * @param taker who will fill order
172
+ * @param takingAmount taking amount to calculate fee from, must be without fees/auction adjustments
173
+ * @param time block time at which order will be filled
174
+ * @param blockBaseFee base fee of block at which order will be filled
175
+ */ function getIntegratorFee(taker, takingAmount, time) {
176
+ var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
177
+ var _this_feeCalculator;
178
+ var _this_feeCalculator_getIntegratorFee;
179
+ return (_this_feeCalculator_getIntegratorFee = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getIntegratorFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee))) !== null && _this_feeCalculator_getIntegratorFee !== void 0 ? _this_feeCalculator_getIntegratorFee : 0n;
180
+ }
181
+ },
182
+ {
183
+ key: "getProtocolShareOfIntegratorFee",
184
+ value: /**
185
+ * Fee in `takerAsset` which protocol gets as share from integrator fee
186
+ *
187
+ * @param taker who will fill order
188
+ * @param takingAmount taking amount to calculate fee from, must be without fees/auction adjustments
189
+ * @param time block time at which order will be filled
190
+ * @param blockBaseFee base fee of block at which order will be filled
191
+ */ function getProtocolShareOfIntegratorFee(taker, takingAmount, time) {
192
+ var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
193
+ var _this_feeCalculator;
194
+ var _this_feeCalculator_getProtocolShareOfIntegratorFee;
195
+ return (_this_feeCalculator_getProtocolShareOfIntegratorFee = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getProtocolShareOfIntegratorFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee))) !== null && _this_feeCalculator_getProtocolShareOfIntegratorFee !== void 0 ? _this_feeCalculator_getProtocolShareOfIntegratorFee : 0n;
196
+ }
197
+ },
198
+ {
199
+ key: "getProtocolFee",
200
+ value: /**
201
+ * Fee in `takerAsset` which protocol gets
202
+ * It equals to `share from integrator fee plus resolver fee`
203
+ *
204
+ * @param taker who will fill order
205
+ * @param takingAmount taking amount to calculate fee from, must be without fees/auction adjustments
206
+ * @param time block time at which order will be filled
207
+ * @param blockBaseFee base fee of block at which order will be filled
208
+ */ function getProtocolFee(taker, takingAmount, time) {
209
+ var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
210
+ var _this_feeCalculator;
211
+ var _this_feeCalculator_getProtocolFee;
212
+ return (_this_feeCalculator_getProtocolFee = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getProtocolFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee))) !== null && _this_feeCalculator_getProtocolFee !== void 0 ? _this_feeCalculator_getProtocolFee : 0n;
213
+ }
214
+ },
215
+ {
216
+ key: "_getSurplusFee",
217
+ value: /**
218
+ * Calculates surplus fee. It will be sent to the same address as `protocolFee`
219
+ *
220
+ * @param userTakingAmount how much user would receive without surplus
221
+ * @param makingAmount making amount to be filled
222
+ * @param orderMakingAmount full order making amount
223
+ */ function _getSurplusFee(userTakingAmount, makingAmount, orderMakingAmount) {
224
+ var estimatedTakingAmount = (0, _limitordersdk.mulDiv)(this.surplus.estimatedTakerAmount, makingAmount, orderMakingAmount);
225
+ if (userTakingAmount > estimatedTakingAmount) {
226
+ var surplusFee = (userTakingAmount - estimatedTakingAmount) * BigInt(this.surplus.protocolFee.toPercent()) / 100n;
227
+ return surplusFee;
228
+ }
229
+ return 0n;
230
+ }
231
+ },
232
+ {
233
+ key: "getAuctionBumpedAmount",
234
+ value: function getAuctionBumpedAmount(takingAmount, time) {
235
+ var blockBaseFee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0n;
236
+ var rateBump = this.auctionCalculator.calcRateBump(time, blockBaseFee);
237
+ return _index.AuctionCalculator.calcAuctionTakingAmount(takingAmount, rateBump);
238
+ }
76
239
  }
77
- return 0n;
78
- }
79
- getAuctionBumpedAmount(takingAmount, time, blockBaseFee = 0n) {
80
- const rateBump = this.auctionCalculator.calcRateBump(time, blockBaseFee);
81
- return auction_calculator_1.AuctionCalculator.calcAuctionTakingAmount(takingAmount, rateBump);
82
- }
83
- }
84
- exports.AmountCalculator = AmountCalculator;
85
- //# sourceMappingURL=amount-calculator.js.map
240
+ ], [
241
+ {
242
+ key: "fromExtension",
243
+ value: function fromExtension(ext) {
244
+ var _ext_extra, _ext_extra1;
245
+ return new AmountCalculator(_index.AuctionCalculator.fromAuctionData(ext.auctionDetails), ((_ext_extra = ext.extra) === null || _ext_extra === void 0 ? void 0 : _ext_extra.fees) ? new _limitordersdk.FeeTakerExt.FeeCalculator((_ext_extra1 = ext.extra) === null || _ext_extra1 === void 0 ? void 0 : _ext_extra1.fees, ext.whitelist) : undefined, ext.surplus);
246
+ }
247
+ },
248
+ {
249
+ key: "calcAuctionTakingAmount",
250
+ value: /**
251
+ * Returns amount with applied rate bump and fees
252
+ *
253
+ * @param baseTakingAmount base amount to apply bump to
254
+ * @param rate auction rate bump
255
+ * @param fee all fees applied to amount
256
+ *
257
+ * @see AuctionCalculator.calcInitialRateBump
258
+ */ function calcAuctionTakingAmount(baseTakingAmount, rate) {
259
+ var fee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : _limitordersdk.Bps.ZERO;
260
+ var withoutFee = _index.AuctionCalculator.calcAuctionTakingAmount(baseTakingAmount, rate);
261
+ if (fee.isZero()) {
262
+ return withoutFee;
263
+ }
264
+ var numerator = _index2.Fees.BASE_1E5 + BigInt(fee.toFraction(_index2.Fees.BASE_1E5));
265
+ return withoutFee * numerator / _index2.Fees.BASE_1E5;
266
+ }
267
+ },
268
+ {
269
+ key: "extractFeeAmount",
270
+ value: /**
271
+ * Return fee amount in taker asset which is included in `requiredTakingAmount`
272
+ *
273
+ * @param requiredTakingAmount must already contain fee
274
+ * @param fee to extract
275
+ */ function extractFeeAmount(requiredTakingAmount, fee) {
276
+ return requiredTakingAmount - (0, _limitordersdk.mulDiv)(requiredTakingAmount, _index2.Fees.BASE_1E5, _index2.Fees.BASE_1E5 + BigInt(fee.toFraction(_index2.Fees.BASE_1E5)), _limitordersdk.Rounding.Ceil);
277
+ }
278
+ }
279
+ ]);
280
+ return AmountCalculator;
281
+ }();
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ var _limitordersdk = require("@1inch/limit-order-sdk");
6
+ var _amountcalculator = require("./amount-calculator.js");
7
+ var _index = require("./auction-calculator/index.js");
8
+ var _index1 = require("../fusion-order/index.js");
9
+ var _time = require("../utils/time.js");
10
+ var _index2 = require("../fusion-order/fees/index.js");
11
+ describe('AmountCalculator', function() {
12
+ it('should correct extract fee', function() {
13
+ var integratorFeeBps = new _limitordersdk.Bps(6n);
14
+ // 60% from 10bps
15
+ var calculator = new _amountcalculator.AmountCalculator(new _index.AuctionCalculator(1738650250n, 180n, 1218519n, [
16
+ {
17
+ coefficient: 609353,
18
+ delay: 180
19
+ }
20
+ ], {
21
+ gasBumpEstimate: 609353n,
22
+ gasPriceEstimate: 1526n
23
+ }), new _limitordersdk.FeeTakerExt.FeeCalculator(_index2.Fees.integratorFee(new _index2.IntegratorFee(new _limitordersdk.Address('0x8e097e5e0493de033270a01b324caf31f464dc67'), new _limitordersdk.Address('0x90cbe4bdd538d6e9b379bff5fe72c3d67a521de5'), new _limitordersdk.Bps(10n), new _limitordersdk.Bps(6000n))), _index1.Whitelist.new(1738650226n, [
24
+ {
25
+ address: _limitordersdk.Address.fromBigInt(1n),
26
+ allowFrom: 0n
27
+ }
28
+ ])));
29
+ var takingAmount = 100000n;
30
+ var requiredTakingAmount = calculator.getRequiredTakingAmount(_limitordersdk.Address.ZERO_ADDRESS, takingAmount, (0, _time.now)(), 10n);
31
+ var integratorFee = calculator.getIntegratorFee(_limitordersdk.Address.ZERO_ADDRESS, takingAmount, (0, _time.now)(), 10n);
32
+ expect(_amountcalculator.AmountCalculator.extractFeeAmount(requiredTakingAmount, integratorFeeBps)).toEqual(integratorFee);
33
+ });
34
+ it('should apply surplus', function() {
35
+ var startTime = 1738650250n;
36
+ var execTime = startTime + 180n;
37
+ // end of auction
38
+ var auction = new _index.AuctionCalculator(startTime, 180n, 1218519n, [
39
+ {
40
+ coefficient: 609353,
41
+ delay: 180
42
+ }
43
+ ], {
44
+ gasBumpEstimate: 609353n,
45
+ gasPriceEstimate: 1526n
46
+ });
47
+ var taker = _limitordersdk.Address.fromBigInt(1n);
48
+ var feeCalculator = new _limitordersdk.FeeTakerExt.FeeCalculator(_index2.Fees.integratorFee(new _index2.IntegratorFee(new _limitordersdk.Address('0x8e097e5e0493de033270a01b324caf31f464dc67'), new _limitordersdk.Address('0x90cbe4bdd538d6e9b379bff5fe72c3d67a521de5'), new _limitordersdk.Bps(10n), new _limitordersdk.Bps(6000n))), _index1.Whitelist.new(1738650226n, [
49
+ {
50
+ address: taker,
51
+ allowFrom: 0n
52
+ }
53
+ ]));
54
+ var calculatorNoSurplusFee = new _amountcalculator.AmountCalculator(auction, feeCalculator);
55
+ var takingAmount = 100000n;
56
+ var makingAmount = 1000n;
57
+ var surplus = takingAmount / 3n;
58
+ var estimatedTakingAmount = takingAmount - surplus;
59
+ var calculator = new _amountcalculator.AmountCalculator(auction, feeCalculator, new _index1.SurplusParams(estimatedTakingAmount, _limitordersdk.Bps.fromPercent(50)));
60
+ var userAmount = calculatorNoSurplusFee.getUserTakingAmount(taker, makingAmount, takingAmount, makingAmount, execTime);
61
+ var userAmountWithChargedSurplus = calculator.getUserTakingAmount(taker, makingAmount, takingAmount, makingAmount, execTime);
62
+ expect(userAmount).toBeGreaterThan(userAmountWithChargedSurplus);
63
+ expect(userAmount - userAmountWithChargedSurplus).toEqual(surplus / 2n);
64
+ });
65
+ }) // fee is 50%
66
+ ;
@@ -0,0 +1,59 @@
1
+ ## AuctionCalculator
2
+
3
+ **Description:** used to calculate taker amount and auction rate
4
+
5
+ ### Real world example
6
+
7
+ ```typescript
8
+ import {
9
+ AuctionCalculator,
10
+ SettlementPostInteractionData,
11
+ AuctionDetails,
12
+ Address,
13
+ bpsToRatioFormat
14
+ } from '@1inch/fusion-sdk'
15
+
16
+ const startTime = 1673548149n
17
+ const settlementData = SettlementPostInteractionData.new({
18
+ bankFee: 0n,
19
+ auctionStartTime: startTime,
20
+ whitelist: [
21
+ {
22
+ address: new Address('0x111111111117dc0aa78b770fa6a738034120c302'),
23
+ delay: 0n
24
+ }
25
+ ],
26
+ integratorFee: {
27
+ receiver: new Address('0x111111111117dc0aa78b770fa6a738034120c302'),
28
+ ratio: bpsToRatioFormat(10)
29
+ }
30
+ })
31
+ const details = new AuctionDetails({
32
+ duration: 180n, // in seconds,
33
+ startTime, // unix timestamp (in sec),
34
+ initialRateBump: 50000,
35
+ points: [
36
+ {
37
+ delay: 10, // relative to auction start time
38
+ coefficient: 40000
39
+ },
40
+
41
+ {
42
+ delay: 10, // relative to previous point
43
+ coefficient: 40000
44
+ }
45
+ ]
46
+ })
47
+ const calculator = AuctionCalculator.fromAuctionData(settlementData, details) // #=> AuctionCalculator instance
48
+
49
+ const rate = calculator.calcRateBump(startTime + 11n)
50
+ // #=> 40000
51
+
52
+ const auctionTakingAmount = calculator.calcAuctionTakingAmount(
53
+ 1420000000n,
54
+ rate
55
+ )
56
+ // #=> 1427105680
57
+ ```
58
+
59
+