@1inch/fusion-sdk 1.0.1-rc.9 → 1.0.1

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 (73) hide show
  1. package/dist/api/orders/order-api.spec.js +5 -5
  2. package/dist/api/orders/orders.api.d.ts +1 -0
  3. package/dist/api/orders/orders.api.js +4 -3
  4. package/dist/api/orders/orders.api.js.map +1 -1
  5. package/dist/api/orders/types.d.ts +2 -0
  6. package/dist/api/orders/types.js.map +1 -1
  7. package/dist/api/quoter/quote/order-params.d.ts +1 -0
  8. package/dist/api/quoter/quote/order-params.js +1 -0
  9. package/dist/api/quoter/quote/order-params.js.map +1 -1
  10. package/dist/api/quoter/quote/quote.d.ts +1 -1
  11. package/dist/api/quoter/quote/quote.js +17 -10
  12. package/dist/api/quoter/quote/quote.js.map +1 -1
  13. package/dist/api/quoter/quote/types.d.ts +1 -0
  14. package/dist/api/quoter/quoter.api.d.ts +1 -0
  15. package/dist/api/quoter/quoter.api.js +3 -2
  16. package/dist/api/quoter/quoter.api.js.map +1 -1
  17. package/dist/api/quoter/quoter.api.spec.js +21 -6
  18. package/dist/api/quoter/quoter.api.spec.js.map +1 -1
  19. package/dist/api/quoter/quoter.request.d.ts +1 -0
  20. package/dist/api/quoter/quoter.request.js +3 -1
  21. package/dist/api/quoter/quoter.request.js.map +1 -1
  22. package/dist/api/quoter/types.d.ts +4 -3
  23. package/dist/api/quoter/types.js.map +1 -1
  24. package/dist/api/relayer/relayer.api.d.ts +1 -0
  25. package/dist/api/relayer/relayer.api.js +3 -2
  26. package/dist/api/relayer/relayer.api.js.map +1 -1
  27. package/dist/api/relayer/relayer.api.spec.js +8 -5
  28. package/dist/api/relayer/relayer.api.spec.js.map +1 -1
  29. package/dist/api/relayer/relayer.request.d.ts +1 -0
  30. package/dist/api/relayer/relayer.request.js +3 -1
  31. package/dist/api/relayer/relayer.request.js.map +1 -1
  32. package/dist/api/relayer/types.d.ts +1 -0
  33. package/dist/auction-calculator/auction-calculator.d.ts +15 -10
  34. package/dist/auction-calculator/auction-calculator.js +31 -5
  35. package/dist/auction-calculator/auction-calculator.js.map +1 -1
  36. package/dist/fusion-order/auction-details/auction-details.d.ts +2 -0
  37. package/dist/fusion-order/auction-details/auction-details.js +3 -0
  38. package/dist/fusion-order/auction-details/auction-details.js.map +1 -1
  39. package/dist/fusion-order/fusion-extension.d.ts +12 -4
  40. package/dist/fusion-order/fusion-extension.js +37 -9
  41. package/dist/fusion-order/fusion-extension.js.map +1 -1
  42. package/dist/fusion-order/fusion-extension.spec.d.ts +1 -0
  43. package/dist/fusion-order/fusion-extension.spec.js +75 -0
  44. package/dist/fusion-order/fusion-extension.spec.js.map +1 -0
  45. package/dist/fusion-order/fusion-order.d.ts +41 -3
  46. package/dist/fusion-order/fusion-order.js +90 -21
  47. package/dist/fusion-order/fusion-order.js.map +1 -1
  48. package/dist/fusion-order/fusion-order.spec.js +64 -1
  49. package/dist/fusion-order/fusion-order.spec.js.map +1 -1
  50. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts +6 -2
  51. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +39 -8
  52. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map +1 -1
  53. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js +34 -2
  54. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js.map +1 -1
  55. package/dist/fusion-order/settlement-post-interaction-data/types.d.ts +1 -0
  56. package/dist/fusion-order/source-track.d.ts +1 -0
  57. package/dist/fusion-order/source-track.js +16 -0
  58. package/dist/fusion-order/source-track.js.map +1 -0
  59. package/dist/index.d.ts +1 -1
  60. package/dist/index.js.map +1 -1
  61. package/dist/sdk/sdk.js +12 -10
  62. package/dist/sdk/sdk.js.map +1 -1
  63. package/dist/sdk/types.d.ts +3 -0
  64. package/dist/sdk/utils.js +5 -2
  65. package/dist/sdk/utils.js.map +1 -1
  66. package/dist/utils/amounts.d.ts +1 -1
  67. package/dist/utils/amounts.js +3 -3
  68. package/dist/utils/amounts.js.map +1 -1
  69. package/dist/ws-api/ws-api.d.ts +1 -0
  70. package/dist/ws-api/ws-api.js +2 -1
  71. package/dist/ws-api/ws-api.js.map +1 -1
  72. package/dist/ws-api/ws.spec.js +8 -8
  73. package/package.json +22 -22
