@1inch/fusion-sdk 1.0.1-rc.3 → 1.0.1-rc.31

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 (85) hide show
  1. package/dist/api/orders/order-api.spec.js +6 -5
  2. package/dist/api/orders/order-api.spec.js.map +1 -1
  3. package/dist/api/orders/orders.api.d.ts +1 -0
  4. package/dist/api/orders/orders.api.js +4 -3
  5. package/dist/api/orders/orders.api.js.map +1 -1
  6. package/dist/api/quoter/quote/quote.d.ts +5 -1
  7. package/dist/api/quoter/quote/quote.js +13 -6
  8. package/dist/api/quoter/quote/quote.js.map +1 -1
  9. package/dist/api/quoter/quote/types.d.ts +4 -0
  10. package/dist/api/quoter/quoter.api.d.ts +1 -0
  11. package/dist/api/quoter/quoter.api.js +3 -2
  12. package/dist/api/quoter/quoter.api.js.map +1 -1
  13. package/dist/api/quoter/quoter.api.spec.js +21 -6
  14. package/dist/api/quoter/quoter.api.spec.js.map +1 -1
  15. package/dist/api/quoter/types.d.ts +3 -3
  16. package/dist/api/relayer/relayer.api.d.ts +1 -0
  17. package/dist/api/relayer/relayer.api.js +3 -2
  18. package/dist/api/relayer/relayer.api.js.map +1 -1
  19. package/dist/api/relayer/relayer.api.spec.js +8 -5
  20. package/dist/api/relayer/relayer.api.spec.js.map +1 -1
  21. package/dist/api/relayer/relayer.request.d.ts +1 -0
  22. package/dist/api/relayer/relayer.request.js +3 -1
  23. package/dist/api/relayer/relayer.request.js.map +1 -1
  24. package/dist/api/relayer/types.d.ts +1 -0
  25. package/dist/auction-calculator/auction-calculator.d.ts +23 -4
  26. package/dist/auction-calculator/auction-calculator.js +40 -6
  27. package/dist/auction-calculator/auction-calculator.js.map +1 -1
  28. package/dist/auction-calculator/auction-calculator.spec.js +7 -5
  29. package/dist/auction-calculator/auction-calculator.spec.js.map +1 -1
  30. package/dist/auction-calculator/calc.d.ts +8 -0
  31. package/dist/auction-calculator/calc.js +8 -0
  32. package/dist/auction-calculator/calc.js.map +1 -1
  33. package/dist/auction-calculator/constants.js +1 -1
  34. package/dist/auction-calculator/constants.js.map +1 -1
  35. package/dist/connector/blockchain/private-key-provider.connector.js +2 -0
  36. package/dist/connector/blockchain/private-key-provider.connector.js.map +1 -1
  37. package/dist/connector/ws/websocket-client.connector.js +2 -0
  38. package/dist/connector/ws/websocket-client.connector.js.map +1 -1
  39. package/dist/constants.d.ts +1 -0
  40. package/dist/constants.js +2 -1
  41. package/dist/constants.js.map +1 -1
  42. package/dist/fusion-order/auction-details/auction-details.d.ts +29 -0
  43. package/dist/fusion-order/auction-details/auction-details.js +21 -0
  44. package/dist/fusion-order/auction-details/auction-details.js.map +1 -1
  45. package/dist/fusion-order/auction-details/types.d.ts +12 -0
  46. package/dist/fusion-order/fusion-extension.d.ts +2 -2
  47. package/dist/fusion-order/fusion-extension.js +3 -3
  48. package/dist/fusion-order/fusion-extension.js.map +1 -1
  49. package/dist/fusion-order/fusion-order.d.ts +90 -3
  50. package/dist/fusion-order/fusion-order.js +144 -17
  51. package/dist/fusion-order/fusion-order.js.map +1 -1
  52. package/dist/fusion-order/fusion-order.spec.js +35 -5
  53. package/dist/fusion-order/fusion-order.spec.js.map +1 -1
  54. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts +38 -1
  55. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +125 -46
  56. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map +1 -1
  57. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js +95 -8
  58. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js.map +1 -1
  59. package/dist/fusion-order/settlement-post-interaction-data/types.d.ts +12 -3
  60. package/dist/index.d.ts +2 -2
  61. package/dist/index.js +11 -2
  62. package/dist/index.js.map +1 -1
  63. package/dist/sdk/sdk.js +6 -7
  64. package/dist/sdk/sdk.js.map +1 -1
  65. package/dist/sdk/types.d.ts +12 -0
  66. package/dist/sdk/utils.js +5 -2
  67. package/dist/sdk/utils.js.map +1 -1
  68. package/dist/utils/amounts.d.ts +17 -1
  69. package/dist/utils/amounts.js +19 -3
  70. package/dist/utils/amounts.js.map +1 -1
  71. package/dist/utils/time.d.ts +1 -0
  72. package/dist/utils/time.js +8 -0
  73. package/dist/utils/time.js.map +1 -0
  74. package/dist/validations.d.ts +4 -0
  75. package/dist/validations.js +4 -0
  76. package/dist/validations.js.map +1 -1
  77. package/dist/ws-api/ws-api.d.ts +1 -0
  78. package/dist/ws-api/ws-api.js +2 -1
  79. package/dist/ws-api/ws-api.js.map +1 -1
  80. package/dist/ws-api/ws.spec.js +9 -8
  81. package/dist/ws-api/ws.spec.js.map +1 -1
  82. package/package.json +31 -24
  83. package/dist/limit-order-contract/index.d.ts +0 -1
  84. package/dist/limit-order-contract/index.js +0 -6
  85. package/dist/limit-order-contract/index.js.map +0 -1
