@1inch/fusion-sdk 2.1.11 → 2.1.12-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 (196) hide show
  1. package/README.md +2 -0
  2. package/dist/cjs/api/orders/orders.api.js +3 -4
  3. package/dist/cjs/api/orders/orders.api.js.map +1 -1
  4. package/dist/cjs/api/orders/orders.request.js.map +1 -1
  5. package/dist/cjs/api/orders/types.js +1 -1
  6. package/dist/cjs/api/orders/types.js.map +1 -1
  7. package/dist/cjs/api/pagination.js.map +1 -1
  8. package/dist/cjs/api/params.js +5 -8
  9. package/dist/cjs/api/params.js.map +1 -1
  10. package/dist/cjs/api/quoter/quote/order-params.js.map +1 -1
  11. package/dist/cjs/api/quoter/quote/quote.js +39 -27
  12. package/dist/cjs/api/quoter/quote/quote.js.map +1 -1
  13. package/dist/cjs/api/quoter/quoter-custom-preset.request.js +1 -1
  14. package/dist/cjs/api/quoter/quoter-custom-preset.request.js.map +1 -1
  15. package/dist/cjs/api/quoter/quoter.api.js.map +1 -1
  16. package/dist/cjs/api/quoter/quoter.request.js +3 -6
  17. package/dist/cjs/api/quoter/quoter.request.js.map +1 -1
  18. package/dist/cjs/api/quoter/types.js +1 -1
  19. package/dist/cjs/api/quoter/types.js.map +1 -1
  20. package/dist/cjs/{amount-calculator/auction-calculator → auction-calculator}/auction-calculator.js +10 -14
  21. package/dist/cjs/auction-calculator/auction-calculator.js.map +1 -0
  22. package/dist/cjs/auction-calculator/constants.js +5 -0
  23. package/dist/cjs/auction-calculator/constants.js.map +1 -0
  24. package/dist/cjs/{amount-calculator/auction-calculator → auction-calculator}/index.js +1 -0
  25. package/dist/cjs/auction-calculator/index.js.map +1 -0
  26. package/dist/cjs/auction-calculator/utils.js +17 -0
  27. package/dist/cjs/auction-calculator/utils.js.map +1 -0
  28. package/dist/cjs/connector/http/axios-provider.connector.js.map +1 -1
  29. package/dist/cjs/connector/ws/websocket-client.connector.js.map +1 -1
  30. package/dist/cjs/constants.js +3 -1
  31. package/dist/cjs/constants.js.map +1 -1
  32. package/dist/cjs/fusion-order/auction-details/auction-details.js +10 -18
  33. package/dist/cjs/fusion-order/auction-details/auction-details.js.map +1 -1
  34. package/dist/cjs/fusion-order/cancellation-auction.js +20 -0
  35. package/dist/cjs/fusion-order/cancellation-auction.js.map +1 -0
  36. package/dist/cjs/fusion-order/constants.js +3 -1
  37. package/dist/cjs/fusion-order/constants.js.map +1 -1
  38. package/dist/cjs/fusion-order/fusion-extension.js +18 -137
  39. package/dist/cjs/fusion-order/fusion-extension.js.map +1 -1
  40. package/dist/cjs/fusion-order/fusion-order.js +64 -53
  41. package/dist/cjs/fusion-order/fusion-order.js.map +1 -1
  42. package/dist/cjs/fusion-order/index.js +4 -4
  43. package/dist/cjs/fusion-order/index.js.map +1 -1
  44. package/dist/cjs/fusion-order/settlement-post-interaction-data/index.js +6 -0
  45. package/dist/cjs/fusion-order/settlement-post-interaction-data/index.js.map +1 -0
  46. package/dist/cjs/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +153 -0
  47. package/dist/cjs/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map +1 -0
  48. package/dist/cjs/fusion-order/settlement-post-interaction-data/types.js.map +1 -0
  49. package/dist/cjs/fusion-order/source-track.js +2 -1
  50. package/dist/cjs/fusion-order/source-track.js.map +1 -1
  51. package/dist/cjs/{utils → fusion-order}/types.js.map +1 -1
  52. package/dist/cjs/index.js +5 -2
  53. package/dist/cjs/index.js.map +1 -1
  54. package/dist/cjs/sdk/encoders/cancel-order.encoder.js +2 -1
  55. package/dist/cjs/sdk/encoders/cancel-order.encoder.js.map +1 -1
  56. package/dist/cjs/sdk/sdk.js +38 -25
  57. package/dist/cjs/sdk/sdk.js.map +1 -1
  58. package/dist/cjs/sdk/utils.js +3 -2
  59. package/dist/cjs/sdk/utils.js.map +1 -1
  60. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  61. package/dist/cjs/utils/amounts.js +3 -2
  62. package/dist/cjs/utils/amounts.js.map +1 -1
  63. package/dist/cjs/utils/time.js +2 -1
  64. package/dist/cjs/utils/time.js.map +1 -1
  65. package/dist/cjs/utils.js +3 -2
  66. package/dist/cjs/utils.js.map +1 -1
  67. package/dist/cjs/validations.js +6 -5
  68. package/dist/cjs/validations.js.map +1 -1
  69. package/dist/cjs/ws-api/active-websocket-orders-api.js.map +1 -1
  70. package/dist/cjs/ws-api/rpc-websocket-api.js.map +1 -1
  71. package/dist/cjs/ws-api/url.js +2 -1
  72. package/dist/cjs/ws-api/url.js.map +1 -1
  73. package/dist/cjs/ws-api/ws-api.js.map +1 -1
  74. package/dist/esm/api/orders/orders.api.js +3 -4
  75. package/dist/esm/api/orders/orders.api.js.map +1 -1
  76. package/dist/esm/api/orders/orders.request.js.map +1 -1
  77. package/dist/esm/api/pagination.js.map +1 -1
  78. package/dist/esm/api/params.js +3 -7
  79. package/dist/esm/api/params.js.map +1 -1
  80. package/dist/esm/api/quoter/quote/order-params.js.map +1 -1
  81. package/dist/esm/api/quoter/quote/quote.js +40 -29
  82. package/dist/esm/api/quoter/quote/quote.js.map +1 -1
  83. package/dist/esm/api/quoter/quoter-custom-preset.request.js +1 -1
  84. package/dist/esm/api/quoter/quoter-custom-preset.request.js.map +1 -1
  85. package/dist/esm/api/quoter/quoter.api.js.map +1 -1
  86. package/dist/esm/api/quoter/quoter.request.js +3 -6
  87. package/dist/esm/api/quoter/quoter.request.js.map +1 -1
  88. package/dist/esm/api/quoter/types.js.map +1 -1
  89. package/dist/esm/{amount-calculator/auction-calculator → auction-calculator}/auction-calculator.js +10 -14
  90. package/dist/esm/auction-calculator/auction-calculator.js.map +1 -0
  91. package/dist/esm/auction-calculator/constants.js +2 -0
  92. package/dist/esm/auction-calculator/constants.js.map +1 -0
  93. package/dist/esm/auction-calculator/index.js +3 -0
  94. package/dist/esm/auction-calculator/index.js.map +1 -0
  95. package/dist/esm/auction-calculator/utils.js +13 -0
  96. package/dist/esm/auction-calculator/utils.js.map +1 -0
  97. package/dist/esm/connector/http/axios-provider.connector.js.map +1 -1
  98. package/dist/esm/connector/ws/websocket-client.connector.js.map +1 -1
  99. package/dist/esm/constants.js +2 -0
  100. package/dist/esm/constants.js.map +1 -1
  101. package/dist/esm/fusion-order/auction-details/auction-details.js +11 -19
  102. package/dist/esm/fusion-order/auction-details/auction-details.js.map +1 -1
  103. package/dist/esm/fusion-order/cancellation-auction.js +15 -0
  104. package/dist/esm/fusion-order/cancellation-auction.js.map +1 -0
  105. package/dist/esm/fusion-order/constants.js +3 -1
  106. package/dist/esm/fusion-order/constants.js.map +1 -1
  107. package/dist/esm/fusion-order/fusion-extension.js +19 -138
  108. package/dist/esm/fusion-order/fusion-extension.js.map +1 -1
  109. package/dist/esm/fusion-order/fusion-order.js +64 -53
  110. package/dist/esm/fusion-order/fusion-order.js.map +1 -1
  111. package/dist/esm/fusion-order/index.js +3 -2
  112. package/dist/esm/fusion-order/index.js.map +1 -1
  113. package/dist/esm/fusion-order/settlement-post-interaction-data/index.js +3 -0
  114. package/dist/esm/fusion-order/settlement-post-interaction-data/index.js.map +1 -0
  115. package/dist/esm/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +148 -0
  116. package/dist/esm/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map +1 -0
  117. package/dist/esm/fusion-order/settlement-post-interaction-data/types.js.map +1 -0
  118. package/dist/esm/fusion-order/source-track.js.map +1 -1
  119. package/dist/esm/{utils → fusion-order}/types.js.map +1 -1
  120. package/dist/esm/index.js +2 -2
  121. package/dist/esm/index.js.map +1 -1
  122. package/dist/esm/sdk/sdk.js +38 -25
  123. package/dist/esm/sdk/sdk.js.map +1 -1
  124. package/dist/esm/sdk/utils.js.map +1 -1
  125. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  126. package/dist/esm/utils.js.map +1 -1
  127. package/dist/esm/validations.js +1 -1
  128. package/dist/esm/validations.js.map +1 -1
  129. package/dist/esm/ws-api/active-websocket-orders-api.js.map +1 -1
  130. package/dist/esm/ws-api/rpc-websocket-api.js.map +1 -1
  131. package/dist/esm/ws-api/url.js.map +1 -1
  132. package/dist/esm/ws-api/ws-api.js.map +1 -1
  133. package/dist/types/src/api/orders/types.d.ts +0 -1
  134. package/dist/types/src/api/params.d.ts +1 -1
  135. package/dist/types/src/api/quoter/quote/quote.d.ts +6 -4
  136. package/dist/types/src/api/quoter/quote/types.d.ts +2 -11
  137. package/dist/types/src/api/quoter/quoter.request.d.ts +3 -4
  138. package/dist/types/src/api/quoter/types.d.ts +4 -11
  139. package/dist/types/src/{amount-calculator/auction-calculator → auction-calculator}/auction-calculator.d.ts +5 -5
  140. package/dist/types/src/auction-calculator/constants.d.ts +1 -0
  141. package/dist/types/src/{amount-calculator/auction-calculator → auction-calculator}/index.d.ts +1 -0
  142. package/dist/types/src/auction-calculator/utils.d.ts +5 -0
  143. package/dist/types/src/constants.d.ts +3 -1
  144. package/dist/types/src/fusion-order/auction-details/auction-details.d.ts +0 -3
  145. package/dist/types/src/fusion-order/cancellation-auction.d.ts +7 -0
  146. package/dist/types/src/fusion-order/constants.d.ts +2 -0
  147. package/dist/types/src/fusion-order/fusion-extension.d.ts +6 -18
  148. package/dist/types/src/fusion-order/fusion-order.d.ts +15 -39
  149. package/dist/types/src/fusion-order/index.d.ts +3 -2
  150. package/dist/types/src/fusion-order/settlement-post-interaction-data/index.d.ts +2 -0
  151. package/dist/types/src/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts +22 -0
  152. package/dist/types/src/fusion-order/settlement-post-interaction-data/types.d.ts +16 -0
  153. package/dist/types/src/fusion-order/types.d.ts +22 -0
  154. package/dist/types/src/index.d.ts +2 -2
  155. package/dist/types/src/sdk/sdk.d.ts +4 -0
  156. package/dist/types/src/sdk/types.d.ts +9 -4
  157. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  158. package/package.json +23 -24
  159. package/dist/cjs/amount-calculator/amount-calculator.js +0 -66
  160. package/dist/cjs/amount-calculator/amount-calculator.js.map +0 -1
  161. package/dist/cjs/amount-calculator/auction-calculator/auction-calculator.js.map +0 -1
  162. package/dist/cjs/amount-calculator/auction-calculator/index.js.map +0 -1
  163. package/dist/cjs/amount-calculator/index.js +0 -10
  164. package/dist/cjs/amount-calculator/index.js.map +0 -1
  165. package/dist/cjs/api/version.js +0 -5
  166. package/dist/cjs/api/version.js.map +0 -1
  167. package/dist/cjs/fusion-order/whitelist/index.js +0 -5
  168. package/dist/cjs/fusion-order/whitelist/index.js.map +0 -1
  169. package/dist/cjs/fusion-order/whitelist/types.js.map +0 -1
  170. package/dist/cjs/fusion-order/whitelist/whitelist.js +0 -121
  171. package/dist/cjs/fusion-order/whitelist/whitelist.js.map +0 -1
  172. package/dist/esm/amount-calculator/amount-calculator.js +0 -62
  173. package/dist/esm/amount-calculator/amount-calculator.js.map +0 -1
  174. package/dist/esm/amount-calculator/auction-calculator/auction-calculator.js.map +0 -1
  175. package/dist/esm/amount-calculator/auction-calculator/index.js +0 -2
  176. package/dist/esm/amount-calculator/auction-calculator/index.js.map +0 -1
  177. package/dist/esm/amount-calculator/index.js +0 -4
  178. package/dist/esm/amount-calculator/index.js.map +0 -1
  179. package/dist/esm/api/version.js +0 -2
  180. package/dist/esm/api/version.js.map +0 -1
  181. package/dist/esm/fusion-order/whitelist/index.js +0 -2
  182. package/dist/esm/fusion-order/whitelist/index.js.map +0 -1
  183. package/dist/esm/fusion-order/whitelist/types.js.map +0 -1
  184. package/dist/esm/fusion-order/whitelist/whitelist.js +0 -116
  185. package/dist/esm/fusion-order/whitelist/whitelist.js.map +0 -1
  186. package/dist/types/src/amount-calculator/amount-calculator.d.ts +0 -21
  187. package/dist/types/src/amount-calculator/index.d.ts +0 -3
  188. package/dist/types/src/api/version.d.ts +0 -1
  189. package/dist/types/src/fusion-order/whitelist/index.d.ts +0 -1
  190. package/dist/types/src/fusion-order/whitelist/types.d.ts +0 -4
  191. package/dist/types/src/fusion-order/whitelist/whitelist.d.ts +0 -26
  192. package/dist/types/src/utils/types.d.ts +0 -3
  193. /package/dist/cjs/fusion-order/{whitelist → settlement-post-interaction-data}/types.js +0 -0
  194. /package/dist/cjs/{utils → fusion-order}/types.js +0 -0
  195. /package/dist/esm/fusion-order/{whitelist → settlement-post-interaction-data}/types.js +0 -0
  196. /package/dist/esm/{utils → fusion-order}/types.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1inch/fusion-sdk",
