@1inch/fusion-sdk 1.0.1-rc.4 → 1.0.1-rc.40

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 (100) 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/orders/types.d.ts +2 -0
  7. package/dist/api/orders/types.js.map +1 -1
  8. package/dist/api/quoter/quote/order-params.d.ts +1 -0
  9. package/dist/api/quoter/quote/order-params.js +1 -0
  10. package/dist/api/quoter/quote/order-params.js.map +1 -1
  11. package/dist/api/quoter/quote/quote.d.ts +5 -1
  12. package/dist/api/quoter/quote/quote.js +18 -10
  13. package/dist/api/quoter/quote/quote.js.map +1 -1
  14. package/dist/api/quoter/quote/types.d.ts +5 -0
  15. package/dist/api/quoter/quoter.api.d.ts +1 -0
  16. package/dist/api/quoter/quoter.api.js +3 -2
  17. package/dist/api/quoter/quoter.api.js.map +1 -1
  18. package/dist/api/quoter/quoter.api.spec.js +21 -6
  19. package/dist/api/quoter/quoter.api.spec.js.map +1 -1
  20. package/dist/api/quoter/quoter.request.d.ts +1 -0
  21. package/dist/api/quoter/quoter.request.js +3 -1
  22. package/dist/api/quoter/quoter.request.js.map +1 -1
  23. package/dist/api/quoter/types.d.ts +4 -3
  24. package/dist/api/quoter/types.js.map +1 -1
  25. package/dist/api/relayer/relayer.api.d.ts +1 -0
  26. package/dist/api/relayer/relayer.api.js +3 -2
  27. package/dist/api/relayer/relayer.api.js.map +1 -1
  28. package/dist/api/relayer/relayer.api.spec.js +8 -5
  29. package/dist/api/relayer/relayer.api.spec.js.map +1 -1
  30. package/dist/api/relayer/relayer.request.d.ts +1 -0
  31. package/dist/api/relayer/relayer.request.js +3 -1
  32. package/dist/api/relayer/relayer.request.js.map +1 -1
  33. package/dist/api/relayer/types.d.ts +1 -0
  34. package/dist/auction-calculator/auction-calculator.d.ts +23 -4
  35. package/dist/auction-calculator/auction-calculator.js +40 -6
  36. package/dist/auction-calculator/auction-calculator.js.map +1 -1
  37. package/dist/auction-calculator/auction-calculator.spec.js +7 -5
  38. package/dist/auction-calculator/auction-calculator.spec.js.map +1 -1
  39. package/dist/auction-calculator/calc.d.ts +8 -0
  40. package/dist/auction-calculator/calc.js +8 -0
  41. package/dist/auction-calculator/calc.js.map +1 -1
  42. package/dist/auction-calculator/constants.js +1 -1
  43. package/dist/auction-calculator/constants.js.map +1 -1
  44. package/dist/connector/blockchain/private-key-provider.connector.js +2 -0
  45. package/dist/connector/blockchain/private-key-provider.connector.js.map +1 -1
  46. package/dist/connector/ws/websocket-client.connector.js +2 -0
  47. package/dist/connector/ws/websocket-client.connector.js.map +1 -1
  48. package/dist/constants.d.ts +1 -0
  49. package/dist/constants.js +2 -1
  50. package/dist/constants.js.map +1 -1
  51. package/dist/fusion-order/auction-details/auction-details.d.ts +29 -0
  52. package/dist/fusion-order/auction-details/auction-details.js +21 -0
  53. package/dist/fusion-order/auction-details/auction-details.js.map +1 -1
  54. package/dist/fusion-order/auction-details/types.d.ts +12 -0
  55. package/dist/fusion-order/fusion-extension.d.ts +12 -4
  56. package/dist/fusion-order/fusion-extension.js +37 -9
  57. package/dist/fusion-order/fusion-extension.js.map +1 -1
  58. package/dist/fusion-order/fusion-extension.spec.d.ts +1 -0
  59. package/dist/fusion-order/fusion-extension.spec.js +75 -0
  60. package/dist/fusion-order/fusion-extension.spec.js.map +1 -0
  61. package/dist/fusion-order/fusion-order.d.ts +83 -3
  62. package/dist/fusion-order/fusion-order.js +124 -23
  63. package/dist/fusion-order/fusion-order.js.map +1 -1
  64. package/dist/fusion-order/fusion-order.spec.js +69 -5
  65. package/dist/fusion-order/fusion-order.spec.js.map +1 -1
  66. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts +38 -1
  67. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +125 -46
  68. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map +1 -1
  69. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js +95 -8
  70. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js.map +1 -1
  71. package/dist/fusion-order/settlement-post-interaction-data/types.d.ts +12 -3
  72. package/dist/fusion-order/source-track.d.ts +1 -0
  73. package/dist/fusion-order/source-track.js +16 -0
  74. package/dist/fusion-order/source-track.js.map +1 -0
  75. package/dist/index.d.ts +2 -2
  76. package/dist/index.js +11 -2
  77. package/dist/index.js.map +1 -1
  78. package/dist/sdk/sdk.js +12 -10
  79. package/dist/sdk/sdk.js.map +1 -1
  80. package/dist/sdk/types.d.ts +14 -0
  81. package/dist/sdk/utils.js +5 -2
  82. package/dist/sdk/utils.js.map +1 -1
  83. package/dist/utils/amounts.d.ts +17 -1
  84. package/dist/utils/amounts.js +19 -3
  85. package/dist/utils/amounts.js.map +1 -1
  86. package/dist/utils/time.d.ts +1 -0
  87. package/dist/utils/time.js +8 -0
  88. package/dist/utils/time.js.map +1 -0
  89. package/dist/validations.d.ts +4 -0
  90. package/dist/validations.js +4 -0
  91. package/dist/validations.js.map +1 -1
  92. package/dist/ws-api/ws-api.d.ts +1 -0
  93. package/dist/ws-api/ws-api.js +2 -1
  94. package/dist/ws-api/ws-api.js.map +1 -1
  95. package/dist/ws-api/ws.spec.js +9 -8
  96. package/dist/ws-api/ws.spec.js.map +1 -1
  97. package/package.json +31 -24
  98. package/dist/limit-order-contract/index.d.ts +0 -1
  99. package/dist/limit-order-contract/index.js +0 -6
  100. package/dist/limit-order-contract/index.js.map +0 -1