@@ -1,6 +1,7 @@
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 ethers_1 = require("ethers");
4
5
  const fusion_order_1 = require("./fusion-order");
5
6
  const auction_details_1 = require("./auction-details");
6
7
  describe('Fusion Order', () => {
@@ -41,7 +42,7 @@ describe('Fusion Order', () => {
41
42
  receiver: '0x0000000000000000000000000000000000000000',
42
43
  takerAsset: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
43
44
  takingAmount: '1420000000',
44
- makerTraits: '29852648006495581632639394572552351243421169944806257724550573036760110989312',
45
+ makerTraits: '33471150795161712739625987854073848363835856965607525350783622537007396290560',
45
46
  salt: '14969955465678758833706505435513058355190519874774'
46
47
  });
47
48
  const makerTraits = new limit_order_sdk_1.MakerTraits(BigInt(builtOrder.makerTraits));
@@ -79,5 +80,67 @@ describe('Fusion Order', () => {
79
80
  });
80
81
  expect(fusion_order_1.FusionOrder.fromDataAndExtension(order.build(), order.extension)).toStrictEqual(order);
81
82
  });
83
+ it('should decode fusion order from order + extension with provided source', () => {
84
+ const extensionContract = new limit_order_sdk_1.Address('0x8273f37417da37c4a6c3995e82cf442f87a25d9c');
85
+ const order = fusion_order_1.FusionOrder.new(extensionContract, {
86
+ makerAsset: new limit_order_sdk_1.Address('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
87
+ takerAsset: new limit_order_sdk_1.Address('0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'),
88
+ makingAmount: 1000000000000000000n,
89
+ takingAmount: 1420000000n,
90
+ maker: new limit_order_sdk_1.Address('0x00000000219ab540356cbb839cbe05303d7705fa'),
91
+ salt: 10n
92
+ }, {
93
+ auction: new auction_details_1.AuctionDetails({
94
+ duration: 180n,
95
+ startTime: 1673548149n,
96
+ initialRateBump: 50000,
97
+ points: [
98
+ {
99
+ coefficient: 20000,
100
+ delay: 12
101
+ }
102
+ ]
103
+ }),
104
+ whitelist: [
105
+ {
106
+ address: new limit_order_sdk_1.Address('0x00000000219ab540356cbb839cbe05303d7705fa'),
107
+ allowFrom: 0n
108
+ }
109
+ ]
110
+ }, {
111
+ source: 'test'
112
+ });
113
+ expect(fusion_order_1.FusionOrder.fromDataAndExtension(order.build(), order.extension)).toStrictEqual(order);
114
+ });
115
+ it('Should calculate taking amount', () => {
116
+ const now = 10000n;
117
+ const order = fusion_order_1.FusionOrder.new(new limit_order_sdk_1.Address('0x8273f37417da37c4a6c3995e82cf442f87a25d9c'), {
118
+ makerAsset: new limit_order_sdk_1.Address('0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' // USDC
119
+ ),
120
+ takerAsset: new limit_order_sdk_1.Address('0x111111111117dc0aa78b770fa6a738034120c302' // 1INCH
121
+ ),
122
+ maker: limit_order_sdk_1.Address.fromBigInt(1n),
123
+ makingAmount: (0, ethers_1.parseUnits)('150', 6),
124
+ takingAmount: (0, ethers_1.parseUnits)('200')
125
+ }, {
126
+ auction: new auction_details_1.AuctionDetails({
127
+ startTime: now,
128
+ duration: 120n,
129
+ initialRateBump: 10000000,
130
+ points: []
131
+ }),
132
+ whitelist: [
133
+ {
134
+ address: new limit_order_sdk_1.Address('0x00000000219ab540356cbb839cbe05303d7705fa'),
135
+ allowFrom: 0n
136
+ }
137
+ ],
138
+ resolvingStartTime: 0n
139
+ }, {
140
+ source: 'some_id'
141
+ });
142
+ expect(order.calcTakingAmount(order.makingAmount, now)).toEqual(2n * order.takingAmount // because init rate bump is 100%
143
+ );
144
+ });
82
145
  });