3
- "version": "2.1.11",
3
+ "version": "2.1.12-rc.0",
4
4
  "description": "1inch Fusion SDK",
5
5
  "author": "@1inch",
6
6
  "private": false,
@@ -18,41 +18,41 @@
18
18
  "url": "ssh://git@github.com:1inch/fusion-sdk.git"
19
19
  },
20
20
  "dependencies": {
21
- "@1inch/byte-utils": "3",
22
- "@1inch/limit-order-sdk": "4.11.3",
23
- "ethers": "^6.13.5",
24
- "tslib": "^2.8.1",
25
- "ws": "^8.18.0"
21
+ "@1inch/byte-utils": "^3.1.0",
22
+ "@1inch/limit-order-sdk": "^5.0.6-rc.0",
23
+ "ethers": "^6.13.1",
24
+ "tslib": "^2.6.3",
25
+ "ws": "^8.17.1"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@1inch/eslint-config": "3.0.6",
29
29
  "@1inch/tsconfig": "1.0.8",
30
- "@swc/core": "1.10.9",
31
- "@swc/jest": "0.2.37",
32
- "@types/jest": "29.5.14",
30
+ "@swc/core": "1.5.25",
31
+ "@swc/jest": "0.2.36",
32
+ "@types/jest": "29.5.12",
33
33
  "@types/prompts": "^2.4.9",
34
34
  "@types/ws": "^8.5.10",
35
- "@typescript-eslint/eslint-plugin": "^8.21.0",
36
- "@typescript-eslint/parser": "^8.21.0",
37
- "axios": "^1.7.2",
38
- "eslint": "~9.18.0",
39
- "eslint-config-prettier": "^10.0.1",
35
+ "@typescript-eslint/eslint-plugin": "^7.14.1",
36
+ "@typescript-eslint/parser": "~5.51.0",
37
+ "axios": "^1.11.0",
38
+ "eslint": "9.27.0",
39
+ "eslint-config-prettier": "~9.1.0",
40
40
  "eslint-config-standard": "^17.1.0",
41
- "eslint-import-resolver-typescript": "^3.6.3",
42
- "eslint-plugin-import": "^2.30.0",
41
+ "eslint-import-resolver-typescript": "3.6.3",
42
+ "eslint-plugin-import": "~2.30.0",
43
43
  "eslint-plugin-n": "^17.10.2",
44
44
  "eslint-plugin-prettier": "^5.2.1",
45
- "eslint-plugin-promise": "^7.2.1",
45
+ "eslint-plugin-promise": "^6.6.0",
46
46
  "eslint-plugin-unused-imports": "^4.1.4",
47
47
  "generate-changelog": "^1.8.0",
48
48
  "jest": "^29.7.0",
49
- "prettier": "^3.3.3",
50
- "testcontainers": "10.17.1",
49
+ "prettier": "^2.8.8",
51
50
  "ts-loader": "^9.5.1",
52
51
  "ts-mockito": "^2.6.1",
53
52
  "ts-node": "^10.9.2",
54
53
  "tslib": "2.6.3",
55
- "typescript": "5.7.3"
54
+ "bluebird": "^3.7.2",
55
+ "typescript": "4.9.4"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "assert": "^2.0.0",
@@ -67,7 +67,7 @@
67
67
  }
