@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,102 +4,181 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SettlementPostInteractionData = void 0;
7
- const ethers_1 = require("ethers");
8
7
  const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
9
8
  const byte_utils_1 = require("@1inch/byte-utils");
10
9
  const assert_1 = __importDefault(require("assert"));
11
10
  const validations_1 = require("../../validations");
12
11
  const utils_1 = require("../../utils");
12
+ const constants_1 = require("../../constants");
13
13
  class SettlementPostInteractionData {
14
14
  constructor(data) {
15
15
  this.whitelist = data.whitelist;
16
16
  this.integratorFee = data?.integratorFee;
17
- this.bankFee = data.bankFee;
18
- this.auctionStartTime = data.auctionStartTime;
17
+ this.bankFee = data.bankFee || 0n;
18
+ this.resolvingStartTime = data.resolvingStartTime;
19
+ this.customReceiver = data.customReceiver;
20
+ if (this.integratorFee?.ratio) {
21
+ (0, assert_1.default)(!this.integratorFee.receiver.isZero(), 'Fee receiver can not be zero when fee set');
22
+ }
19
23
  }
20
24
  static new(data) {
25
+ (0, assert_1.default)(data.whitelist.length, 'Whitelist can not be empty');
26
+ // transform timestamps to cumulative delays
27
+ let sumDelay = 0n;
28
+ const whitelist = data.whitelist
29
+ .map((d) => ({
30
+ addressHalf: d.address.toString().slice(-20),
31
+ allowFrom: d.allowFrom < data.resolvingStartTime
32
+ ? data.resolvingStartTime
33
+ : d.allowFrom
34
+ }))
35
+ .sort((a, b) => Number(a.allowFrom - b.allowFrom)) // ASC
36
+ .map((val) => {
37
+ const delay = val.allowFrom - data.resolvingStartTime - sumDelay;
38
+ sumDelay += delay;
39
+ (0, assert_1.default)(delay < constants_1.UINT_16_MAX, 'Too big diff between timestamps');
40
+ return {
41
+ delay,
42
+ addressHalf: val.addressHalf
43
+ };
44
+ });
21
45
  return new SettlementPostInteractionData({
22
46
  ...data,
23
- whitelist: data.whitelist.map((d) => ({
24
- addressHalf: d.address.toString().slice(-20),
25
- delay: d.delay
26
- }))
47
+ whitelist
27
48
  });
28
49
  }
50
+ /**
51
+ * Construct `SettlementPostInteractionData` from bytes
52
+ * @param data bytes with 0x prefix in next format:
53
+ * - [uint32 feeBank] only when first bit of `bitMask` enabled
54
+ * - [uint16 integratorFeeRation, uint160 integratorFeeReceiver, [uint160 customReceiver]] only when second bit of `bitMask` enabled
55
+ * - uint32 auctionStartTime
56
+ * - (bytes10 last10bytesOfAddress, uint16 auctionDelay) * N whitelist info
57
+ * - uint8 bitMask:
58
+ * 0b0000_0001 - fee bank mask
59
+ * 0b0000_0010 - integrator fee mask
60
+ * 0b0000_0100 - is custom receiver present (only used when integrator fee enabled)
61
+ * 0b1111_1000 - resolvers count mask
62
+ *
63
+ * All data is tight packed
64
+ * @see SettlementPostInteractionData.encode
65
+ */
29
66
  static decode(data) {
30
67
  (0, assert_1.default)((0, validations_1.isHexBytes)(data), 'Post interaction data must be valid bytes string');
31
68
  const iter = byte_utils_1.BytesIter.BigInt(data);
32
- const feeType = iter.nextByte();
69
+ const flags = new byte_utils_1.BN(iter.nextByte(byte_utils_1.BytesIter.SIDE.Back));
33
70
  let bankFee = 0n;
34
71
  let integratorFee;
35
- if ((feeType & 1n) === 1n) {
72
+ let customReceiver;
73
+ // fee bank presented
74
+ if (flags.getBit(0n)) {
36
75
  bankFee = iter.nextUint32();
37
76
  }
38
- if ((feeType & 2n) === 2n) {
77
+ // integrator fee presented
78
+ if (flags.getBit(1n)) {
79
+ const integratorFeeRatio = iter.nextUint16();
39
80
  const integratorAddress = iter.nextUint160();
40
- const integratorFeeRatio = iter.nextUint32();
41
81
  integratorFee = {
42
82
  ratio: integratorFeeRatio,
43
83
  receiver: limit_order_sdk_1.Address.fromBigInt(integratorAddress)
44
84
  };
85
+ // custom receiver presented
86
+ if (flags.getBit(2n)) {
87
+ customReceiver = limit_order_sdk_1.Address.fromBigInt(iter.nextUint160());
88
+ }
45
89
  }
46
- const auctionStartTime = iter.nextUint32();
90
+ const resolvingStartTime = iter.nextUint32();
47
91
  const whitelist = [];
48
92
  while (!iter.isEmpty()) {
49
93
  const addressHalf = iter
50
94
  .nextBytes(10)
51
95
  .toString(16)
52
96
  .padStart(20, '0');
53
- const allowance = iter.nextUint16();
97
+ const delay = iter.nextUint16();
54
98
  whitelist.push({
55
99
  addressHalf,
56
- delay: allowance
100
+ delay
57
101
  });
58
102
  }
59
103
  return new SettlementPostInteractionData({
60
104
  integratorFee,
61
105
  bankFee,
62
- auctionStartTime,
63
- whitelist
106
+ resolvingStartTime,
107
+ whitelist,
108
+ customReceiver
64
109
  });
65
110
  }
111
+ static fromExtension(extension) {
112
+ return SettlementPostInteractionData.decode((0, utils_1.add0x)(extension.postInteraction.slice(42)));
113
+ }
114
+ /**
115
+ * Serialize post-interaction data to bytes
116
+ */
66
117
  encode() {
67
- const fee = {
68
- type: 'uint8',
69
- value: 0n
70
- };
71
- const data = [fee];
118
+ /**
119
+ * 0b0000_0001 - fee bank mask
120
+ * 0b0000_0010 - integrator fee mask
121
+ * 0b0000_0100 - is custom receiver present
122
+ * 0b1111_1000 - resolvers count mask
123
+ */
124
+ let bitMask = new byte_utils_1.BN(0n);
125
+ const bytes = new byte_utils_1.BytesBuilder();
126
+ // Add bank fee if exists
72
127
  if (this.bankFee) {
73
- fee.value |= 1n;
74
- data.push({
75
- type: 'uint32',
76
- value: ethers_1.ethers.solidityPacked(['uint32'], [this.bankFee])
77
- });
128
+ bitMask = bitMask.setBit(0n, 1);
129
+ bytes.addUint32(this.bankFee);
78
130
  }
131
+ // add integrator fee if exists
79
132
  if (this.integratorFee?.ratio) {
80
- fee.value |= 2n;
81
- data.push({
82
- type: 'uint160',
83
- value: ethers_1.ethers.solidityPacked(['uint160'], [this.integratorFee.receiver.toString()])
84
- }, {
85
- type: 'uint32',
86
- value: ethers_1.ethers.solidityPacked(['uint32'], [this.integratorFee.ratio])
87
- });
133
+ bitMask = bitMask.setBit(1n, 1);
134
+ bytes
135
+ .addUint16(this.integratorFee.ratio)
136
+ .addAddress(this.integratorFee.receiver.toString());
137
+ if (this.customReceiver && !this.customReceiver.isZero()) {
138
+ bitMask = bitMask.setBit(2n, 1);
139
+ bytes.addAddress(this.customReceiver.toString());
140
+ }
88
141
  }
89
- data.push({
90
- type: 'uint32',
91
- value: this.auctionStartTime
92
- });
142
+ bytes.addUint32(this.resolvingStartTime);
143
+ // whitelist data
93
144
  for (const wl of this.whitelist) {
94
- data.push({
95
- type: 'bytes10',
96
- value: (0, utils_1.add0x)(wl.addressHalf)
97
- }, {
98
- type: 'uint16',
99
- value: BigInt(wl.delay)
100
- });
145
+ bytes.addBytes((0, utils_1.add0x)(wl.addressHalf)).addUint16(wl.delay);
146
+ }
147
+ bitMask = bitMask.setMask(new byte_utils_1.BitMask(3n, 8n), BigInt(this.whitelist.length));
148
+ bytes.addUint8(bitMask.value);
149
+ return bytes.asHex();
150
+ }
151
+ /**
152
+ * Check whether address allowed to execute order at the given time
153
+ *
154
+ * @param executor address of executor
155
+ * @param executionTime timestamp in sec at which order planning to execute
156
+ */
157
+ canExecuteAt(executor, executionTime) {
158
+ const addressHalf = executor.toString().slice(-20);
159
+ let allowedFrom = this.resolvingStartTime;
160
+ for (const whitelist of this.whitelist) {
161
+ allowedFrom += whitelist.delay;
162
+ if (addressHalf === whitelist.addressHalf) {
163
+ return executionTime >= allowedFrom;
164
+ }
165
+ else if (executionTime < allowedFrom) {
166
+ return false;
167
+ }
168
+ }
169
+ return false;
170
+ }
171
+ isExclusiveResolver(wallet) {
172
+ const addressHalf = wallet.toString().slice(-20);
173
+ // only one resolver, so check if it is the passed address
174
+ if (this.whitelist.length === 1) {
175
+ return addressHalf === this.whitelist[0].addressHalf;
176
+ }
177
+ // more than 1 address can fill at the same time, no exclusivity
178
+ if (this.whitelist[0].delay === this.whitelist[1].delay) {
179
+ return false;
101
180
  }
102
- return ethers_1.ethers.solidityPacked(data.map((d) => d.type), data.map((d) => d.value));
181
+ return addressHalf === this.whitelist[0].addressHalf;
103
182
  }
104
183
  }
105
184
  exports.SettlementPostInteractionData = SettlementPostInteractionData;
@@ -1 +1 @@
1
- {"version":3,"file":"settlement-post-interaction-data.js","sourceRoot":"","sources":["../../../src/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settlement-post-interaction-data.js","sourceRoot":"","sources":["../../../src/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,120 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
4
+ const byte_utils_1 = require("@1inch/byte-utils");
4
5
  const settlement_post_interaction_data_1 = require("./settlement-post-interaction-data");
5
6
  const utils_1 = require("../../sdk/utils");
6
- describe('PostInteractionData', () => {
7
+ describe('SettlementPostInteractionData', () => {
8
+ it('Should encode/decode with bank fee and whitelist', () => {
9
+ const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
10
+ bankFee: 1n,
11
+ resolvingStartTime: 1708117482n,
12
+ whitelist: [
13
+ {
14
+ address: limit_order_sdk_1.Address.ZERO_ADDRESS,
15
+ allowFrom: 0n
16
+ }
17
+ ]
18
+ });
19
+ const encoded = data.encode();
20
+ expect((0, byte_utils_1.getBytesCount)(encoded)).toEqual(21n);
21
+ expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(encoded)).toStrictEqual(data);
22
+ });
7
23
  it('Should encode/decode with no fees and whitelist', () => {
8
24
  const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
9
- bankFee: 0n,
10
- auctionStartTime: 1708117482n,
11
- whitelist: []
25
+ resolvingStartTime: 1708117482n,
26
+ whitelist: [
27
+ {
28
+ address: limit_order_sdk_1.Address.ZERO_ADDRESS,
29
+ allowFrom: 0n
30
+ }
31
+ ]
12
32
  });
13
- expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(data.encode())).toStrictEqual(data);
33
+ const encoded = data.encode();
34
+ expect((0, byte_utils_1.getBytesCount)(encoded)).toEqual(17n);
35
+ expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(encoded)).toStrictEqual(data);
14
36
  });
15
37
  it('Should encode/decode with fees and whitelist', () => {
16
38
  const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
17
39
  bankFee: 0n,
18
- auctionStartTime: 1708117482n,
40
+ resolvingStartTime: 1708117482n,
19
41
  whitelist: [
20
42
  {
21
43
  address: limit_order_sdk_1.Address.ZERO_ADDRESS,
22
- delay: 0n
44
+ allowFrom: 0n
23
45
  }
24
46
  ],
25
47
  integratorFee: {
26
- receiver: limit_order_sdk_1.Address.ZERO_ADDRESS,
48
+ receiver: limit_order_sdk_1.Address.fromBigInt(1n),
27
49
  ratio: (0, utils_1.bpsToRatioFormat)(10)
28
50
  }
29
51
  });
30
52
  expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(data.encode())).toStrictEqual(data);
31
53
  });
