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

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 (67) hide show
  1. package/dist/api/orders/order-api.spec.js +1 -0
  2. package/dist/api/orders/order-api.spec.js.map +1 -1
  3. package/dist/api/quoter/quote/quote.d.ts +5 -1
  4. package/dist/api/quoter/quote/quote.js +3 -3
  5. package/dist/api/quoter/quote/quote.js.map +1 -1
  6. package/dist/api/quoter/quote/types.d.ts +4 -0
  7. package/dist/api/quoter/quoter.api.spec.js +18 -3
  8. package/dist/api/quoter/quoter.api.spec.js.map +1 -1
  9. package/dist/api/quoter/types.d.ts +3 -3
  10. package/dist/auction-calculator/auction-calculator.d.ts +23 -4
  11. package/dist/auction-calculator/auction-calculator.js +40 -6
  12. package/dist/auction-calculator/auction-calculator.js.map +1 -1
  13. package/dist/auction-calculator/auction-calculator.spec.js +7 -5
  14. package/dist/auction-calculator/auction-calculator.spec.js.map +1 -1
  15. package/dist/auction-calculator/calc.d.ts +8 -0
  16. package/dist/auction-calculator/calc.js +8 -0
  17. package/dist/auction-calculator/calc.js.map +1 -1
  18. package/dist/auction-calculator/constants.js +1 -1
  19. package/dist/auction-calculator/constants.js.map +1 -1
  20. package/dist/connector/blockchain/private-key-provider.connector.js +2 -0
  21. package/dist/connector/blockchain/private-key-provider.connector.js.map +1 -1
  22. package/dist/connector/ws/websocket-client.connector.js +2 -0
  23. package/dist/connector/ws/websocket-client.connector.js.map +1 -1
  24. package/dist/constants.d.ts +1 -0
  25. package/dist/constants.js +2 -1
  26. package/dist/constants.js.map +1 -1
  27. package/dist/fusion-order/auction-details/auction-details.d.ts +29 -0
  28. package/dist/fusion-order/auction-details/auction-details.js +21 -0
  29. package/dist/fusion-order/auction-details/auction-details.js.map +1 -1
  30. package/dist/fusion-order/auction-details/types.d.ts +12 -0
  31. package/dist/fusion-order/fusion-extension.d.ts +2 -2
  32. package/dist/fusion-order/fusion-extension.js +3 -3
  33. package/dist/fusion-order/fusion-extension.js.map +1 -1
  34. package/dist/fusion-order/fusion-order.d.ts +89 -3
  35. package/dist/fusion-order/fusion-order.js +144 -17
  36. package/dist/fusion-order/fusion-order.js.map +1 -1
  37. package/dist/fusion-order/fusion-order.spec.js +35 -5
  38. package/dist/fusion-order/fusion-order.spec.js.map +1 -1
  39. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts +38 -1
  40. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +125 -46
  41. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map +1 -1
  42. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js +95 -8
  43. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js.map +1 -1
  44. package/dist/fusion-order/settlement-post-interaction-data/types.d.ts +12 -3
  45. package/dist/index.d.ts +2 -2
  46. package/dist/index.js +11 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/sdk/sdk.js +3 -6
  49. package/dist/sdk/sdk.js.map +1 -1
  50. package/dist/sdk/types.d.ts +11 -0
  51. package/dist/sdk/utils.js +5 -2
  52. package/dist/sdk/utils.js.map +1 -1
  53. package/dist/utils/amounts.d.ts +17 -1
  54. package/dist/utils/amounts.js +19 -3
  55. package/dist/utils/amounts.js.map +1 -1
  56. package/dist/utils/time.d.ts +1 -0
  57. package/dist/utils/time.js +8 -0
  58. package/dist/utils/time.js.map +1 -0
  59. package/dist/validations.d.ts +4 -0
  60. package/dist/validations.js +4 -0
  61. package/dist/validations.js.map +1 -1
  62. package/dist/ws-api/ws.spec.js +1 -0
  63. package/dist/ws-api/ws.spec.js.map +1 -1
  64. package/package.json +31 -24
  65. package/dist/limit-order-contract/index.d.ts +0 -1
  66. package/dist/limit-order-contract/index.js +0 -6
  67. 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":";;;;;;AAAA,4DAAyD;AACzD,kDAAsE;AACtE,oDAA2B;AAE3B,mDAA4C;AAC5C,uCAAiC;AACjC,+CAA2C;AAE3C,MAAa,6BAA6B;IAWtC,YAAoB,IAMnB;QACG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,aAAa,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAA;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QAEzC,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE;YAC3B,IAAA,gBAAM,EACF,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,EACrC,2CAA2C,CAC9C,CAAA;SACJ;IACL,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,IAA0B;QACjC,IAAA,gBAAM,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;QAE3D,4CAA4C;QAC5C,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5C,SAAS,EACL,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB;gBACjC,CAAC,CAAC,IAAI,CAAC,kBAAkB;gBACzB,CAAC,CAAC,CAAC,CAAC,SAAS;SACxB,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;aACxD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAA;YAChE,QAAQ,IAAI,KAAK,CAAA;YAEjB,IAAA,gBAAM,EAAC,KAAK,GAAG,uBAAW,EAAE,iCAAiC,CAAC,CAAA;YAE9D,OAAO;gBACH,KAAK;gBACL,WAAW,EAAE,GAAG,CAAC,WAAW;aAC/B,CAAA;QACL,CAAC,CAAC,CAAA;QAEN,OAAO,IAAI,6BAA6B,CAAC;YACrC,GAAG,IAAI;YACP,SAAS;SACZ,CAAC,CAAA;IACN,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,MAAM,CAAC,IAAY;QACtB,IAAA,gBAAM,EACF,IAAA,wBAAU,EAAC,IAAI,CAAC,EAChB,kDAAkD,CACrD,CAAA;QAED,MAAM,IAAI,GAAG,sBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEnC,MAAM,KAAK,GAAG,IAAI,eAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACxD,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,IAAI,aAAwC,CAAA;QAC5C,IAAI,cAAmC,CAAA;QAEvC,qBAAqB;QACrB,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAClB,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;SAC9B;QAED,2BAA2B;QAC3B,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAClB,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YAE5C,aAAa,GAAG;gBACZ,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,yBAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;aAClD,CAAA;YAED,4BAA4B;YAC5B,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBAClB,cAAc,GAAG,yBAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;aAC1D;SACJ;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAE5C,MAAM,SAAS,GAAG,EAAqB,CAAA;QAEvC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACpB,MAAM,WAAW,GAAG,IAAI;iBACnB,SAAS,CAAC,EAAE,CAAC;iBACb,QAAQ,CAAC,EAAE,CAAC;iBACZ,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YAE/B,SAAS,CAAC,IAAI,CAAC;gBACX,WAAW;gBACX,KAAK;aACR,CAAC,CAAA;SACL;QAED,OAAO,IAAI,6BAA6B,CAAC;YACrC,aAAa;YACb,OAAO;YACP,kBAAkB;YAClB,SAAS;YACT,cAAc;SACjB,CAAC,CAAA;IACN,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,SAAoB;QACrC,OAAO,6BAA6B,CAAC,MAAM,CACvC,IAAA,aAAK,EAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAC7C,CAAA;IACL,CAAC;IAED;;OAEG;IACI,MAAM;QACT;;;;;WAKG;QACH,IAAI,OAAO,GAAG,IAAI,eAAE,CAAC,EAAE,CAAC,CAAA;QAExB,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE,CAAA;QAEhC,yBAAyB;QACzB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YAC/B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SAChC;QAED,+BAA+B;QAC/B,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE;YAC3B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YAC/B,KAAK;iBACA,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;iBACnC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;YAEvD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;gBACtD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;gBAC/B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAA;aACnD;SACJ;QAED,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAExC,iBAAiB;QACjB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;YAC7B,KAAK,CAAC,QAAQ,CAAC,IAAA,aAAK,EAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;SAC5D;QAED,OAAO,GAAG,OAAO,CAAC,OAAO,CACrB,IAAI,oBAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EACnB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAChC,CAAA;QAED,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE7B,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,QAAiB,EAAE,aAAqB;QACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;QAElD,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAA;QAEzC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;YACpC,WAAW,IAAI,SAAS,CAAC,KAAK,CAAA;YAE9B,IAAI,WAAW,KAAK,SAAS,CAAC,WAAW,EAAE;gBACvC,OAAO,aAAa,IAAI,WAAW,CAAA;aACtC;iBAAM,IAAI,aAAa,GAAG,WAAW,EAAE;gBACpC,OAAO,KAAK,CAAA;aACf;SACJ;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAEM,mBAAmB,CAAC,MAAe;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;QAEhD,0DAA0D;QAC1D,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,OAAO,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;SACvD;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YACrD,OAAO,KAAK,CAAA;SACf;QAED,OAAO,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;IACxD,CAAC;CACJ;AA3OD,sEA2OC"}