83
146
  //# sourceMappingURL=fusion-order.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fusion-order.spec.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-order.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fusion-order.spec.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-order.spec.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,31 @@
1
- import { Address } from '@1inch/limit-order-sdk';
1
+ import { Address, Extension } from '@1inch/limit-order-sdk';
2
2
  import { IntegratorFee, SettlementSuffixData } from './types';
3
3
  export declare class SettlementPostInteractionData {
4
4
  readonly whitelist: WhitelistItem[];
5
5
  readonly integratorFee?: IntegratorFee;
6
6
  readonly bankFee: bigint;
7
7
  readonly resolvingStartTime: bigint;
8
+ readonly customReceiver?: Address;
8
9
  private constructor();
9
10
  static new(data: SettlementSuffixData): SettlementPostInteractionData;
10
11
  /**
11
12
  * Construct `SettlementPostInteractionData` from bytes
12
13
  * @param data bytes with 0x prefix in next format:
13
14
  * - [uint32 feeBank] only when first bit of `bitMask` enabled
14
- * - [uint160 integratorFeeReceiver, uint32 integratorFeeRation] only when second bit of `bitMask` enabled
15
+ * - [uint16 integratorFeeRation, uint160 integratorFeeReceiver, [uint160 customReceiver]] only when second bit of `bitMask` enabled
15
16
  * - uint32 auctionStartTime
16
17
  * - (bytes10 last10bytesOfAddress, uint16 auctionDelay) * N whitelist info
17
18
  * - uint8 bitMask:
18
19
  * 0b0000_0001 - fee bank mask
19
20
  * 0b0000_0010 - integrator fee mask
21
+ * 0b0000_0100 - is custom receiver present (only used when integrator fee enabled)
20
22
  * 0b1111_1000 - resolvers count mask
21
23
  *
22
24
  * All data is tight packed
23
25
  * @see SettlementPostInteractionData.encode
24
26
  */
25
27
  static decode(data: string): SettlementPostInteractionData;
28
+ static fromExtension(extension: Extension): SettlementPostInteractionData;
26
29
  /**
27
30
  * Serialize post-interaction data to bytes
28
31
  */
@@ -34,6 +37,7 @@ export declare class SettlementPostInteractionData {
34
37
  * @param executionTime timestamp in sec at which order planning to execute
35
38
  */
36
39
  canExecuteAt(executor: Address, executionTime: bigint): boolean;
40
+ isExclusiveResolver(wallet: Address): boolean;
37
41
  }
38
42
  type WhitelistItem = {
39
43
  /**
@@ -16,6 +16,10 @@ class SettlementPostInteractionData {
16
16
  this.integratorFee = data?.integratorFee;
17
17
  this.bankFee = data.bankFee || 0n;
18
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) {
21
25
  (0, assert_1.default)(data.whitelist.length, 'Whitelist can not be empty');
@@ -47,12 +51,13 @@ class SettlementPostInteractionData {
47
51
  * Construct `SettlementPostInteractionData` from bytes
48
52
  * @param data bytes with 0x prefix in next format:
49
53
  * - [uint32 feeBank] only when first bit of `bitMask` enabled
50
- * - [uint160 integratorFeeReceiver, uint32 integratorFeeRation] only when second bit of `bitMask` enabled
54
+ * - [uint16 integratorFeeRation, uint160 integratorFeeReceiver, [uint160 customReceiver]] only when second bit of `bitMask` enabled
51
55
  * - uint32 auctionStartTime
52
56
  * - (bytes10 last10bytesOfAddress, uint16 auctionDelay) * N whitelist info
53
57
  * - uint8 bitMask:
54
58
  * 0b0000_0001 - fee bank mask
55
59
  * 0b0000_0010 - integrator fee mask
60
+ * 0b0000_0100 - is custom receiver present (only used when integrator fee enabled)
56
61
  * 0b1111_1000 - resolvers count mask
57
62
  *
58
63
  * All data is tight packed
@@ -61,21 +66,26 @@ class SettlementPostInteractionData {
61
66
  static decode(data) {
62
67
  (0, assert_1.default)((0, validations_1.isHexBytes)(data), 'Post interaction data must be valid bytes string');
63
68
  const iter = byte_utils_1.BytesIter.BigInt(data);
64
- const extra = iter.nextByte(byte_utils_1.BytesIter.SIDE.Back);
69
+ const flags = new byte_utils_1.BN(iter.nextByte(byte_utils_1.BytesIter.SIDE.Back));
65
70
  let bankFee = 0n;
66
71
  let integratorFee;
72
+ let customReceiver;
67
73
  // fee bank presented
68
- if ((extra & 1n) === 1n) {
74
+ if (flags.getBit(0n)) {
69
75
  bankFee = iter.nextUint32();
70
76
  }
71
77
  // integrator fee presented
72
- if ((extra & 2n) === 2n) {
78
+ if (flags.getBit(1n)) {
79
+ const integratorFeeRatio = iter.nextUint16();
73
80
  const integratorAddress = iter.nextUint160();
74
- const integratorFeeRatio = iter.nextUint32();
75
81
  integratorFee = {
76
82
  ratio: integratorFeeRatio,
77
83
  receiver: limit_order_sdk_1.Address.fromBigInt(integratorAddress)
78
84
  };
85
+ // custom receiver presented
86
+ if (flags.getBit(2n)) {
87
+ customReceiver = limit_order_sdk_1.Address.fromBigInt(iter.nextUint160());
88
+ }
79
89
  }
80
90
  const resolvingStartTime = iter.nextUint32();
81
91
  const whitelist = [];
@@ -94,9 +104,13 @@ class SettlementPostInteractionData {
94
104
  integratorFee,
95
105
  bankFee,
96
106
  resolvingStartTime,
97
- whitelist
107
+ whitelist,
108
+ customReceiver
98
109
  });
99
110
  }
111
+ static fromExtension(extension) {
112
+ return SettlementPostInteractionData.decode((0, utils_1.add0x)(extension.postInteraction.slice(42)));
113
+ }
100
114
  /**
101
115
  * Serialize post-interaction data to bytes
102
116
  */
@@ -104,6 +118,7 @@ class SettlementPostInteractionData {
104
118
  /**
105
119
  * 0b0000_0001 - fee bank mask
106
120
  * 0b0000_0010 - integrator fee mask
121
+ * 0b0000_0100 - is custom receiver present
107
122
  * 0b1111_1000 - resolvers count mask
108
123
  */
109
124
  let bitMask = new byte_utils_1.BN(0n);
@@ -117,8 +132,12 @@ class SettlementPostInteractionData {
117
132
  if (this.integratorFee?.ratio) {
118
133
  bitMask = bitMask.setBit(1n, 1);
119
134
  bytes
120
- .addAddress(this.integratorFee.receiver.toString())
121
- .addUint32(this.integratorFee.ratio);
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
+ }
122
141
  }
123
142
  bytes.addUint32(this.resolvingStartTime);
124
143
  // whitelist data
@@ -149,6 +168,18 @@ class SettlementPostInteractionData {
149
168
  }
150
169
  return false;
151
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;
180
+ }
181
+ return addressHalf === this.whitelist[0].addressHalf;
182
+ }
152
183
  }