54
+ it('Should encode/decode with fees, custom receiver and whitelist', () => {
55
+ const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
56
+ bankFee: 0n,
57
+ resolvingStartTime: 1708117482n,
58
+ whitelist: [
59
+ {
60
+ address: limit_order_sdk_1.Address.ZERO_ADDRESS,
61
+ allowFrom: 0n
62
+ }
63
+ ],
64
+ integratorFee: {
65
+ receiver: limit_order_sdk_1.Address.fromBigInt(1n),
66
+ ratio: (0, utils_1.bpsToRatioFormat)(10)
67
+ },
68
+ customReceiver: limit_order_sdk_1.Address.fromBigInt(1337n)
69
+ });
70
+ expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(data.encode())).toStrictEqual(data);
71
+ });
72
+ it('Should generate correct whitelist', () => {
73
+ const start = 1708117482n;
74
+ const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
75
+ resolvingStartTime: start,
76
+ whitelist: [
77
+ {
78
+ address: limit_order_sdk_1.Address.fromBigInt(2n),
79
+ allowFrom: start + 1000n
80
+ },
81
+ {
82
+ address: limit_order_sdk_1.Address.ZERO_ADDRESS,
83
+ allowFrom: start - 10n // should be set to start
84
+ },
85
+ {
86
+ address: limit_order_sdk_1.Address.fromBigInt(1n),
87
+ allowFrom: start + 10n
88
+ },
89
+ {
90
+ address: limit_order_sdk_1.Address.fromBigInt(3n),
91
+ allowFrom: start + 10n
92
+ }
93
+ ]
94
+ });
95
+ expect(data.whitelist).toStrictEqual([
96
+ {
97
+ addressHalf: limit_order_sdk_1.Address.ZERO_ADDRESS.toString().slice(-20),
98
+ delay: 0n
99
+ },
100
+ {
101
+ addressHalf: limit_order_sdk_1.Address.fromBigInt(1n).toString().slice(-20),
102
+ delay: 10n
103
+ },
104
+ {
105
+ addressHalf: limit_order_sdk_1.Address.fromBigInt(3n).toString().slice(-20),
106
+ delay: 0n
107
+ },
108
+ {
109
+ addressHalf: limit_order_sdk_1.Address.fromBigInt(2n).toString().slice(-20),
110
+ delay: 990n
111
+ }
112
+ ]);
113
+ expect(data.canExecuteAt(limit_order_sdk_1.Address.fromBigInt(1n), start + 10n)).toEqual(true);
114
+ expect(data.canExecuteAt(limit_order_sdk_1.Address.fromBigInt(1n), start + 9n)).toEqual(false);
115
+ expect(data.canExecuteAt(limit_order_sdk_1.Address.fromBigInt(3n), start + 10n)).toEqual(true);
116
+ expect(data.canExecuteAt(limit_order_sdk_1.Address.fromBigInt(3n), start + 9n)).toEqual(false);
117
+ expect(data.canExecuteAt(limit_order_sdk_1.Address.fromBigInt(2n), start + 50n)).toEqual(false);
118
+ });
32
119
  });