@@ -5,7 +5,10 @@ const calc_1 = require("./calc");
5
5
  const constants_1 = require("./constants");
6
6
  const sdk_1 = require("../sdk");
7
7
  class AuctionCalculator {
8
- constructor(startTime, duration, initialRateBump, points, takerFeeRatio, gasCost = { gasBumpEstimate: 0n, gasPriceEstimate: 0n }) {
8
+ constructor(startTime, duration, initialRateBump, points, takerFeeRatio, gasCost = {
9
+ gasBumpEstimate: 0n,
10
+ gasPriceEstimate: 0n
11
+ }) {
9
12
  this.startTime = startTime;
10
13
  this.duration = duration;
11
14
  this.initialRateBump = initialRateBump;
@@ -14,16 +17,47 @@ class AuctionCalculator {
14
17
  this.gasCost = gasCost;
15
18
  }
16
19
  static fromAuctionData(data, details) {
17
- return new AuctionCalculator(data.auctionStartTime, details.duration, details.initialRateBump, details.points, data.integratorFee?.ratio || 0n, details.gasCost);
20
+ return new AuctionCalculator(details.startTime, details.duration, details.initialRateBump, details.points, data.integratorFee?.ratio || 0n, details.gasCost);
18
21
  }
19
- calcAuctionTakingAmount(takingAmount, rate) {
22
+ static calcInitialRateBump(startAmount, endAmount) {
23
+ const bump = (constants_1.RATE_BUMP_DENOMINATOR * startAmount) / endAmount -
24
+ constants_1.RATE_BUMP_DENOMINATOR;
25
+ return Number(bump);
26
+ }
27
+ /**
28
+ * @see https://github.com/1inch/limit-order-settlement/blob/1b6757eecb2574953b543821db6f7bbff5afee48/contracts/extensions/BaseExtension.sol#L56
29
+ */
30
+ static calcAuctionTakingAmount(takingAmount, rate, takerFeeRatio) {
20
31
  const auctionTakingAmount = (BigInt(takingAmount) * (BigInt(rate) + constants_1.RATE_BUMP_DENOMINATOR)) /
21
32
  constants_1.RATE_BUMP_DENOMINATOR;
22
- if (this.takerFeeRatio === 0n) {
33
+ if (takerFeeRatio === 0n) {
23
34
  return auctionTakingAmount;
24
35
  }
25
- return (0, sdk_1.addRatioToAmount)(auctionTakingAmount, this.takerFeeRatio);
36
+ return (0, sdk_1.addRatioToAmount)(auctionTakingAmount, takerFeeRatio);
37
+ }
38
+ /**
39
+ * Encode estimation `baseFee` as `gasPriceEstimate` for `AuctionGasCostInfo`
40
+ */
41
+ static baseFeeToGasPriceEstimate(baseFee) {
42
+ return baseFee / AuctionCalculator.GAS_PRICE_BASE;
43
+ }
44
+ /**
45
+ * Calculates `gasBumpEstimate` for `AuctionGasCostInfo`
46
+ *
47
+ * @param endTakingAmount min return in destToken
48
+ * @param gasCostInToToken gas cost in destToken
49
+ */
50
+ static calcGasBumpEstimate(endTakingAmount, gasCostInToToken) {
51
+ return (gasCostInToToken * constants_1.RATE_BUMP_DENOMINATOR) / endTakingAmount;
52
+ }
53
+ calcAuctionTakingAmount(takingAmount, rate) {
54
+ return AuctionCalculator.calcAuctionTakingAmount(takingAmount, rate, this.takerFeeRatio);
26
55
  }
56
+ /**
57
+ * @see https://github.com/1inch/limit-order-settlement/blob/273defdf7b0f1867299dcbc306f32f035579310f/contracts/extensions/BaseExtension.sol#L121
58
+ * @param time auction timestamp in seconds
59
+ * @param blockBaseFee blockBaseFee in Wei, if passed, then rate will be calculated as if order executed in block with `blockBaseFee`
60
+ */
27
61
  calcRateBump(time, blockBaseFee = 0n) {
28
62
  const gasBump = this.getGasPriceBump(blockBaseFee);
29
63
  const auctionBump = this.getAuctionBump(time);
@@ -67,5 +101,5 @@ class AuctionCalculator {
67
101
  }
68
102
  }
69
103
  exports.AuctionCalculator = AuctionCalculator;
70
- AuctionCalculator.GAS_PRICE_BASE = 1000000n;
104
+ AuctionCalculator.GAS_PRICE_BASE = 1000000n; // 1000 means 1 Gwei
71
105
  //# sourceMappingURL=auction-calculator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auction-calculator.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.ts"],"names":[],"mappings":";;;AAAA,iCAA0C;AAC1C,2CAAiD;AAMjD,gCAAuC;AAEvC,MAAa,iBAAiB;IAG1B,YACqB,SAAiB,EACjB,QAAgB,EAChB,eAAuB,EACvB,MAAsB,EACtB,aAAqB,EACrB,UASb,EAAC,eAAe,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAC;QAd9B,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,oBAAe,GAAf,eAAe,CAAQ;QACvB,WAAM,GAAN,MAAM,CAAgB;QACtB,kBAAa,GAAb,aAAa,CAAQ;QACrB,YAAO,GAAP,OAAO,CASuB;IAChD,CAAC;IAEJ,MAAM,CAAC,eAAe,CAClB,IAAmC,EACnC,OAAuB;QAEvB,OAAO,IAAI,iBAAiB,CACxB,IAAI,CAAC,gBAAgB,EACrB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,MAAM,EACd,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,EAC/B,OAAO,CAAC,OAAO,CAClB,CAAA;IACL,CAAC;IAKD,uBAAuB,CAAC,YAAoB,EAAE,IAAY;QACtD,MAAM,mBAAmB,GACrB,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,iCAAqB,CAAC,CAAC;YAC/D,iCAAqB,CAAA;QAEzB,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE,EAAE;YAC3B,OAAO,mBAAmB,CAAA;SAC7B;QAED,OAAO,IAAA,sBAAgB,EAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IACpE,CAAC;IAOD,YAAY,CAAC,IAAY,EAAE,YAAY,GAAG,EAAE;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAE7C,MAAM,KAAK,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;QAEhE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAEO,eAAe,CAAC,YAAoB;QACxC,IACI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,EAAE;YACpC,YAAY,KAAK,EAAE,EACrB;YACE,OAAO,EAAE,CAAA;SACZ;QAED,OAAO,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAC7B,iBAAiB,CAAC,cAAc,CACnC,CAAA;IACL,CAAC;IAEO,cAAc,CAAC,IAAY;QAC/B,IAAI,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAA;QACvD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAE9C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,WAAW,IAAI,cAAc,EAAE;YAC/B,OAAO,IAAI,CAAC,eAAe,CAAA;SAC9B;aAAM,IAAI,WAAW,IAAI,QAAQ,EAAE;YAChC,OAAO,EAAE,CAAA;SACZ;QAED,IAAI,eAAe,GAAG,SAAS,CAAA;QAC/B,IAAI,kBAAkB,GAAG,cAAc,CAAA;QAEvC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,EAAC,WAAW,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAE3C,cAAc,GAAG,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;YAEzC,IAAI,cAAc,IAAI,WAAW,EAAE;gBAC/B,OAAO,IAAA,0BAAmB,EACtB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,aAAa,EACb,WAAW,CACd,CAAA;aACJ;YAED,kBAAkB,GAAG,cAAc,CAAA;YACnC,eAAe,GAAG,aAAa,CAAA;SAClC;QAED,OAAO,IAAA,0BAAmB,EACtB,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,EAAE,EACF,WAAW,CACd,CAAA;IACL,CAAC;;AA3HL,8CA4HC;AA3HkB,gCAAc,GAAG,QAAU,CAAA"}
1
+ {"version":3,"file":"auction-calculator.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,10 @@ describe('Auction Calculator', () => {
14
14
  receiver: limit_order_sdk_1.Address.fromBigInt(1n)
15
15
  },
16
16
  bankFee: 0n,
17
- auctionStartTime,
18
- whitelist: []
17
+ resolvingStartTime: auctionStartTime,
18
+ whitelist: [
19
+ { address: limit_order_sdk_1.Address.ZERO_ADDRESS, allowFrom: auctionStartTime }
20
+ ]
19
21
  });
20
22
  const auctionDetails = new fusion_order_1.AuctionDetails({
21
23
  startTime: auctionStartTime,
@@ -27,15 +29,15 @@ describe('Auction Calculator', () => {
27
29
  const rate = calculator.calcRateBump(auctionStartTime + 60n);
28
30
  const auctionTakingAmount = calculator.calcAuctionTakingAmount(1420000000n, rate);
29
31
  expect(rate).toBe(25000);
30
- expect(auctionTakingAmount).toBe(1423692355n);
32
+ expect(auctionTakingAmount).toBe(1423692355n); // 1423550000 from rate + 142355 (1bps) integrator fee
31
33
  });
32
34
  describe('Gas bump', () => {
33
35
  const now = BigInt(Math.floor(Date.now() / 1000));
34
- const duration = 1800n;
36
+ const duration = 1800n; // 30m
35
37
  const takingAmount = (0, ethers_1.parseEther)('1');
36
38
  const calculator = new auction_calculator_1.AuctionCalculator(now - 60n, duration, 1000000n, [{ delay: 60, coefficient: 500000 }], 0n, {
37
39
  gasBumpEstimate: 10000n,
38
- gasPriceEstimate: 1000n
40
+ gasPriceEstimate: 1000n // 1gwei
39
41
  });
40
42
  it('0 gwei = no gas fee', () => {
41
43
  const bump = calculator.calcRateBump(now);
@@ -1 +1 @@
1
- {"version":3,"file":"auction-calculator.spec.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auction-calculator.spec.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1,9 @@
1
+ /**
2
+ *
3
+ * v2(t-t1) + v1(t2-t)
4
+ * v = ---------------------
5
+ * t2-t1
6
+ *
7
+ * @see https://github.com/1inch/limit-order-settlement/blob/3c7cf9eacbaf7a60624d7a6f069c59d809f2204a/contracts/libraries/OrderSuffix.sol#L94
8
+ */
1
9
  export declare function linearInterpolation(t1: bigint, t2: bigint, v1: bigint, v2: bigint, t: bigint): bigint;
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.linearInterpolation = void 0;
4
+ /**
5
+ *
6
+ * v2(t-t1) + v1(t2-t)
7
+ * v = ---------------------
8
+ * t2-t1
9
+ *
10
+ * @see https://github.com/1inch/limit-order-settlement/blob/3c7cf9eacbaf7a60624d7a6f069c59d809f2204a/contracts/libraries/OrderSuffix.sol#L94
11
+ */
4
12
  function linearInterpolation(t1, t2, v1, v2, t) {
5
13
  const timePassedFromNow = t - t1;
6
14
  const timeLeft = t2 - t;
@@ -1 +1 @@
1
- {"version":3,"file":"calc.js","sourceRoot":"","sources":["../../src/auction-calculator/calc.ts"],"names":[],"mappings":";;;AAQA,SAAgB,mBAAmB,CAC/B,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,CAAS;IAET,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAA;IAEvB,MAAM,kBAAkB,GAAG,EAAE,GAAG,iBAAiB,CAAA;IACjD,MAAM,sBAAsB,GAAG,EAAE,GAAG,QAAQ,CAAA;IAE5C,MAAM,WAAW,GAAG,kBAAkB,GAAG,sBAAsB,CAAA;IAE/D,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,CAAA;IAE9B,OAAO,WAAW,GAAG,cAAc,CAAA;AACvC,CAAC;AAlBD,kDAkBC"}
1
+ {"version":3,"file":"calc.js","sourceRoot":"","sources":["../../src/auction-calculator/calc.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAC/B,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,CAAS;IAET,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAA;IAEvB,MAAM,kBAAkB,GAAG,EAAE,GAAG,iBAAiB,CAAA;IACjD,MAAM,sBAAsB,GAAG,EAAE,GAAG,QAAQ,CAAA;IAE5C,MAAM,WAAW,GAAG,kBAAkB,GAAG,sBAAsB,CAAA;IAE/D,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,CAAA;IAE9B,OAAO,WAAW,GAAG,cAAc,CAAA;AACvC,CAAC;AAlBD,kDAkBC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RATE_BUMP_DENOMINATOR = void 0;
4
- exports.RATE_BUMP_DENOMINATOR = 10000000n;
4
+ exports.RATE_BUMP_DENOMINATOR = 10000000n; // 100%
5
5
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/auction-calculator/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,SAAW,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/auction-calculator/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,SAAW,CAAA,CAAC,OAAO"}
@@ -11,6 +11,8 @@ class PrivateKeyProviderConnector {
11
11
  signTypedData(_walletAddress, typedData) {
12
12
  const result = (0, eth_sig_util_1.signTypedData)({
13
13
  privateKey: this.privateKeyBuffer,
14
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
15
+ // @ts-ignore
14
16
  data: typedData,
15
17
  version: eth_sig_util_1.SignTypedDataVersion.V4
16
18
  });
@@ -1 +1 @@
1
- {"version":3,"file":"private-key-provider.connector.js","sourceRoot":"","sources":["../../../src/connector/blockchain/private-key-provider.connector.ts"],"names":[],"mappings":";;;AAAA,yDAA0E;AAK1E,MAAa,2BAA2B;IAKpC,YACa,UAAkB,EACR,YAAsB;QADhC,eAAU,GAAV,UAAU,CAAQ;QACR,iBAAY,GAAZ,YAAY,CAAU;QAEzC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC;IAED,aAAa,CACT,cAAsB,EACtB,SAA0B;QAE1B,MAAM,MAAM,GAAG,IAAA,4BAAa,EAAC;YACzB,UAAU,EAAE,IAAI,CAAC,gBAAgB;YAGjC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,mCAAoB,CAAC,EAAE;SACnC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,CAAC,eAAuB,EAAE,QAAgB;QAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAA;IACN,CAAC;CACJ;AAjCD,kEAiCC"}
1
+ {"version":3,"file":"private-key-provider.connector.js","sourceRoot":"","sources":["../../../src/connector/blockchain/private-key-provider.connector.ts"],"names":[],"mappings":";;;AAAA,yDAA0E;AAK1E,MAAa,2BAA2B;IAKpC,YACa,UAAkB,EACR,YAAsB;QADhC,eAAU,GAAV,UAAU,CAAQ;QACR,iBAAY,GAAZ,YAAY,CAAU;QAEzC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC;IAED,aAAa,CACT,cAAsB,EACtB,SAA0B;QAE1B,MAAM,MAAM,GAAG,IAAA,4BAAa,EAAC;YACzB,UAAU,EAAE,IAAI,CAAC,gBAAgB;YACjC,6DAA6D;YAC7D,aAAa;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,mCAAoB,CAAC,EAAE;SACnC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,CAAC,eAAuB,EAAE,QAAgB;QAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAA;IACN,CAAC;CACJ;AAjCD,kEAiCC"}
@@ -27,7 +27,9 @@ class WebsocketClient {
27
27
  if (this.initialized) {
28
28
  throw new Error('WebSocket is already initialized');
29
29
  }
30
+ // @ts-expect-error hack for readonly property
30
31
  this.initialized = true;
32
+ // @ts-expect-error hack for readonly property
31
33
  this.ws = new ws_1.default(this.url, this.authKey
32
34
  ? {
33
35
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-client.connector.js","sourceRoot":"","sources":["../../../src/connector/ws/websocket-client.connector.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA0B;AAS1B,MAAa,eAAe;IASxB,YAAY,MAAmB;QAC3B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAE7B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAA;QAEzC,IAAI,CAAC,QAAQ,EAAE;YACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;YACvB,IAAI,CAAC,EAAE,GAAG,IAAI,YAAS,CACnB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO;gBACR,CAAC,CAAC;oBACI,OAAO,EAAE;wBACL,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE;qBAC1C;iBACJ;gBACH,CAAC,CAAC,SAAS,CAClB,CAAA;YAED,OAAM;SACT;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;IAC5B,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;SACtD;QAGD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,IAAI,CAAC,EAAE,GAAG,IAAI,YAAS,CACnB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO;YACR,CAAC,CAAC;gBACI,OAAO,EAAE;oBACL,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE;iBAC1C;aACJ;YACH,CAAC,CAAC,SAAS,CAClB,CAAA;IACL,CAAC;IAED,EAAE,CAAC,KAAa,EAAE,EAAuB;QACrC,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,EAAuB;QACtC,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,EAAuB;QAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,CAAI,OAAU;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC5B,CAAC;IAED,SAAS,CAAC,EAAe;QACrB,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAEnC,EAAE,CAAC,UAAU,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,CAAC,EAAe;QACnB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,CAAC,EAAe;QACnB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACxB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,cAAc,EAAE,CAAA;SACnB;IACL,CAAC;CACJ;AApGD,0CAoGC;AAED,SAAS,cAAc;IACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;AACvE,CAAC"}
1
+ {"version":3,"file":"websocket-client.connector.js","sourceRoot":"","sources":["../../../src/connector/ws/websocket-client.connector.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export declare enum NetworkEnum {
12
12
  }
13
13
  export declare const ONE_INCH_LIMIT_ORDER_V4 = "0x111111125421ca6dc452d289314280a0f8842a65";
14
14
  export declare const UINT_160_MAX: bigint;
15
+ export declare const UINT_16_MAX: bigint;
15
16
  export declare const UINT_80_MAX: bigint;
16
17
  export declare const UINT_40_MAX: bigint;
17
18
  export declare const UINT_32_MAX: bigint;
package/dist/constants.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UINT_256_MAX = exports.UINT_24_MAX = exports.UINT_32_MAX = exports.UINT_40_MAX = exports.UINT_80_MAX = exports.UINT_160_MAX = exports.ONE_INCH_LIMIT_ORDER_V4 = exports.NetworkEnum = exports.ZX = void 0;
3
+ exports.UINT_256_MAX = exports.UINT_24_MAX = exports.UINT_32_MAX = exports.UINT_40_MAX = exports.UINT_80_MAX = exports.UINT_16_MAX = exports.UINT_160_MAX = exports.ONE_INCH_LIMIT_ORDER_V4 = exports.NetworkEnum = exports.ZX = void 0;
4
4
  exports.ZX = '0x';
5
5
  var NetworkEnum;
6
6
  (function (NetworkEnum) {
@@ -16,6 +16,7 @@ var NetworkEnum;
16
16
  })(NetworkEnum = exports.NetworkEnum || (exports.NetworkEnum = {}));
17
17
  exports.ONE_INCH_LIMIT_ORDER_V4 = '0x111111125421ca6dc452d289314280a0f8842a65';
18
18
  exports.UINT_160_MAX = (1n << 160n) - 1n;
19
+ exports.UINT_16_MAX = (1n << 16n) - 1n;
19
20
  exports.UINT_80_MAX = (1n << 80n) - 1n;
20
21
  exports.UINT_40_MAX = (1n << 40n) - 1n;
21
22
  exports.UINT_32_MAX = (1n << 32n) - 1n;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,EAAE,GAAG,IAAI,CAAA;AAEtB,IAAY,WAUX;AAVD,WAAY,WAAW;IACnB,qDAAY,CAAA;IACZ,qDAAa,CAAA;IACb,oDAAY,CAAA;IACZ,yDAAgB,CAAA;IAChB,2DAAiB,CAAA;IACjB,sDAAa,CAAA;IACb,mDAAY,CAAA;IACZ,mDAAY,CAAA;IACZ,wDAAe,CAAA;AACnB,CAAC,EAVW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAUtB;AAEY,QAAA,uBAAuB,GAChC,4CAA4C,CAAA;AAEnC,QAAA,YAAY,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;AAChC,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,YAAY,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,EAAE,GAAG,IAAI,CAAA;AAEtB,IAAY,WAUX;AAVD,WAAY,WAAW;IACnB,qDAAY,CAAA;IACZ,qDAAa,CAAA;IACb,oDAAY,CAAA;IACZ,yDAAgB,CAAA;IAChB,2DAAiB,CAAA;IACjB,sDAAa,CAAA;IACb,mDAAY,CAAA;IACZ,mDAAY,CAAA;IACZ,wDAAe,CAAA;AACnB,CAAC,EAVW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAUtB;AAEY,QAAA,uBAAuB,GAChC,4CAA4C,CAAA;AAEnC,QAAA,YAAY,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;AAChC,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,YAAY,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { Extension } from '@1inch/limit-order-sdk';
1
2
  import { AuctionGasCostInfo, AuctionPoint } from './types';
2
3
  export declare class AuctionDetails {
3
4
  readonly startTime: bigint;
@@ -5,7 +6,13 @@ export declare class AuctionDetails {
5
6
  readonly initialRateBump: bigint;
6
7
  readonly points: AuctionPoint[];
7
8
  readonly gasCost: {
9
+ /**
10
+ * Rate bump to cover gas price. 10_000_000 means 100%
11
+ */
8
12
  gasBumpEstimate: bigint;
13
+ /**
14
+ * Gas price at estimation time. 1000 means 1 Gwei
15
+ */
9
16
  gasPriceEstimate: bigint;
10
17
  };
11
18
  constructor(auction: {
@@ -13,8 +20,30 @@ export declare class AuctionDetails {
13
20
  initialRateBump: number;
14
21
  duration: bigint;
15
22
  points: AuctionPoint[];
23
+ /**
24
+ * Allows to scale estimate gas costs to actual gas costs
25
+ */
16
26
  gasCost?: AuctionGasCostInfo;
17
27
  });
28
+ /**
29
+ * Construct `AuctionDetails` from bytes
30
+ *
31
+ * @param data bytes with 0x prefix in next format:
32
+ * - uint24 gasBumpEstimate
33
+ * - uint32 gasPriceEstimate
34
+ * - uint32 startTime
35
+ * - uint24 duration
36
+ * - uint24 initialRateBump
37
+ * - [uint24 rate, uint16 delay] * N points
38
+ *
39
+ * All data is tight packed
40
+ *
41
+ * @see AuctionDetails.encode
42
+ */
18
43
  static decode(data: string): AuctionDetails;
44
+ static fromExtension(extension: Extension): AuctionDetails;
45
+ /**
46
+ * Serialize auction data to bytes
47
+ */
19
48
  encode(): string;
20
49
  }
@@ -26,6 +26,21 @@ class AuctionDetails {
26
26
  (0, assert_1.default)(this.duration <= constants_1.UINT_24_MAX);
27
27
  (0, assert_1.default)(this.initialRateBump <= constants_1.UINT_24_MAX);
28
28
  }
29
+ /**
30
+ * Construct `AuctionDetails` from bytes
31
+ *
32
+ * @param data bytes with 0x prefix in next format:
33
+ * - uint24 gasBumpEstimate
34
+ * - uint32 gasPriceEstimate
35
+ * - uint32 startTime
36
+ * - uint24 duration
37
+ * - uint24 initialRateBump
38
+ * - [uint24 rate, uint16 delay] * N points
39
+ *
40
+ * All data is tight packed
41
+ *
42
+ * @see AuctionDetails.encode
43
+ */
29
44
  static decode(data) {
30
45
  (0, assert_1.default)((0, validations_1.isHexBytes)(data), 'Invalid auction details data');
31
46
  const iter = byte_utils_1.BytesIter.BigInt(data);
@@ -52,6 +67,12 @@ class AuctionDetails {
52
67
  }
53
68
  });
54
69
  }
70
+ static fromExtension(extension) {
71
+ return AuctionDetails.decode((0, utils_1.add0x)(extension.makingAmountData.slice(42)));
72
+ }
73
+ /**
74
+ * Serialize auction data to bytes
75
+ */
55
76
  encode() {
56
77
  let details = ethers_1.ethers.solidityPacked(['uint24', 'uint32', 'uint32', 'uint24', 'uint24'], [
57
78
  this.gasCost.gasBumpEstimate,
@@ -1 +1 @@
1
- {"version":3,"file":"auction-details.js","sourceRoot":"","sources":["../../../src/fusion-order/auction-details/auction-details.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auction-details.js","sourceRoot":"","sources":["../../../src/fusion-order/auction-details/auction-details.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,20 @@
1
1
  export type AuctionPoint = {
2
+ /**
3
+ * point in time of this point relatively to previous point
4
+ */
2
5
  delay: number;
6
+ /**
7
+ * coefficient rate bump from the end of an auction
8
+ */
3
9
  coefficient: number;
4
10
  };
5
11
  export type AuctionGasCostInfo = {
12
+ /**
13
+ * Rate bump to cover gas price. 10_000_000 means 100%
14
+ */
6
15
  gasBumpEstimate: bigint;
16
+ /**
17
+ * Gas price at estimation time. 1000 means 1 Gwei
18
+ */
7
19
  gasPriceEstimate: bigint;
8
20
  };
@@ -3,8 +3,8 @@ import { AuctionDetails } from './auction-details';
3
3
  import { SettlementPostInteractionData } from './settlement-post-interaction-data';
4
4
  export declare class FusionExtension extends ExtensionBuilder {
5
5
  readonly address: Address;
6
- readonly details: AuctionDetails;
6
+ readonly auctionDetails: AuctionDetails;
7
7
  readonly postInteractionData: SettlementPostInteractionData;
8
- constructor(address: Address, details: AuctionDetails, postInteractionData: SettlementPostInteractionData);
8
+ constructor(address: Address, auctionDetails: AuctionDetails, postInteractionData: SettlementPostInteractionData);
9
9
  build(): Extension;
10
10
  }
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FusionExtension = void 0;
4
4
  const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
5
5
  class FusionExtension extends limit_order_sdk_1.ExtensionBuilder {
6
- constructor(address, details, postInteractionData) {
6
+ constructor(address, auctionDetails, postInteractionData) {
7
7
  super();
8
8
  this.address = address;
9
- this.details = details;
9
+ this.auctionDetails = auctionDetails;
10
10
  this.postInteractionData = postInteractionData;
11
11
  }
12
12
  build() {
13
- const detailsBytes = this.details.encode();
13
+ const detailsBytes = this.auctionDetails.encode();
14
14
  this.withMakingAmountData(this.address, detailsBytes)
15
15
  .withTakingAmountData(this.address, detailsBytes)
16
16
  .withPostInteraction(new limit_order_sdk_1.Interaction(this.address, this.postInteractionData.encode()));
@@ -1 +1 @@
1
- {"version":3,"file":"fusion-extension.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-extension.ts"],"names":[],"mappings":";;;AAAA,4DAK+B;AAI/B,MAAa,eAAgB,SAAQ,kCAAgB;IACjD,YACoB,OAAgB,EAChB,OAAuB,EACvB,mBAAkD;QAElE,KAAK,EAAE,CAAA;QAJS,YAAO,GAAP,OAAO,CAAS;QAChB,YAAO,GAAP,OAAO,CAAgB;QACvB,wBAAmB,GAAnB,mBAAmB,CAA+B;IAGtE,CAAC;IAEM,KAAK;QACR,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;QAE1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;aAChD,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;aAChD,mBAAmB,CAChB,IAAI,6BAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CACnE,CAAA;QAEL,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;CACJ;AApBD,0CAoBC"}
1
+ {"version":3,"file":"fusion-extension.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-extension.ts"],"names":[],"mappings":";;;AAAA,4DAK+B;AAI/B,MAAa,eAAgB,SAAQ,kCAAgB;IACjD,YACoB,OAAgB,EAChB,cAA8B,EAC9B,mBAAkD;QAElE,KAAK,EAAE,CAAA;QAJS,YAAO,GAAP,OAAO,CAAS;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAA+B;IAGtE,CAAC;IAEM,KAAK;QACR,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAA;QAEjD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;aAChD,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;aAChD,mBAAmB,CAChB,IAAI,6BAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CACnE,CAAA;QAEL,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;CACJ;AApBD,0CAoBC"}
@@ -4,30 +4,117 @@ import { AuctionDetails } from './auction-details';
4
4
  import { AuctionWhitelistItem, IntegratorFee } from './settlement-post-interaction-data';
5
5
  import { AuctionCalculator } from '../auction-calculator';
6
6
  export declare class FusionOrder {
7
+ /**
8
+ * Fusion extension address
9
+ * @see https://github.com/1inch/limit-order-settlement
10
+ */
11
+ readonly settlementExtensionContract: Address;
12
+ private static _ORDER_FEE_BASE_POINTS;
7
13
  private static defaultExtra;
8
14
  readonly fusionExtension: FusionExtension;
9
15
  private inner;
10
16
  private constructor();
11
17
  get extension(): Extension;
12
- static new(settlementExtension: Address, orderInfo: OrderInfoData, details: {
18
+ get maker(): Address;
19
+ get takerAsset(): Address;
20
+ get makerAsset(): Address;
21
+ get takingAmount(): bigint;
22
+ get makingAmount(): bigint;
23
+ get receiver(): Address;
24
+ /**
25
+ * Timestamp in sec
26
+ */
27
+ get deadline(): bigint;
28
+ /**
29
+ * Timestamp in sec
30
+ */
31
+ get auctionStartTime(): bigint;
32
+ /**
33
+ * Timestamp in sec
34
+ */
35
+ get auctionEndTime(): bigint;
36
+ get partialFillAllowed(): boolean;
37
+ get multipleFillsAllowed(): boolean;
38
+ static new(
39
+ /**
40
+ * Fusion extension address
41
+ * @see https://github.com/1inch/limit-order-settlement
42
+ */
43
+ settlementExtension: Address, orderInfo: OrderInfoData, details: {
13
44
  auction: AuctionDetails;
14
45
  fees?: {
15
46
  integratorFee?: IntegratorFee;
16
47
  bankFee?: bigint;
17
48
  };
18
49
  whitelist: AuctionWhitelistItem[];
50
+ /**
51
+ * Time from which order can be executed
52
+ */
53
+ resolvingStartTime?: bigint;
19
54
  }, extra?: {
20
55
  unwrapWETH?: boolean;
56
+ /**
57
+ * Required if `allowPartialFills` or `allowMultipleFills` is false
58
+ * Max size is 40bit
59
+ */
21
60
  nonce?: bigint;
22
61
  permit?: string;
62
+ /**
63
+ * Default is true
64
+ */
23
65
  allowPartialFills?: boolean;
66
+ /**
67
+ * Default is true
68
+ */
24
69
  allowMultipleFills?: boolean;
70
+ /**
71
+ * Order will expire in `orderExpirationDelay` after auction ends
72
+ * Default 12s
73
+ */
25
74
  orderExpirationDelay?: bigint;
26
75
  enablePermit2?: boolean;
27
76
  }): FusionOrder;
77
+ /**
78
+ * Create FusionOrder from order data and extension
79
+ *
80
+ */
28
81
  static fromDataAndExtension(order: LimitOrderV4Struct, extension: Extension): FusionOrder;
29
82
  build(): LimitOrderV4Struct;
30
- getOrderHash(domain?: import("@1inch/limit-order-sdk").EIP712DomainType): string;
31
- getTypedData(domain?: import("@1inch/limit-order-sdk").EIP712DomainType): EIP712TypedData;
83
+ getOrderHash(chainId: number): string;
84
+ getTypedData(chainId: number): EIP712TypedData;
32
85
  getCalculator(): AuctionCalculator;
86
+ /**
87
+ * Calculates required taking amount for passed `makingAmount` at block time `time`
88
+ *
89
+ * @param makingAmount maker swap amount
90
+ * @param time execution time in sec
91
+ * @param blockBaseFee block fee in wei.
92
+ * */
93
+ calcTakingAmount(makingAmount: bigint, time: bigint, blockBaseFee?: bigint): bigint;
94
+ /**
95
+ * Check whether address allowed to execute order at the given time
96
+ *
97
+ * @param executor address of executor
98
+ * @param executionTime timestamp in sec at which order planning to execute
99
+ */
100
+ canExecuteAt(executor: Address, executionTime: bigint): boolean;
101
+ /**
102
+ * Check is order expired at a given time
103
+ *
104
+ * @param time timestamp in seconds
105
+ */
106
+ isExpiredAt(time: bigint): boolean;
107
+ /**
108
+ * Returns how much fee will be credited from a resolver deposit account
109
+ * Token of fee set in Settlement extension constructor
110
+ * Actual deployments can be found at https://github.com/1inch/limit-order-settlement/tree/master/deployments
111
+ *
112
+ * @param filledMakingAmount which resolver fills
113
+ * @see https://github.com/1inch/limit-order-settlement/blob/0e3cae3653092ebb4ea5d2a338c87a54351ad883/contracts/extensions/ResolverFeeExtension.sol#L29
114
+ */
115
+ getResolverFee(filledMakingAmount: bigint): bigint;
116
+ /**
117
+ * Check if `wallet` can fill order before other
118
+ */
119
+ isExclusiveResolver(wallet: Address): boolean;
33
120
  }