153
184
  exports.SettlementPostInteractionData = SettlementPostInteractionData;
154
185
  //# sourceMappingURL=settlement-post-interaction-data.js.map
@@ -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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"}
@@ -5,7 +5,7 @@ const byte_utils_1 = require("@1inch/byte-utils");
5
5
  const settlement_post_interaction_data_1 = require("./settlement-post-interaction-data");
6
6
  const utils_1 = require("../../sdk/utils");
7
7
  describe('SettlementPostInteractionData', () => {
8
- it('Should encode/decode with no fees and whitelist', () => {
8
+ it('Should encode/decode with bank fee and whitelist', () => {
9
9
  const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
10
10
  bankFee: 1n,
11
11
  resolvingStartTime: 1708117482n,
@@ -20,6 +20,20 @@ describe('SettlementPostInteractionData', () => {
20
20
  expect((0, byte_utils_1.getBytesCount)(encoded)).toEqual(21n);
21
21
  expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(encoded)).toStrictEqual(data);
22
22
  });
23
+ it('Should encode/decode with no fees and whitelist', () => {
24
+ const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
25
+ resolvingStartTime: 1708117482n,
26
+ whitelist: [
27
+ {
28
+ address: limit_order_sdk_1.Address.ZERO_ADDRESS,
29
+ allowFrom: 0n
30
+ }
31
+ ]
32
+ });
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);
36
+ });
23
37
  it('Should encode/decode with fees and whitelist', () => {
24
38
  const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
25
39
  bankFee: 0n,
@@ -31,12 +45,30 @@ describe('SettlementPostInteractionData', () => {
31
45
  }
32
46
  ],
33
47
  integratorFee: {
34
- receiver: limit_order_sdk_1.Address.ZERO_ADDRESS,
48
+ receiver: limit_order_sdk_1.Address.fromBigInt(1n),
35
49
  ratio: (0, utils_1.bpsToRatioFormat)(10)
36
50
  }
37
51
  });
38
52
  expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(data.encode())).toStrictEqual(data);
39
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
+ });
40
72
  it('Should generate correct whitelist', () => {
41
73
  const start = 1708117482n;
42
74
  const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
@@ -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":"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"}
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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"}
@@ -11,6 +11,7 @@ export type SettlementSuffixData = {
11
11
  integratorFee?: IntegratorFee;
12
12
  bankFee?: bigint;
13
13
  resolvingStartTime: bigint;
14
+ customReceiver?: Address;
14
15
  };
15
16
  export type IntegratorFee = {
16
17
  /**
@@ -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
@@ -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 { QuoterRequest, RelayerRequest, QuoterCustomPresetRequest, PresetEnum, Preset, Quote } from './api';
12
+ export { QuoterRequest, QuoterResponse, RelayerRequest, QuoterCustomPresetRequest, PresetEnum, Preset, Quote } from './api';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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,6BAOc;AANV,oGAAA,aAAa,OAAA;AACb,qGAAA,cAAc,OAAA;AACd,gHAAA,yBAAyB,OAAA;AACzB,iGAAA,UAAU,OAAA;AACV,6FAAA,MAAM,OAAA;AACN,4FAAA,KAAK,OAAA"}
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;
@@ -37,6 +38,7 @@ export type OrderParams = {
37
38
  nonce?: bigint;
38
39
  fee?: TakingFeeInfo;
39
40
  source?: string;
41
+ isPermit2?: boolean;
40
42
  customPreset?: CustomPreset;
41
43
  /**
42
44
  * true by default
@@ -56,6 +58,7 @@ export type OrderInfo = {
56
58
  signature: string;
57
59
  quoteId: string;
58
60
  orderHash: string;
61
+ extension: string;
59
62
  };
60
63
  export type PreparedOrder = {
61
64
  order: FusionOrder;
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"}
@@ -15,4 +15,4 @@ export declare function calcTakingAmount(swapMakerAmount: bigint, orderMakerAmou
15
15
  * @return Floored maker amount
16
16
  * @see https://github.com/1inch/limit-order-protocol/blob/23d655844191dea7960a186652307604a1ed480a/contracts/libraries/AmountCalculatorLib.sol#L6
17
17
  */
18
- export declare function calMakingAmount(swapTakerAmount: bigint, orderMakerAmount: bigint, orderTakerAmount: bigint): bigint;
18
+ export declare function calcMakingAmount(swapTakerAmount: bigint, orderMakerAmount: bigint, orderTakerAmount: bigint): bigint;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calMakingAmount = exports.calcTakingAmount = void 0;
3
+ exports.calcMakingAmount = exports.calcTakingAmount = void 0;
4
4
  /**
5
5
  * Calculates taker amount by linear proportion
6
6
  * Note: use for minReturn only, because other amounts calculated based on auction curve
@@ -22,8 +22,8 @@ exports.calcTakingAmount = calcTakingAmount;
22
22
  * @return Floored maker amount
23
23
  * @see https://github.com/1inch/limit-order-protocol/blob/23d655844191dea7960a186652307604a1ed480a/contracts/libraries/AmountCalculatorLib.sol#L6
24
24
  */
25
- function calMakingAmount(swapTakerAmount, orderMakerAmount, orderTakerAmount) {
25
+ function calcMakingAmount(swapTakerAmount, orderMakerAmount, orderTakerAmount) {
26
26
  return (swapTakerAmount * orderMakerAmount) / orderTakerAmount;
27
27
  }
28
- exports.calMakingAmount = calMakingAmount;
28
+ exports.calcMakingAmount = calcMakingAmount;
29
29
  //# sourceMappingURL=amounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../src/utils/amounts.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC5B,eAAuB,EACvB,gBAAwB,EACxB,gBAAwB;IAExB,OAAO,CACH,CAAC,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,EAAE,CAAC;QAC5D,gBAAgB,CACnB,CAAA;AACL,CAAC;AATD,4CASC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC3B,eAAuB,EACvB,gBAAwB,EACxB,gBAAwB;IAExB,OAAO,CAAC,eAAe,GAAG,gBAAgB,CAAC,GAAG,gBAAgB,CAAA;AAClE,CAAC;AAND,0CAMC"}
1
+ {"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../src/utils/amounts.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC5B,eAAuB,EACvB,gBAAwB,EACxB,gBAAwB;IAExB,OAAO,CACH,CAAC,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,EAAE,CAAC;QAC5D,gBAAgB,CACnB,CAAA;AACL,CAAC;AATD,4CASC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC5B,eAAuB,EACvB,gBAAwB,EACxB,gBAAwB;IAExB,OAAO,CAAC,eAAe,GAAG,gBAAgB,CAAC,GAAG,gBAAgB,CAAA;AAClE,CAAC;AAND,4CAMC"}
@@ -3,6 +3,7 @@ import { RpcWebsocketApi } from './rpc-websocket-api';
3
3
  import { WsApiConfigWithNetwork } from './types';
4
4
  import { AnyFunction, AnyFunctionWithThis, OnMessageCb, WsProviderConnector } from '../connector/ws';
5
5
  export declare class WebSocketApi {
6
+ private static Version;
6
7
  readonly rpc: RpcWebsocketApi;
7
8
  readonly order: ActiveOrdersWebSocketApi;
8
9
  readonly provider: WsProviderConnector;
@@ -9,7 +9,7 @@ class WebSocketApi {
9
9
  constructor(configOrProvider) {
10
10
  if (instanceOfWsApiConfigWithNetwork(configOrProvider)) {
11
11
  const url = (0, url_1.castUrl)(configOrProvider.url);
12
- const urlWithNetwork = `${url}/v1.0/${configOrProvider.network}`;
12
+ const urlWithNetwork = `${url}/${WebSocketApi.Version}/${configOrProvider.network}`;
13
13
  const configWithUrl = { ...configOrProvider, url: urlWithNetwork };
14
14
  const provider = new ws_1.WebsocketClient(configWithUrl);
15
15
  this.provider = provider;
@@ -53,6 +53,7 @@ class WebSocketApi {
53
53
  }
54
54
  }
55
55
  exports.WebSocketApi = WebSocketApi;
56
+ WebSocketApi.Version = 'v2.0';
56
57
  function instanceOfWsApiConfigWithNetwork(val) {
57
58
  return 'url' in val && 'network' in val;
58
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ws-api.js","sourceRoot":"","sources":["../../src/ws-api/ws-api.ts"],"names":[],"mappings":";;;AAAA,+EAAsE;AACtE,2DAAmD;AAEnD,+BAA6B;AAC7B,wCAMwB;AAExB,MAAa,YAAY;IAOrB,YACI,gBAA8D;QAE9D,IAAI,gCAAgC,CAAC,gBAAgB,CAAC,EAAE;YACpD,MAAM,GAAG,GAAG,IAAA,aAAO,EAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;YACzC,MAAM,cAAc,GAAG,GAAG,GAAG,SAAS,gBAAgB,CAAC,OAAO,EAAE,CAAA;YAChE,MAAM,aAAa,GAAG,EAAC,GAAG,gBAAgB,EAAE,GAAG,EAAE,cAAc,EAAC,CAAA;YAChE,MAAM,QAAQ,GAAG,IAAI,oBAAe,CAAC,aAAa,CAAC,CAAA;YAEnD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACxB,IAAI,CAAC,GAAG,GAAG,IAAI,mCAAe,CAAC,QAAQ,CAAC,CAAA;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,sDAAwB,CAAC,QAAQ,CAAC,CAAA;YAEnD,OAAM;SACT;QAED,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAA;QAChC,IAAI,CAAC,GAAG,GAAG,IAAI,mCAAe,CAAC,gBAAgB,CAAC,CAAA;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,sDAAwB,CAAC,gBAAgB,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,CAAC,GAAG,CACN,gBAA8D;QAE9D,OAAO,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI;QACA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;IAED,EAAE,CAAC,KAAa,EAAE,EAAuB;QACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,EAAuB;QACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,EAAuB;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,CAAI,OAAU;QACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;IAED,SAAS,CAAC,EAAe;QACrB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO,CAAC,EAAe;QACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,CAAC,EAAe;QACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;CACJ;AArED,oCAqEC;AAED,SAAS,gCAAgC,CACrC,GAAiD;IAEjD,OAAO,KAAK,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,CAAA;AAC3C,CAAC"}
1
+ {"version":3,"file":"ws-api.js","sourceRoot":"","sources":["../../src/ws-api/ws-api.ts"],"names":[],"mappings":";;;AAAA,+EAAsE;AACtE,2DAAmD;AAEnD,+BAA6B;AAC7B,wCAMwB;AAExB,MAAa,YAAY;IASrB,YACI,gBAA8D;QAE9D,IAAI,gCAAgC,CAAC,gBAAgB,CAAC,EAAE;YACpD,MAAM,GAAG,GAAG,IAAA,aAAO,EAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;YACzC,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,YAAY,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAA;YACnF,MAAM,aAAa,GAAG,EAAC,GAAG,gBAAgB,EAAE,GAAG,EAAE,cAAc,EAAC,CAAA;YAChE,MAAM,QAAQ,GAAG,IAAI,oBAAe,CAAC,aAAa,CAAC,CAAA;YAEnD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACxB,IAAI,CAAC,GAAG,GAAG,IAAI,mCAAe,CAAC,QAAQ,CAAC,CAAA;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,sDAAwB,CAAC,QAAQ,CAAC,CAAA;YAEnD,OAAM;SACT;QAED,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAA;QAChC,IAAI,CAAC,GAAG,GAAG,IAAI,mCAAe,CAAC,gBAAgB,CAAC,CAAA;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,sDAAwB,CAAC,gBAAgB,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,CAAC,GAAG,CACN,gBAA8D;QAE9D,OAAO,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI;QACA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;IAED,EAAE,CAAC,KAAa,EAAE,EAAuB;QACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,EAAuB;QACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,EAAuB;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,CAAI,OAAU;QACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;IAED,SAAS,CAAC,EAAe;QACrB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO,CAAC,EAAe;QACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,CAAC,EAAe;QACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;;AAtEL,oCAuEC;AAtEkB,oBAAO,GAAG,MAAM,CAAA;AAwEnC,SAAS,gCAAgC,CACrC,GAAiD;IAEjD,OAAO,KAAK,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,CAAA;AAC3C,CAAC"}