33
120
  //# sourceMappingURL=settlement-post-interaction-data.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settlement-post-interaction-data.spec.js","sourceRoot":"","sources":["../../../src/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.ts"],"names":[],"mappings":";;AAAA,4DAA8C;AAC9C,yFAAgF;AAChF,2CAAgD;AAEhD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,gEAA6B,CAAC,GAAG,CAAC;YAC3C,OAAO,EAAE,EAAE;YACX,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EAAE,EAAE;SAChB,CAAC,CAAA;QAEF,MAAM,CACF,gEAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CACtD,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,IAAI,GAAG,gEAA6B,CAAC,GAAG,CAAC;YAC3C,OAAO,EAAE,EAAE;YACX,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,yBAAO,CAAC,YAAY;oBAC7B,KAAK,EAAE,EAAE;iBACZ;aACJ;YACD,aAAa,EAAE;gBACX,QAAQ,EAAE,yBAAO,CAAC,YAAY;gBAC9B,KAAK,EAAE,IAAA,wBAAgB,EAAC,EAAE,CAAC;aAC9B;SACJ,CAAC,CAAA;QAEF,MAAM,CACF,gEAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CACtD,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"settlement-post-interaction-data.spec.js","sourceRoot":"","sources":["../../../src/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,24 @@
1
1
  import { Address } from '@1inch/limit-order-sdk';