@@ -4,6 +4,7 @@ export declare class RelayerRequest {
4
4
  readonly order: LimitOrderV4Struct;
5
5
  readonly signature: string;
6
6
  readonly quoteId: string;
7
+ readonly extension: string;
7
8
  constructor(params: RelayerRequestParams);
8
9
  static new(params: RelayerRequestParams): RelayerRequest;
9
10
  build(): RelayerRequestParams;
@@ -6,6 +6,7 @@ class RelayerRequest {
6
6
  this.order = params.order;
7
7
  this.signature = params.signature;
8
8
  this.quoteId = params.quoteId;
9
+ this.extension = params.extension;
9
10
  }
10
11
  static new(params) {
11
12
  return new RelayerRequest(params);
@@ -14,7 +15,8 @@ class RelayerRequest {
14
15
  return {
15
16
  order: this.order,
16
17
  signature: this.signature,
17
- quoteId: this.quoteId
18
+ quoteId: this.quoteId,
19
+ extension: this.extension
18
20
  };
19
21
  }
20
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relayer.request.js","sourceRoot":"","sources":["../../../src/api/relayer/relayer.request.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;IAOvB,YAAY,MAA4B;QACpC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IACjC,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,MAA4B;QACnC,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,KAAK;QACD,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAA;IACL,CAAC;CACJ;AAxBD,wCAwBC"}
1
+ {"version":3,"file":"relayer.request.js","sourceRoot":"","sources":["../../../src/api/relayer/relayer.request.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;IASvB,YAAY,MAA4B;QACpC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,MAA4B;QACnC,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,KAAK;QACD,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAA;IACL,CAAC;CACJ;AA5BD,wCA4BC"}
@@ -4,6 +4,7 @@ export type RelayerRequestParams = {
4
4
  order: LimitOrderV4Struct;
5
5
  signature: string;
6
6
  quoteId: string;
7
+ extension: string;
7
8
  };
8
9
  export type RelayerApiConfig = {
9
10
  network: NetworkEnum;
@@ -1,4 +1,5 @@
1
1
  import { SettlementPostInteractionData, AuctionDetails, AuctionPoint } from '../fusion-order';
2
+ import { AuctionGasCostInfo } from '../fusion-order/auction-details/types';
2
3
  export declare class AuctionCalculator {
3
4
  private readonly startTime;
4
5
  private readonly duration;
@@ -7,12 +8,30 @@ export declare class AuctionCalculator {
7
8
  private readonly takerFeeRatio;
8
9
  private readonly gasCost;
9
10
  private static GAS_PRICE_BASE;
10
- constructor(startTime: bigint, duration: bigint, initialRateBump: bigint, points: AuctionPoint[], takerFeeRatio: bigint, gasCost?: {
11
- gasBumpEstimate: bigint;
12
- gasPriceEstimate: bigint;
13
- });
11
+ constructor(startTime: bigint, duration: bigint, initialRateBump: bigint, points: AuctionPoint[], takerFeeRatio: bigint, gasCost?: AuctionGasCostInfo);
14
12
  static fromAuctionData(data: SettlementPostInteractionData, details: AuctionDetails): AuctionCalculator;
13
+ static calcInitialRateBump(startAmount: bigint, endAmount: bigint): number;
14
+ /**
15
+ * @see https://github.com/1inch/limit-order-settlement/blob/1b6757eecb2574953b543821db6f7bbff5afee48/contracts/extensions/BaseExtension.sol#L56
16
+ */
17
+ static calcAuctionTakingAmount(takingAmount: bigint, rate: number, takerFeeRatio: bigint): bigint;
18
+ /**
19
+ * Encode estimation `baseFee` as `gasPriceEstimate` for `AuctionGasCostInfo`
20
+ */
21
+ static baseFeeToGasPriceEstimate(baseFee: bigint): bigint;
22
+ /**
23
+ * Calculates `gasBumpEstimate` for `AuctionGasCostInfo`
24
+ *
25
+ * @param endTakingAmount min return in destToken
26
+ * @param gasCostInToToken gas cost in destToken
27
+ */
28
+ static calcGasBumpEstimate(endTakingAmount: bigint, gasCostInToToken: bigint): bigint;
15
29
  calcAuctionTakingAmount(takingAmount: bigint, rate: number): bigint;
30
+ /**
31
+ * @see https://github.com/1inch/limit-order-settlement/blob/273defdf7b0f1867299dcbc306f32f035579310f/contracts/extensions/BaseExtension.sol#L121
32
+ * @param time auction timestamp in seconds
33
+ * @param blockBaseFee blockBaseFee in Wei, if passed, then rate will be calculated as if order executed in block with `blockBaseFee`
34
+ */
16
35
  calcRateBump(time: bigint, blockBaseFee?: bigint): number;
17
36
  private getGasPriceBump;
18
37
  private getAuctionBump;
@@ -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":"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"}
1
+ {"version":3,"file":"auction-calculator.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.ts"],"names":[],"mappings":";;;AAAA,iCAA0C;AAC1C,2CAAiD;AAMjD,gCAAuC;AAGvC,MAAa,iBAAiB;IAG1B,YACqB,SAAiB,EACjB,QAAgB,EAChB,eAAuB,EACvB,MAAsB,EACtB,aAAqB,EACrB,UAA8B;QAC3C,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,EAAE;KACvB;QARgB,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,CAGvB;IACF,CAAC;IAEJ,MAAM,CAAC,eAAe,CAClB,IAAmC,EACnC,OAAuB;QAEvB,OAAO,IAAI,iBAAiB,CACxB,OAAO,CAAC,SAAS,EACjB,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;IAED,MAAM,CAAC,mBAAmB,CAAC,WAAmB,EAAE,SAAiB;QAC7D,MAAM,IAAI,GACN,CAAC,iCAAqB,GAAG,WAAW,CAAC,GAAG,SAAS;YACjD,iCAAqB,CAAA;QAEzB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAC1B,YAAoB,EACpB,IAAY,EACZ,aAAqB;QAErB,MAAM,mBAAmB,GACrB,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,iCAAqB,CAAC,CAAC;YAC/D,iCAAqB,CAAA;QAEzB,IAAI,aAAa,KAAK,EAAE,EAAE;YACtB,OAAO,mBAAmB,CAAA;SAC7B;QAED,OAAO,IAAA,sBAAgB,EAAC,mBAAmB,EAAE,aAAa,CAAC,CAAA;IAC/D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,OAAe;QAC5C,OAAO,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAA;IACrD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CACtB,eAAuB,EACvB,gBAAwB;QAExB,OAAO,CAAC,gBAAgB,GAAG,iCAAqB,CAAC,GAAG,eAAe,CAAA;IACvE,CAAC;IAEM,uBAAuB,CAAC,YAAoB,EAAE,IAAY;QAC7D,OAAO,iBAAiB,CAAC,uBAAuB,CAC5C,YAAY,EACZ,IAAI,EACJ,IAAI,CAAC,aAAa,CACrB,CAAA;IACL,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,IAAY,EAAE,YAAY,GAAG,EAAE;QAC/C,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;;AA7JL,8CA8JC;AA7JkB,gCAAc,GAAG,QAAU,CAAA,CAAC,oBAAoB"}
@@ -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
  };
@@ -1,10 +1,18 @@
1
- import { Address, Extension, ExtensionBuilder } from '@1inch/limit-order-sdk';
1
+ import { Address, Extension, Interaction } from '@1inch/limit-order-sdk';
2
2
  import { AuctionDetails } from './auction-details';
3
3
  import { SettlementPostInteractionData } from './settlement-post-interaction-data';
4
- export declare class FusionExtension extends ExtensionBuilder {
4
+ export declare class FusionExtension {
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
+ readonly makerPermit?: Interaction | undefined;
9
+ private readonly builder;
10
+ constructor(address: Address, auctionDetails: AuctionDetails, postInteractionData: SettlementPostInteractionData, makerPermit?: Interaction | undefined);
11
+ /**
12
+ * Create `FusionExtension` from bytes
13
+ *
14
+ * @param bytes 0x prefixed bytes
15
+ */
16
+ static decode(bytes: string): FusionExtension;
9
17
  build(): Extension;
10
18
  }
@@ -1,20 +1,48 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.FusionExtension = void 0;
4
7
  const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
5
- class FusionExtension extends limit_order_sdk_1.ExtensionBuilder {
6
- constructor(address, details, postInteractionData) {
7
- super();
8
+ const assert_1 = __importDefault(require("assert"));
9
+ const auction_details_1 = require("./auction-details");
10
+ const settlement_post_interaction_data_1 = require("./settlement-post-interaction-data");
11
+ class FusionExtension {
12
+ constructor(address, auctionDetails, postInteractionData, makerPermit) {
8
13
  this.address = address;
9
- this.details = details;
14
+ this.auctionDetails = auctionDetails;
10
15
  this.postInteractionData = postInteractionData;
11
- }
12
- build() {
13
- const detailsBytes = this.details.encode();
14
- this.withMakingAmountData(this.address, detailsBytes)
16
+ this.makerPermit = makerPermit;
17
+ this.builder = new limit_order_sdk_1.ExtensionBuilder();
18
+ const detailsBytes = this.auctionDetails.encode();
19
+ this.builder
20
+ .withMakingAmountData(this.address, detailsBytes)
15
21
  .withTakingAmountData(this.address, detailsBytes)
16
22
  .withPostInteraction(new limit_order_sdk_1.Interaction(this.address, this.postInteractionData.encode()));
17
- return super.build();
23
+ if (makerPermit) {
24
+ this.builder.withMakerPermit(makerPermit.target, makerPermit.data);
25
+ }
26
+ }
27
+ /**
28
+ * Create `FusionExtension` from bytes
29
+ *
30
+ * @param bytes 0x prefixed bytes
31
+ */
32
+ static decode(bytes) {
33
+ const extension = limit_order_sdk_1.Extension.decode(bytes);
34
+ const settlementContract = limit_order_sdk_1.Address.fromFirstBytes(extension.makingAmountData);
35
+ (0, assert_1.default)(limit_order_sdk_1.Address.fromFirstBytes(extension.takingAmountData).equal(settlementContract) &&
36
+ limit_order_sdk_1.Address.fromFirstBytes(extension.postInteraction).equal(settlementContract), 'Invalid extension, all calls should be to the same address');
37
+ const auctionDetails = auction_details_1.AuctionDetails.fromExtension(extension);
38
+ const postInteractionData = settlement_post_interaction_data_1.SettlementPostInteractionData.fromExtension(extension);
39
+ const permit = extension.hasMakerPermit
40
+ ? limit_order_sdk_1.Interaction.decode(extension.makerPermit)
41
+ : undefined;
42
+ return new FusionExtension(settlementContract, auctionDetails, postInteractionData, permit);
43
+ }
44
+ build() {
45
+ return this.builder.build();
18
46
  }
19
47
  }
20
48
  exports.FusionExtension = FusionExtension;
@@ -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;AAC/B,oDAA2B;AAE3B,uDAAgD;AAChD,yFAAgF;AAEhF,MAAa,eAAe;IAGxB,YACoB,OAAgB,EAChB,cAA8B,EAC9B,mBAAkD,EAClD,WAAyB;QAHzB,YAAO,GAAP,OAAO,CAAS;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAA+B;QAClD,gBAAW,GAAX,WAAW,CAAc;QAN5B,YAAO,GAAG,IAAI,kCAAgB,EAAE,CAAA;QAQ7C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAA;QAEjD,IAAI,CAAC,OAAO;aACP,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,IAAI,WAAW,EAAE;YACb,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;SACrE;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAC,KAAa;QAC9B,MAAM,SAAS,GAAG,2BAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEzC,MAAM,kBAAkB,GAAG,yBAAO,CAAC,cAAc,CAC7C,SAAS,CAAC,gBAAgB,CAC7B,CAAA;QAED,IAAA,gBAAM,EACF,yBAAO,CAAC,cAAc,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,KAAK,CACpD,kBAAkB,CACrB;YACG,yBAAO,CAAC,cAAc,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,KAAK,CACnD,kBAAkB,CACrB,EACL,4DAA4D,CAC/D,CAAA;QAED,MAAM,cAAc,GAAG,gCAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAE9D,MAAM,mBAAmB,GACrB,gEAA6B,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAE1D,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc;YACnC,CAAC,CAAC,6BAAW,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAA;QAEf,OAAO,IAAI,eAAe,CACtB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,MAAM,CACT,CAAA;IACL,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAC/B,CAAC;CACJ;AAjED,0CAiEC"}
@@ -0,0 +1 @@
1
+ export {};