68
68
  },
69
69
  "volta": {
70
- "node": "22.13.1"
70
+ "node": "18.16.0"
71
71
  },
72
72
  "scripts": {
73
73
  "build": "npm run build:esm && npm run build:cjs && npm run build:types",
@@ -76,10 +76,9 @@
76
76
  "build:types": "tsc --project tsconfig.types.json",
77
77
  "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
78
78
  "lint:ci": "eslint \"{src,apps,libs,test}/**/*.ts\"",
79
- "lint": "eslint \"{src,apps,libs,test}/**/*.ts\"",
79
+ "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
80
80
  "lint:types": "tsc --noEmit",
81
- "test": "TZ=UTC jest",
82
- "test:integration": "TZ=UTC forge build && jest -c jest.integration.config.js",
81
+ "test": "jest",
83
82
  "test:watch": "jest --watch",
84
83
  "changelog:generate": "changelog generate -a"
85
84
  }
@@ -1,66 +0,0 @@
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
- class AmountCalculator {
8
- constructor(auctionCalculator, feeCalculator) {
9
- this.auctionCalculator = auctionCalculator;
10
- this.feeCalculator = feeCalculator;
11
- }
12
- static fromExtension(ext) {
13
- return new AmountCalculator(auction_calculator_1.AuctionCalculator.fromAuctionData(ext.auctionDetails), ext.extra?.fees
14
- ? new limit_order_sdk_1.FeeTakerExt.FeeCalculator(ext.extra?.fees, ext.whitelist)
15
- : undefined);
16
- }
17
- static calcAuctionTakingAmount(baseTakingAmount, rate, fee = limit_order_sdk_1.Bps.ZERO) {
18
- const withoutFee = auction_calculator_1.AuctionCalculator.calcAuctionTakingAmount(baseTakingAmount, rate);
19
- if (fee.isZero()) {
20
- return withoutFee;
21
- }
22
- const numerator = fee_taker_1.Fees.BASE_1E5 + BigInt(fee.toFraction(fee_taker_1.Fees.BASE_1E5));
23
- return (withoutFee * numerator) / fee_taker_1.Fees.BASE_1E5;
24
- }
25
- static extractFeeAmount(requiredTakingAmount, fee) {
26
- return (requiredTakingAmount -
27
- (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));
28
- }
29
- getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee = 0n) {
30
- const withFee = this.feeCalculator?.getTakingAmount(taker, takingAmount) ??
31
- takingAmount;
32
- return this.getAuctionBumpedAmount(withFee, time, blockBaseFee);
33
- }
34
- getRequiredMakingAmount(taker, makingAmount, time, blockBaseFee = 0n) {
35
- const withFee = this.feeCalculator?.getMakingAmount(taker, makingAmount) ??
36
- makingAmount;
37
- const rateBump = this.auctionCalculator.calcRateBump(time, blockBaseFee);
38
- return auction_calculator_1.AuctionCalculator.calcAuctionMakingAmount(withFee, rateBump);
39
- }
40
- getTotalFee(taker, takingAmount, time, blockBaseFee = 0n) {
41
- return (this.getIntegratorFee(taker, takingAmount, time, blockBaseFee) +
42
- this.getProtocolFee(taker, takingAmount, time, blockBaseFee));
43
- }
44
- getUserTakingAmountAmount(taker, takingAmount, time, blockBaseFee = 0n) {
45
- const whole = this.getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
46
- return whole - this.getTotalFee(taker, takingAmount, time, blockBaseFee);
47
- }
48
- getResolverFee(taker, takingAmount, time, blockBaseFee = 0n) {
49
- return (this.feeCalculator?.getResolverFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
50
- }
51
- getIntegratorFee(taker, takingAmount, time, blockBaseFee = 0n) {
52
- return (this.feeCalculator?.getIntegratorFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
53
- }
54
- getProtocolShareOfIntegratorFee(taker, takingAmount, time, blockBaseFee = 0n) {
55
- return (this.feeCalculator?.getProtocolShareOfIntegratorFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
56
- }
57
- getProtocolFee(taker, takingAmount, time, blockBaseFee = 0n) {
58
- return (this.feeCalculator?.getProtocolFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
59
- }
60
- getAuctionBumpedAmount(takingAmount, time, blockBaseFee = 0n) {
61
- const rateBump = this.auctionCalculator.calcRateBump(time, blockBaseFee);
62
- return auction_calculator_1.AuctionCalculator.calcAuctionTakingAmount(takingAmount, rateBump);
63
- }
64
- }
65
- exports.AmountCalculator = AmountCalculator;
66
- //# sourceMappingURL=amount-calculator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"amount-calculator.js","sourceRoot":"","sources":["../../../src/amount-calculator/amount-calculator.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"auction-calculator.js","sourceRoot":"","sources":["../../../../src/amount-calculator/auction-calculator/auction-calculator.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/amount-calculator/auction-calculator/index.ts"],"names":[],"mappings":";;;AAAA,+DAAoC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FeeCalculator = exports.AmountCalculator = void 0;
4
- const tslib_1 = require("tslib");
5
- tslib_1.__exportStar(require("./auction-calculator"), exports);
6
- var amount_calculator_1 = require("./amount-calculator");
7
- Object.defineProperty(exports, "AmountCalculator", { enumerable: true, get: function () { return amount_calculator_1.AmountCalculator; } });
8
- var fee_taker_1 = require("@1inch/limit-order-sdk/extensions/fee-taker");
9
- Object.defineProperty(exports, "FeeCalculator", { enumerable: true, get: function () { return fee_taker_1.FeeCalculator; } });
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/amount-calculator/index.ts"],"names":[],"mappings":";;;;AAAA,+DAAoC;AACpC,yDAAoD;AAA5C,qHAAA,gBAAgB,OAAA;AACxB,yEAAyE;AAAjE,0GAAA,aAAa,OAAA"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VERSION = void 0;
4
- exports.VERSION = '2.1';
5
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/api/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,KAAK,CAAA"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./whitelist"), exports);
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fusion-order/whitelist/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/fusion-order/whitelist/types.ts"],"names":[],"mappings":""}
@@ -1,121 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Whitelist = void 0;
4
- const tslib_1 = require("tslib");
5
- const byte_utils_1 = require("@1inch/byte-utils");
6
- const assert_1 = tslib_1.__importDefault(require("assert"));
7
- const constants_1 = require("../../constants");
8
- const time_1 = require("../../utils/time");
9
- const utils_1 = require("../../utils");
10
- class Whitelist {
11
- constructor(resolvingStartTime, whitelist) {
12
- this.resolvingStartTime = resolvingStartTime;
13
- this.whitelist = whitelist;
14
- (0, assert_1.default)(whitelist.length, 'whitelist can not be empty');
15
- whitelist.forEach((w) => {
16
- (0, assert_1.default)(w.delay < constants_1.UINT_16_MAX, 'too big diff between timestamps');
17
- (0, assert_1.default)(w.delay >= 0n, 'delay can not be negative');
18
- });
19
- }
20
- get length() {
21
- return this.whitelist.length;
22
- }
23
- static decodeFrom(bytes) {
24
- const whitelist = [];
25
- const resolvingStartTime = BigInt(bytes.nextUint32());
26
- const size = BigInt(bytes.nextUint8());
27
- for (let i = 0; i < size; i++) {
28
- const addressHalf = BigInt(bytes.nextBytes(10))
29
- .toString(16)
30
- .padStart(20, '0');
31
- const delay = BigInt(bytes.nextUint16());
32
- whitelist.push({
33
- addressHalf,
34
- delay
35
- });
36
- }
37
- return new Whitelist(resolvingStartTime, whitelist);
38
- }
39
- static decode(bytes) {
40
- return Whitelist.decodeFrom(byte_utils_1.BytesIter.HexString(bytes));
41
- }
42
- static new(resolvingStartTime, whitelist) {
43
- let sumDelay = 0n;
44
- const _whitelist = whitelist
45
- .map((d) => ({
46
- addressHalf: d.address.toString().slice(-20),
47
- allowFrom: d.allowFrom < resolvingStartTime
48
- ? resolvingStartTime
49
- : d.allowFrom
50
- }))
51
- .sort((a, b) => Number(a.allowFrom - b.allowFrom))
52
- .map((val) => {
53
- const delay = val.allowFrom - resolvingStartTime - sumDelay;
54
- sumDelay += delay;
55
- return {
56
- delay,
57
- addressHalf: val.addressHalf
58
- };
59
- });
60
- return new Whitelist(resolvingStartTime, _whitelist);
61
- }
62
- static fromNow(whitelist) {
63
- return Whitelist.new((0, time_1.now)(), whitelist);
64
- }
65
- canExecuteAt(executor, executionTime) {
66
- const addressHalf = executor.toString().slice(-20);
67
- let allowedFrom = this.resolvingStartTime;
68
- for (const whitelist of this.whitelist) {
69
- allowedFrom += whitelist.delay;
70
- if (addressHalf === whitelist.addressHalf) {
71
- return executionTime >= allowedFrom;
72
- }
73
- else if (executionTime < allowedFrom) {
74
- return false;
75
- }
76
- }
77
- return false;
78
- }
79
- isExclusivityPeriod(time = (0, time_1.now)()) {
80
- if (this.whitelist.length === 1) {
81
- return true;
82
- }
83
- if (this.whitelist[0].delay === this.whitelist[1].delay) {
84
- return false;
85
- }
86
- return time <= this.resolvingStartTime + this.whitelist[1].delay;
87
- }
88
- isExclusiveResolver(wallet) {
89
- const addressHalf = wallet.toString().slice(-20);
90
- if (this.whitelist.length === 1) {
91
- return addressHalf === this.whitelist[0].addressHalf;
92
- }
93
- if (this.whitelist[0].delay === this.whitelist[1].delay) {
94
- return false;
95
- }
96
- return addressHalf === this.whitelist[0].addressHalf;
97
- }
98
- isWhitelisted(address) {
99
- const half = address.lastHalf();
100
- return this.whitelist.some((w) => w.addressHalf === half);
101
- }
102
- encodeInto(builder = new byte_utils_1.BytesBuilder()) {
103
- builder
104
- .addUint32(this.resolvingStartTime)
105
- .addUint8(BigInt(this.whitelist.length));
106
- for (const wl of this.whitelist) {
107
- builder.addBytes((0, utils_1.add0x)(wl.addressHalf)).addUint16(wl.delay);
108
- }
109
- return builder;
110
- }
111
- encode() {
112
- return this.encodeInto().asHex();
113
- }
114
- equal(other) {
115
- return (this.whitelist.length === other.whitelist.length &&
116
- this.whitelist.every((val, i) => other.whitelist[i].delay === val.delay &&
117
- other.whitelist[i].addressHalf === val.addressHalf));
118
- }
119
- }
120
- exports.Whitelist = Whitelist;
121
- //# sourceMappingURL=whitelist.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"whitelist.js","sourceRoot":"","sources":["../../../../src/fusion-order/whitelist/whitelist.ts"],"names":[],"mappings":"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"}
@@ -1,62 +0,0 @@
1
- import { Bps, FeeTakerExt, mulDiv, Rounding } from '@1inch/limit-order-sdk';
2
- import { Fees } from '@1inch/limit-order-sdk/extensions/fee-taker';
3
- import { AuctionCalculator } from './auction-calculator';
4
- export class AmountCalculator {
5
- constructor(auctionCalculator, feeCalculator) {
6
- this.auctionCalculator = auctionCalculator;
7
- this.feeCalculator = feeCalculator;
8
- }
9
- static fromExtension(ext) {
10
- return new AmountCalculator(AuctionCalculator.fromAuctionData(ext.auctionDetails), ext.extra?.fees
11
- ? new FeeTakerExt.FeeCalculator(ext.extra?.fees, ext.whitelist)
12
- : undefined);
13
- }
14
- static calcAuctionTakingAmount(baseTakingAmount, rate, fee = Bps.ZERO) {
15
- const withoutFee = AuctionCalculator.calcAuctionTakingAmount(baseTakingAmount, rate);
16
- if (fee.isZero()) {
17
- return withoutFee;
18
- }
19
- const numerator = Fees.BASE_1E5 + BigInt(fee.toFraction(Fees.BASE_1E5));
20
- return (withoutFee * numerator) / Fees.BASE_1E5;
21
- }
22
- static extractFeeAmount(requiredTakingAmount, fee) {
23
- return (requiredTakingAmount -
24
- mulDiv(requiredTakingAmount, Fees.BASE_1E5, Fees.BASE_1E5 + BigInt(fee.toFraction(Fees.BASE_1E5)), Rounding.Ceil));
25
- }
26
- getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee = 0n) {
27
- const withFee = this.feeCalculator?.getTakingAmount(taker, takingAmount) ??
28
- takingAmount;
29
- return this.getAuctionBumpedAmount(withFee, time, blockBaseFee);
30
- }
31
- getRequiredMakingAmount(taker, makingAmount, time, blockBaseFee = 0n) {
32
- const withFee = this.feeCalculator?.getMakingAmount(taker, makingAmount) ??
33
- makingAmount;
34
- const rateBump = this.auctionCalculator.calcRateBump(time, blockBaseFee);
35
- return AuctionCalculator.calcAuctionMakingAmount(withFee, rateBump);
36
- }
37
- getTotalFee(taker, takingAmount, time, blockBaseFee = 0n) {
38
- return (this.getIntegratorFee(taker, takingAmount, time, blockBaseFee) +
39
- this.getProtocolFee(taker, takingAmount, time, blockBaseFee));
40
- }
41
- getUserTakingAmountAmount(taker, takingAmount, time, blockBaseFee = 0n) {
42
- const whole = this.getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
43
- return whole - this.getTotalFee(taker, takingAmount, time, blockBaseFee);
44
- }
45
- getResolverFee(taker, takingAmount, time, blockBaseFee = 0n) {
46
- return (this.feeCalculator?.getResolverFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
47
- }
48
- getIntegratorFee(taker, takingAmount, time, blockBaseFee = 0n) {
49
- return (this.feeCalculator?.getIntegratorFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
50
- }
51
- getProtocolShareOfIntegratorFee(taker, takingAmount, time, blockBaseFee = 0n) {
52
- return (this.feeCalculator?.getProtocolShareOfIntegratorFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
53
- }
54
- getProtocolFee(taker, takingAmount, time, blockBaseFee = 0n) {
55
- return (this.feeCalculator?.getProtocolFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee)) ?? 0n);
56
- }
57
- getAuctionBumpedAmount(takingAmount, time, blockBaseFee = 0n) {
58
- const rateBump = this.auctionCalculator.calcRateBump(time, blockBaseFee);
59
- return AuctionCalculator.calcAuctionTakingAmount(takingAmount, rateBump);
60
- }
61
- }
62
- //# sourceMappingURL=amount-calculator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"amount-calculator.js","sourceRoot":"","sources":["../../../src/amount-calculator/amount-calculator.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"auction-calculator.js","sourceRoot":"","sources":["../../../../src/amount-calculator/auction-calculator/auction-calculator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './auction-calculator';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/amount-calculator/auction-calculator/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
@@ -1,4 +0,0 @@
1
- export * from './auction-calculator';
2
- export { AmountCalculator } from './amount-calculator';
3
- export { FeeCalculator } from '@1inch/limit-order-sdk/extensions/fee-taker';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/amount-calculator/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAC,aAAa,EAAC,MAAM,6CAA6C,CAAA"}
@@ -1,2 +0,0 @@
1
- export const VERSION = '2.1';
2
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/api/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './whitelist';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fusion-order/whitelist/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/fusion-order/whitelist/types.ts"],"names":[],"mappings":""}
@@ -1,116 +0,0 @@
1
- import { BytesBuilder, BytesIter } from '@1inch/byte-utils';
2
- import assert from 'assert';
3
- import { UINT_16_MAX } from '../../constants';
4
- import { now } from '../../utils/time';
5
- import { add0x } from '../../utils';
6
- export class Whitelist {
7
- constructor(resolvingStartTime, whitelist) {
8
- this.resolvingStartTime = resolvingStartTime;
9
- this.whitelist = whitelist;
10
- assert(whitelist.length, 'whitelist can not be empty');
11
- whitelist.forEach((w) => {
12
- assert(w.delay < UINT_16_MAX, 'too big diff between timestamps');
13
- assert(w.delay >= 0n, 'delay can not be negative');
14
- });
15
- }
16
- get length() {
17
- return this.whitelist.length;
18
- }
19
- static decodeFrom(bytes) {
20
- const whitelist = [];
21
- const resolvingStartTime = BigInt(bytes.nextUint32());
22
- const size = BigInt(bytes.nextUint8());
23
- for (let i = 0; i < size; i++) {
24
- const addressHalf = BigInt(bytes.nextBytes(10))
25
- .toString(16)
26
- .padStart(20, '0');
27
- const delay = BigInt(bytes.nextUint16());
28
- whitelist.push({
29
- addressHalf,
30
- delay
31
- });
32
- }
33
- return new Whitelist(resolvingStartTime, whitelist);
34
- }
35
- static decode(bytes) {
36
- return Whitelist.decodeFrom(BytesIter.HexString(bytes));
37
- }
38
- static new(resolvingStartTime, whitelist) {
39
- let sumDelay = 0n;
40
- const _whitelist = whitelist
41
- .map((d) => ({
42
- addressHalf: d.address.toString().slice(-20),
43
- allowFrom: d.allowFrom < resolvingStartTime
44
- ? resolvingStartTime
45
- : d.allowFrom
46
- }))
47
- .sort((a, b) => Number(a.allowFrom - b.allowFrom))
48
- .map((val) => {
49
- const delay = val.allowFrom - resolvingStartTime - sumDelay;
50
- sumDelay += delay;
51
- return {
52
- delay,
53
- addressHalf: val.addressHalf
54
- };
55
- });
56
- return new Whitelist(resolvingStartTime, _whitelist);
57
- }
58
- static fromNow(whitelist) {
59
- return Whitelist.new(now(), whitelist);
60
- }
61
- canExecuteAt(executor, executionTime) {
62
- const addressHalf = executor.toString().slice(-20);
63
- let allowedFrom = this.resolvingStartTime;
64
- for (const whitelist of this.whitelist) {
65
- allowedFrom += whitelist.delay;
66
- if (addressHalf === whitelist.addressHalf) {
67
- return executionTime >= allowedFrom;
68
- }
69
- else if (executionTime < allowedFrom) {
70
- return false;
71
- }
72
- }
73
- return false;
74
- }
75
- isExclusivityPeriod(time = now()) {
76
- if (this.whitelist.length === 1) {
77
- return true;
78
- }
79
- if (this.whitelist[0].delay === this.whitelist[1].delay) {
80
- return false;
81
- }
82
- return time <= this.resolvingStartTime + this.whitelist[1].delay;
83
- }
84
- isExclusiveResolver(wallet) {
85
- const addressHalf = wallet.toString().slice(-20);
86
- if (this.whitelist.length === 1) {
87
- return addressHalf === this.whitelist[0].addressHalf;
88
- }
89
- if (this.whitelist[0].delay === this.whitelist[1].delay) {
90
- return false;
91
- }
92
- return addressHalf === this.whitelist[0].addressHalf;
93
- }
94
- isWhitelisted(address) {
95
- const half = address.lastHalf();
96
- return this.whitelist.some((w) => w.addressHalf === half);
97
- }
98
- encodeInto(builder = new BytesBuilder()) {
99
- builder
100
- .addUint32(this.resolvingStartTime)
101
- .addUint8(BigInt(this.whitelist.length));
102
- for (const wl of this.whitelist) {
103
- builder.addBytes(add0x(wl.addressHalf)).addUint16(wl.delay);
104
- }
105
- return builder;
106
- }
107
- encode() {
108
- return this.encodeInto().asHex();
109
- }
110
- equal(other) {
111
- return (this.whitelist.length === other.whitelist.length &&
112
- this.whitelist.every((val, i) => other.whitelist[i].delay === val.delay &&
113
- other.whitelist[i].addressHalf === val.addressHalf));
114
- }
115
- }
116
- //# sourceMappingURL=whitelist.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"whitelist.js","sourceRoot":"","sources":["../../../../src/fusion-order/whitelist/whitelist.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { Address, Bps } from '@1inch/limit-order-sdk';
2
- import { FeeCalculator } from '@1inch/limit-order-sdk/extensions/fee-taker';
3
- import { AuctionCalculator } from './auction-calculator';
4
- import { FusionExtension } from '../fusion-order';
5
- export declare class AmountCalculator {
6
- private readonly auctionCalculator;
7
- private readonly feeCalculator?;
8
- constructor(auctionCalculator: AuctionCalculator, feeCalculator?: FeeCalculator | undefined);
9
- static fromExtension(ext: FusionExtension): AmountCalculator;
10
- static calcAuctionTakingAmount(baseTakingAmount: bigint, rate: number, fee?: Bps): bigint;
11
- static extractFeeAmount(requiredTakingAmount: bigint, fee: Bps): bigint;
12
- getRequiredTakingAmount(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
13
- getRequiredMakingAmount(taker: Address, makingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
14
- getTotalFee(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
15
- getUserTakingAmountAmount(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
16
- getResolverFee(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
17
- getIntegratorFee(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
18
- getProtocolShareOfIntegratorFee(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
19
- getProtocolFee(taker: Address, takingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
20
- private getAuctionBumpedAmount;
21
- }
@@ -1,3 +0,0 @@
1
- export * from './auction-calculator';
2
- export { AmountCalculator } from './amount-calculator';
3
- export { FeeCalculator } from '@1inch/limit-order-sdk/extensions/fee-taker';
@@ -1 +0,0 @@
1
- export declare const VERSION = "2.1";
@@ -1 +0,0 @@
1
- export * from './whitelist';