2
2
  export type AuctionWhitelistItem = {
3
3
  address: Address;
4
- delay: bigint;
4
+ /**
5
+ * Timestamp in sec at which address can start resolving
6
+ */
7
+ allowFrom: bigint;
5
8
  };
6
9
  export type SettlementSuffixData = {
7
10
  whitelist: AuctionWhitelistItem[];
8
11
  integratorFee?: IntegratorFee;
9
- bankFee: bigint;
10
- auctionStartTime: bigint;
12
+ bankFee?: bigint;
13
+ resolvingStartTime: bigint;
14
+ customReceiver?: Address;
11
15
  };
12
16
  export type IntegratorFee = {
17
+ /**
18
+ * In pbs multiplied by precision
19
+ *
20
+ * @see bpsToRatioFormat
21
+ */
13
22
  ratio: bigint;
14
23
  receiver: Address;
15
24
  };
@@ -0,0 +1 @@
1
+ export declare function injectTrackCode(salt: bigint, source?: string): bigint;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.injectTrackCode = void 0;
4
+ const byte_utils_1 = require("@1inch/byte-utils");
5
+ const ethers_1 = require("ethers");
6
+ const utils_1 = require("../utils");
7
+ const TRACK_CODE_MASK = new byte_utils_1.BitMask(224n, 256n);
8
+ function getTrackCodeForSource(source) {
9
+ return BigInt((0, utils_1.add0x)((0, ethers_1.id)(source).slice(0, 10)));
10
+ }
11
+ function injectTrackCode(salt, source) {
12
+ const track = source ? getTrackCodeForSource(source) : 0n;
13
+ return new byte_utils_1.BN(salt).setMask(TRACK_CODE_MASK, track).value;
14
+ }
15
+ exports.injectTrackCode = injectTrackCode;
16
+ //# sourceMappingURL=source-track.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-track.js","sourceRoot":"","sources":["../../src/fusion-order/source-track.ts"],"names":[],"mappings":";;;AAAA,kDAA6C;AAC7C,mCAAyB;AACzB,oCAA8B;AAE9B,MAAM,eAAe,GAAG,IAAI,oBAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAE/C,SAAS,qBAAqB,CAAC,MAAc;IACzC,OAAO,MAAM,CAAC,IAAA,aAAK,EAAC,IAAA,WAAE,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,SAAgB,eAAe,CAAC,IAAY,EAAE,MAAe;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAEzD,OAAO,IAAI,eAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,KAAK,CAAA;AAC7D,CAAC;AAJD,0CAIC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { Address, LimitOrderV4Struct, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder } from '@1inch/limit-order-sdk';
1
+ export { Address, LimitOrderV4Struct, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder, AmountMode, getLimitOrderV4Domain, LimitOrderContract } from '@1inch/limit-order-sdk';
2
2
  export * from './fusion-order/index';