@@ -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
  };
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
@@ -67,13 +67,11 @@ class FusionSDK {
67
67
  : undefined,
68
68
  preset: params.preset,
69
69
  nonce: params.nonce,
70
- permit: params.permit,
71
70
  takingFeeReceiver: params.fee?.takingFeeReceiver,
72
71
  allowPartialFills: params.allowPartialFills,
73
72
  allowMultipleFills: params.allowMultipleFills
74
73
  });
75
- const domain = (0, limit_order_sdk_1.getLimitOrderV4Domain)(this.config.network);
76
- const hash = order.getOrderHash(domain);
74
+ const hash = order.getOrderHash(this.config.network);
77
75
  return { order, hash, quoteId: quote.quoteId };
78
76
  }
79
77
  async submitOrder(order, quoteId) {
@@ -81,8 +79,7 @@ class FusionSDK {
81
79
  throw new Error('blockchainProvider has not set to config');
82
80
  }
83
81
  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));
82
+ const signature = await this.config.blockchainProvider.signTypedData(orderStruct.maker, order.getTypedData(this.config.network));
86
83
  const relayerRequest = api_1.RelayerRequest.new({
87
84
  order: orderStruct,
88
85
  signature,
@@ -93,7 +90,7 @@ class FusionSDK {
93
90
  order: orderStruct,
94
91
  signature,
95
92
  quoteId,
96
- orderHash: order.getOrderHash(domain)
93
+ orderHash: order.getOrderHash(this.config.network)
97
94
  };
98
95
  }
99
96
  async placeOrder(params) {
@@ -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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"}
@@ -29,11 +29,22 @@ export type OrderParams = {
29
29
  permit?: string;
30
30
  receiver?: string;
31
31
  preset?: PresetEnum;
32
+ /**
33
+ * Unique for `walletAddress` can be serial or random generated
34
+ *
35
+ * @see randBigInt
36
+ */
32
37
  nonce?: bigint;
33
38
  fee?: TakingFeeInfo;
34
39
  source?: string;
35
40
  customPreset?: CustomPreset;
41
+ /**
42
+ * true by default
43
+ */
36
44
  allowPartialFills?: boolean;
45
+ /**
46
+ * true by default
47
+ */
37
48
  allowMultipleFills?: boolean;
38
49
  };
39
50
  export type TakingFeeInfo = {
package/dist/sdk/utils.js CHANGED
@@ -1,15 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addRatioToAmount = exports.bpsToRatioFormat = void 0;
4
+ const FEE_BASE = 100000n;
5
+ const BPS_BASE = 10000n;
6
+ const BPS_TO_RATIO_NUMERATOR = FEE_BASE / BPS_BASE;
4
7
  function bpsToRatioFormat(bps) {
5
8
  if (!bps) {
6
9
  return 0n;
7
10
  }
8
- return BigInt(bps) * 100000n;
11
+ return BigInt(bps) * BPS_TO_RATIO_NUMERATOR;
9
12
  }
10
13
  exports.bpsToRatioFormat = bpsToRatioFormat;
11
14
  function addRatioToAmount(amount, ratio) {
12
- return amount + (amount * ratio) / 1000000000n;
15
+ return amount + (amount * ratio) / FEE_BASE;
13
16
  }
14
17
  exports.addRatioToAmount = addRatioToAmount;
15
18
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/sdk/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,gBAAgB,CAAC,GAAY;IACzC,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,EAAE,CAAA;KACZ;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,OAAQ,CAAA;AACjC,CAAC;AAND,4CAMC;AAED,SAAgB,gBAAgB,CAAC,MAAc,EAAE,KAAa;IAC1D,OAAO,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,WAAc,CAAA;AACrD,CAAC;AAFD,4CAEC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/sdk/utils.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,OAAQ,CAAA;AACzB,MAAM,QAAQ,GAAG,MAAO,CAAA;AACxB,MAAM,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAElD,SAAgB,gBAAgB,CAAC,GAAY;IACzC,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,EAAE,CAAA;KACZ;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAA;AAC/C,CAAC;AAND,4CAMC;AAED,SAAgB,gBAAgB,CAAC,MAAc,EAAE,KAAa;IAC1D,OAAO,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAA;AAC/C,CAAC;AAFD,4CAEC"}
@@ -1,2 +1,18 @@
1
+ /**
2
+ * Calculates taker amount by linear proportion
3
+ * Note: use for minReturn only, because other amounts calculated based on auction curve
4
+ *
5
+ * @see AuctionCalculator
6
+ * @return Ceiled taker amount
7
+ * @see https://github.com/1inch/limit-order-protocol/blob/23d655844191dea7960a186652307604a1ed480a/contracts/libraries/AmountCalculatorLib.sol#L6
8
+ */
1
9
  export declare function calcTakingAmount(swapMakerAmount: bigint, orderMakerAmount: bigint, orderTakerAmount: bigint): bigint;
2
- export declare function calMakingAmount(swapTakerAmount: bigint, orderMakerAmount: bigint, orderTakerAmount: bigint): bigint;
10
+ /**
11
+ * Calculates maker amount by linear proportion
12
+ * Note: use for minReturn only, because other amounts calculated based on auction curve
13
+ *
14
+ * @see AuctionCalculator
15
+ * @return Floored maker amount
16
+ * @see https://github.com/1inch/limit-order-protocol/blob/23d655844191dea7960a186652307604a1ed480a/contracts/libraries/AmountCalculatorLib.sol#L6
17
+ */
18
+ export declare function calcMakingAmount(swapTakerAmount: bigint, orderMakerAmount: bigint, orderTakerAmount: bigint): bigint;