3
3
  export * from './auction-calculator/index';
4
4
  export * from './connector/index';
@@ -9,4 +9,4 @@ export * from './utils/amounts';
9
9
  export * from './validations';
10
10
  export * from './ws-api';
11
11
  export * from './errors';
12
- export * from './limit-order-contract';
12
+ export { QuoterRequest, QuoterResponse, RelayerRequest, QuoterCustomPresetRequest, PresetEnum, Preset, Quote } from './api';
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ExtensionBuilder = exports.TakerTraits = exports.Interaction = exports.getLimitOrderContract = exports.randBigInt = exports.Extension = exports.Address = void 0;
17
+ exports.Quote = exports.Preset = exports.PresetEnum = exports.QuoterCustomPresetRequest = exports.RelayerRequest = exports.QuoterRequest = exports.LimitOrderContract = exports.getLimitOrderV4Domain = exports.AmountMode = exports.ExtensionBuilder = exports.TakerTraits = exports.Interaction = exports.getLimitOrderContract = exports.randBigInt = exports.Extension = exports.Address = void 0;
18
18
  var limit_order_sdk_1 = require("@1inch/limit-order-sdk");
19
19
  Object.defineProperty(exports, "Address", { enumerable: true, get: function () { return limit_order_sdk_1.Address; } });
20
20
  Object.defineProperty(exports, "Extension", { enumerable: true, get: function () { return limit_order_sdk_1.Extension; } });
@@ -23,6 +23,9 @@ Object.defineProperty(exports, "getLimitOrderContract", { enumerable: true, get:
23
23
  Object.defineProperty(exports, "Interaction", { enumerable: true, get: function () { return limit_order_sdk_1.Interaction; } });
24
24
  Object.defineProperty(exports, "TakerTraits", { enumerable: true, get: function () { return limit_order_sdk_1.TakerTraits; } });
25
25
  Object.defineProperty(exports, "ExtensionBuilder", { enumerable: true, get: function () { return limit_order_sdk_1.ExtensionBuilder; } });
26
+ Object.defineProperty(exports, "AmountMode", { enumerable: true, get: function () { return limit_order_sdk_1.AmountMode; } });
27
+ Object.defineProperty(exports, "getLimitOrderV4Domain", { enumerable: true, get: function () { return limit_order_sdk_1.getLimitOrderV4Domain; } });
28
+ Object.defineProperty(exports, "LimitOrderContract", { enumerable: true, get: function () { return limit_order_sdk_1.LimitOrderContract; } });
26
29
  __exportStar(require("./fusion-order/index"), exports);
27
30
  __exportStar(require("./auction-calculator/index"), exports);
28
31
  __exportStar(require("./connector/index"), exports);
@@ -33,5 +36,11 @@ __exportStar(require("./utils/amounts"), exports);
33
36
  __exportStar(require("./validations"), exports);
34
37
  __exportStar(require("./ws-api"), exports);
35
38
  __exportStar(require("./errors"), exports);
36
- __exportStar(require("./limit-order-contract"), exports);
39
+ var api_1 = require("./api");
40
+ Object.defineProperty(exports, "QuoterRequest", { enumerable: true, get: function () { return api_1.QuoterRequest; } });
41
+ Object.defineProperty(exports, "RelayerRequest", { enumerable: true, get: function () { return api_1.RelayerRequest; } });
42
+ Object.defineProperty(exports, "QuoterCustomPresetRequest", { enumerable: true, get: function () { return api_1.QuoterCustomPresetRequest; } });
43
+ Object.defineProperty(exports, "PresetEnum", { enumerable: true, get: function () { return api_1.PresetEnum; } });
44
+ Object.defineProperty(exports, "Preset", { enumerable: true, get: function () { return api_1.Preset; } });
45
+ Object.defineProperty(exports, "Quote", { enumerable: true, get: function () { return api_1.Quote; } });
37
46
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAS+B;AAR3B,0GAAA,OAAO,OAAA;AAEP,4GAAA,SAAS,OAAA;AACT,6GAAA,UAAU,OAAA;AACV,wHAAA,qBAAqB,OAAA;AACrB,8GAAA,WAAW,OAAA;AACX,8GAAA,WAAW,OAAA;AACX,mHAAA,gBAAgB,OAAA;AAEpB,uDAAoC;AACpC,6DAA0C;AAC1C,oDAAiC;AACjC,8CAA2B;AAC3B,8CAA2B;AAC3B,0CAAuB;AACvB,kDAA+B;AAC/B,gDAA6B;AAC7B,2CAAwB;AACxB,2CAAwB;AACxB,yDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAY+B;AAX3B,0GAAA,OAAO,OAAA;AAEP,4GAAA,SAAS,OAAA;AACT,6GAAA,UAAU,OAAA;AACV,wHAAA,qBAAqB,OAAA;AACrB,8GAAA,WAAW,OAAA;AACX,8GAAA,WAAW,OAAA;AACX,mHAAA,gBAAgB,OAAA;AAChB,6GAAA,UAAU,OAAA;AACV,wHAAA,qBAAqB,OAAA;AACrB,qHAAA,kBAAkB,OAAA;AAEtB,uDAAoC;AACpC,6DAA0C;AAC1C,oDAAiC;AACjC,8CAA2B;AAC3B,8CAA2B;AAC3B,0CAAuB;AACvB,kDAA+B;AAC/B,gDAA6B;AAC7B,2CAAwB;AACxB,2CAAwB;AACxB,6BAQc;AAPV,oGAAA,aAAa,OAAA;AAEb,qGAAA,cAAc,OAAA;AACd,gHAAA,yBAAyB,OAAA;AACzB,iGAAA,UAAU,OAAA;AACV,6FAAA,MAAM,OAAA;AACN,4FAAA,KAAK,OAAA"}
package/dist/sdk/sdk.js CHANGED
@@ -36,7 +36,8 @@ class FusionSDK {
36
36
  permit: params.permit,
37
37
  enableEstimate: false,
38
38
  fee: params?.takingFeeBps,
39
- source: params.source
39
+ source: params.source,
40
+ isPermit2: params.isPermit2
40
41
  });
41
42
  return this.api.getQuote(request);
42
43
  }
@@ -49,7 +50,8 @@ class FusionSDK {
49
50
  permit: params.permit,
50
51
  enableEstimate: false,
51
52
  fee: params?.takingFeeBps,
52
- source: params.source
53
+ source: params.source,
54
+ isPermit2: params.isPermit2
53
55
  });
54
56
  const bodyRequest = api_1.QuoterCustomPresetRequest.new({
55
57
  customPreset: body.customPreset
@@ -67,13 +69,11 @@ class FusionSDK {
67
69
  : undefined,
68
70
  preset: params.preset,
69
71
  nonce: params.nonce,
70
- permit: params.permit,
71
72
  takingFeeReceiver: params.fee?.takingFeeReceiver,
72
73
  allowPartialFills: params.allowPartialFills,
73
74
  allowMultipleFills: params.allowMultipleFills
74
75
  });
75
- const domain = (0, limit_order_sdk_1.getLimitOrderV4Domain)(this.config.network);
76
- const hash = order.getOrderHash(domain);
76
+ const hash = order.getOrderHash(this.config.network);
77
77
  return { order, hash, quoteId: quote.quoteId };
78
78
  }
79
79
  async submitOrder(order, quoteId) {
@@ -81,19 +81,20 @@ class FusionSDK {
81
81
  throw new Error('blockchainProvider has not set to config');
82
82
  }
83
83
  const orderStruct = order.build();
84
- const domain = (0, limit_order_sdk_1.getLimitOrderV4Domain)(this.config.network);
85
- const signature = await this.config.blockchainProvider.signTypedData(orderStruct.maker, order.getTypedData(domain));
84
+ const signature = await this.config.blockchainProvider.signTypedData(orderStruct.maker, order.getTypedData(this.config.network));
86
85
  const relayerRequest = api_1.RelayerRequest.new({
87
86
  order: orderStruct,
88
87
  signature,
89
- quoteId
88
+ quoteId,
89
+ extension: order.extension.encode()
90
90
  });
91
91
  await this.api.submitOrder(relayerRequest);
92
92
  return {
93
93
  order: orderStruct,
94
94
  signature,
95
95
  quoteId,
96
- orderHash: order.getOrderHash(domain)
96
+ orderHash: order.getOrderHash(this.config.network),
97
+ extension: relayerRequest.extension
97
98
  };
98
99
  }
99
100
  async placeOrder(params) {
@@ -118,7 +119,8 @@ class FusionSDK {
118
119
  permit: params.permit,
119
120
  enableEstimate: true,
120
121
  fee: params.fee?.takingFeeBps,
121
- source: params.source
122
+ source: params.source,
123
+ isPermit2: params.isPermit2
122
124
  });
123
125
  if (!params.customPreset) {
124
126
  return this.api.getQuote(quoterRequest);
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk/sdk.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export type QuoteParams = {
17
17
  permit?: string;
18
18
  takingFeeBps?: number;
19
19
  source?: string;
20
+ isPermit2?: boolean;
20
21
  };
21
22
  export type QuoteCustomPresetParams = {
22
23
  customPreset: CustomPreset;
@@ -29,11 +30,23 @@ export type OrderParams = {
29
30
  permit?: string;
30
31
  receiver?: string;
31
32
  preset?: PresetEnum;
33
+ /**
34
+ * Unique for `walletAddress` can be serial or random generated
35
+ *
36
+ * @see randBigInt
37
+ */
32
38
  nonce?: bigint;
33
39
  fee?: TakingFeeInfo;
34
40
  source?: string;
41
+ isPermit2?: boolean;
35
42
  customPreset?: CustomPreset;
43
+ /**
44
+ * true by default
45
+ */
36
46
  allowPartialFills?: boolean;
47
+ /**
48
+ * true by default
49
+ */
37
50
  allowMultipleFills?: boolean;
38
51
  };
39
52
  export type TakingFeeInfo = {
@@ -45,6 +58,7 @@ export type OrderInfo = {
45
58
  signature: string;
46
59
  quoteId: string;
47
60
  orderHash: string;
61
+ extension: string;
48
62
  };
49
63
  export type PreparedOrder = {
50
64
  order: FusionOrder;