@1inch/fusion-sdk 1.0.1-rc.1 → 1.0.1-rc.3
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.
- package/dist/auction-calculator/auction-calculator.d.ts +11 -5
- package/dist/auction-calculator/auction-calculator.js +27 -11
- package/dist/auction-calculator/auction-calculator.js.map +1 -1
- package/dist/auction-calculator/auction-calculator.spec.js +29 -3
- package/dist/auction-calculator/auction-calculator.spec.js.map +1 -1
- package/dist/fusion-order/auction-details/auction-details.js +2 -2
- package/dist/fusion-order/auction-details/auction-details.js.map +1 -1
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +2 -2
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +0 -5
- package/dist/utils.js +1 -30
- package/dist/utils.js.map +1 -1
- package/package.json +8 -7
- package/dist/utils/bytes/bit-mask.d.ts +0 -7
- package/dist/utils/bytes/bit-mask.js +0 -22
- package/dist/utils/bytes/bit-mask.js.map +0 -1
- package/dist/utils/bytes/bit-mask.spec.d.ts +0 -1
- package/dist/utils/bytes/bit-mask.spec.js +0 -16
- package/dist/utils/bytes/bit-mask.spec.js.map +0 -1
- package/dist/utils/bytes/bn.d.ts +0 -20
- package/dist/utils/bytes/bn.js +0 -68
- package/dist/utils/bytes/bn.js.map +0 -1
- package/dist/utils/bytes/bn.spec.d.ts +0 -1
- package/dist/utils/bytes/bn.spec.js +0 -19
- package/dist/utils/bytes/bn.spec.js.map +0 -1
- package/dist/utils/bytes/bytes-iter.d.ts +0 -12
- package/dist/utils/bytes/bytes-iter.js +0 -47
- package/dist/utils/bytes/bytes-iter.js.map +0 -1
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import { SettlementPostInteractionData } from '../fusion-order
|
|
2
|
-
import { AuctionDetails, AuctionPoint } from '../fusion-order/auction-details';
|
|
1
|
+
import { SettlementPostInteractionData, AuctionDetails, AuctionPoint } from '../fusion-order';
|
|
3
2
|
export declare class AuctionCalculator {
|
|
4
3
|
private readonly startTime;
|
|
5
4
|
private readonly duration;
|
|
6
5
|
private readonly initialRateBump;
|
|
7
6
|
private readonly points;
|
|
8
7
|
private readonly takerFeeRatio;
|
|
9
|
-
|
|
8
|
+
private readonly gasCost;
|
|
9
|
+
private static GAS_PRICE_BASE;
|
|
10
|
+
constructor(startTime: bigint, duration: bigint, initialRateBump: bigint, points: AuctionPoint[], takerFeeRatio: bigint, gasCost?: {
|
|
11
|
+
gasBumpEstimate: bigint;
|
|
12
|
+
gasPriceEstimate: bigint;
|
|
13
|
+
});
|
|
10
14
|
static fromAuctionData(data: SettlementPostInteractionData, details: AuctionDetails): AuctionCalculator;
|
|
11
|
-
calcAuctionTakingAmount(takingAmount:
|
|
12
|
-
calcRateBump(time:
|
|
15
|
+
calcAuctionTakingAmount(takingAmount: bigint, rate: number): bigint;
|
|
16
|
+
calcRateBump(time: bigint, blockBaseFee?: bigint): number;
|
|
17
|
+
private getGasPriceBump;
|
|
18
|
+
private getAuctionBump;
|
|
13
19
|
}
|
|
@@ -5,34 +5,51 @@ const calc_1 = require("./calc");
|
|
|
5
5
|
const constants_1 = require("./constants");
|
|
6
6
|
const sdk_1 = require("../sdk");
|
|
7
7
|
class AuctionCalculator {
|
|
8
|
-
constructor(startTime, duration, initialRateBump, points, takerFeeRatio) {
|
|
8
|
+
constructor(startTime, duration, initialRateBump, points, takerFeeRatio, gasCost = { gasBumpEstimate: 0n, gasPriceEstimate: 0n }) {
|
|
9
9
|
this.startTime = startTime;
|
|
10
10
|
this.duration = duration;
|
|
11
11
|
this.initialRateBump = initialRateBump;
|
|
12
12
|
this.points = points;
|
|
13
13
|
this.takerFeeRatio = takerFeeRatio;
|
|
14
|
+
this.gasCost = gasCost;
|
|
14
15
|
}
|
|
15
16
|
static fromAuctionData(data, details) {
|
|
16
|
-
return new AuctionCalculator(data.auctionStartTime, details.duration, details.initialRateBump, details.points, data.integratorFee?.ratio || 0n);
|
|
17
|
+
return new AuctionCalculator(data.auctionStartTime, details.duration, details.initialRateBump, details.points, data.integratorFee?.ratio || 0n, details.gasCost);
|
|
17
18
|
}
|
|
18
19
|
calcAuctionTakingAmount(takingAmount, rate) {
|
|
19
20
|
const auctionTakingAmount = (BigInt(takingAmount) * (BigInt(rate) + constants_1.RATE_BUMP_DENOMINATOR)) /
|
|
20
21
|
constants_1.RATE_BUMP_DENOMINATOR;
|
|
21
22
|
if (this.takerFeeRatio === 0n) {
|
|
22
|
-
return auctionTakingAmount
|
|
23
|
+
return auctionTakingAmount;
|
|
23
24
|
}
|
|
24
|
-
return (0, sdk_1.addRatioToAmount)(auctionTakingAmount, this.takerFeeRatio)
|
|
25
|
+
return (0, sdk_1.addRatioToAmount)(auctionTakingAmount, this.takerFeeRatio);
|
|
25
26
|
}
|
|
26
|
-
calcRateBump(time) {
|
|
27
|
+
calcRateBump(time, blockBaseFee = 0n) {
|
|
28
|
+
const gasBump = this.getGasPriceBump(blockBaseFee);
|
|
29
|
+
const auctionBump = this.getAuctionBump(time);
|
|
30
|
+
const final = auctionBump > gasBump ? auctionBump - gasBump : 0n;
|
|
31
|
+
return Number(final);
|
|
32
|
+
}
|
|
33
|
+
getGasPriceBump(blockBaseFee) {
|
|
34
|
+
if (this.gasCost.gasBumpEstimate === 0n ||
|
|
35
|
+
this.gasCost.gasPriceEstimate === 0n ||
|
|
36
|
+
blockBaseFee === 0n) {
|
|
37
|
+
return 0n;
|
|
38
|
+
}
|
|
39
|
+
return ((this.gasCost.gasBumpEstimate * blockBaseFee) /
|
|
40
|
+
this.gasCost.gasPriceEstimate /
|
|
41
|
+
AuctionCalculator.GAS_PRICE_BASE);
|
|
42
|
+
}
|
|
43
|
+
getAuctionBump(time) {
|
|
27
44
|
let cumulativeTime = BigInt(this.startTime);
|
|
28
45
|
const lastTime = BigInt(this.duration) + cumulativeTime;
|
|
29
46
|
const startBump = BigInt(this.initialRateBump);
|
|
30
47
|
const currentTime = BigInt(time);
|
|
31
48
|
if (currentTime <= cumulativeTime) {
|
|
32
|
-
return
|
|
49
|
+
return this.initialRateBump;
|
|
33
50
|
}
|
|
34
51
|
else if (currentTime >= lastTime) {
|
|
35
|
-
return
|
|
52
|
+
return 0n;
|
|
36
53
|
}
|
|
37
54
|
let prevCoefficient = startBump;
|
|
38
55
|
let prevCumulativeTime = cumulativeTime;
|
|
@@ -41,15 +58,14 @@ class AuctionCalculator {
|
|
|
41
58
|
cumulativeTime = cumulativeTime + BigInt(delay);
|
|
42
59
|
const coefficientBN = BigInt(coefficient);
|
|
43
60
|
if (cumulativeTime >= currentTime) {
|
|
44
|
-
|
|
45
|
-
return Number(rate);
|
|
61
|
+
return (0, calc_1.linearInterpolation)(prevCumulativeTime, cumulativeTime, prevCoefficient, coefficientBN, currentTime);
|
|
46
62
|
}
|
|
47
63
|
prevCumulativeTime = cumulativeTime;
|
|
48
64
|
prevCoefficient = coefficientBN;
|
|
49
65
|
}
|
|
50
|
-
|
|
51
|
-
return Number(rate);
|
|
66
|
+
return (0, calc_1.linearInterpolation)(prevCumulativeTime, lastTime, prevCoefficient, 0n, currentTime);
|
|
52
67
|
}
|
|
53
68
|
}
|
|
54
69
|
exports.AuctionCalculator = AuctionCalculator;
|
|
70
|
+
AuctionCalculator.GAS_PRICE_BASE = 1000000n;
|
|
55
71
|
//# sourceMappingURL=auction-calculator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auction-calculator.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.ts"],"names":[],"mappings":";;;AAAA,iCAA0C;AAC1C,2CAAiD;
|
|
1
|
+
{"version":3,"file":"auction-calculator.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 auction_calculator_1 = require("./auction-calculator");
|
|
5
6
|
const fusion_order_1 = require("../fusion-order");
|
|
6
7
|
const sdk_1 = require("../sdk");
|
|
@@ -23,10 +24,35 @@ describe('Auction Calculator', () => {
|
|
|
23
24
|
points: []
|
|
24
25
|
});
|
|
25
26
|
const calculator = auction_calculator_1.AuctionCalculator.fromAuctionData(postInteraction, auctionDetails);
|
|
26
|
-
const rate = calculator.calcRateBump(
|
|
27
|
-
const auctionTakingAmount = calculator.calcAuctionTakingAmount(
|
|
27
|
+
const rate = calculator.calcRateBump(auctionStartTime + 60n);
|
|
28
|
+
const auctionTakingAmount = calculator.calcAuctionTakingAmount(1420000000n, rate);
|
|
28
29
|
expect(rate).toBe(25000);
|
|
29
|
-
expect(auctionTakingAmount).toBe(
|
|
30
|
+
expect(auctionTakingAmount).toBe(1423692355n);
|
|
31
|
+
});
|
|
32
|
+
describe('Gas bump', () => {
|
|
33
|
+
const now = BigInt(Math.floor(Date.now() / 1000));
|
|
34
|
+
const duration = 1800n;
|
|
35
|
+
const takingAmount = (0, ethers_1.parseEther)('1');
|
|
36
|
+
const calculator = new auction_calculator_1.AuctionCalculator(now - 60n, duration, 1000000n, [{ delay: 60, coefficient: 500000 }], 0n, {
|
|
37
|
+
gasBumpEstimate: 10000n,
|
|
38
|
+
gasPriceEstimate: 1000n
|
|
39
|
+
});
|
|
40
|
+
it('0 gwei = no gas fee', () => {
|
|
41
|
+
const bump = calculator.calcRateBump(now);
|
|
42
|
+
expect(calculator.calcAuctionTakingAmount(takingAmount, bump)).toBe((0, ethers_1.parseEther)('1.05'));
|
|
43
|
+
});
|
|
44
|
+
it('0.1 gwei = 0.01% gas fee', () => {
|
|
45
|
+
const bump = calculator.calcRateBump(now, (0, ethers_1.parseUnits)('1', 8));
|
|
46
|
+
expect(calculator.calcAuctionTakingAmount(takingAmount, bump)).toBe((0, ethers_1.parseEther)('1.0499'));
|
|
47
|
+
});
|
|
48
|
+
it('15 gwei = 1.5% gas fee', () => {
|
|
49
|
+
const bump = calculator.calcRateBump(now, (0, ethers_1.parseUnits)('15', 9));
|
|
50
|
+
expect(calculator.calcAuctionTakingAmount(takingAmount, bump)).toBe((0, ethers_1.parseEther)('1.035'));
|
|
51
|
+
});
|
|
52
|
+
it('100 gwei = 10% gas fee, should be capped with takingAmount', () => {
|
|
53
|
+
const bump = calculator.calcRateBump(now, (0, ethers_1.parseUnits)('100', 9));
|
|
54
|
+
expect(calculator.calcAuctionTakingAmount(takingAmount, bump)).toBe((0, ethers_1.parseEther)('1'));
|
|
55
|
+
});
|
|
30
56
|
});
|
|
31
57
|
});
|
|
32
58
|
//# sourceMappingURL=auction-calculator.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auction-calculator.spec.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.spec.ts"],"names":[],"mappings":";;AAAA,4DAA8C;AAC9C,6DAAsD;AACtD,kDAA6E;AAC7E,gCAAuC;AAEvC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,gBAAgB,GAAG,WAAW,CAAA;QAEpC,MAAM,eAAe,GAAG,4CAA6B,CAAC,GAAG,CAAC;YACtD,aAAa,EAAE;gBACX,KAAK,EAAE,IAAA,sBAAgB,EAAC,CAAC,CAAC;gBAC1B,QAAQ,EAAE,yBAAO,CAAC,UAAU,CAAC,EAAE,CAAC;aACnC;YACD,OAAO,EAAE,EAAE;YACX,gBAAgB;YAChB,SAAS,EAAE,EAAE;SAChB,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,IAAI,6BAAc,CAAC;YACtC,SAAS,EAAE,gBAAgB;YAC3B,eAAe,EAAE,KAAK;YACtB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE;SACb,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,sCAAiB,CAAC,eAAe,CAChD,eAAe,EACf,cAAc,CACjB,CAAA;QAED,MAAM,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"auction-calculator.spec.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.AuctionDetails = void 0;
|
|
7
7
|
const ethers_1 = require("ethers");
|
|
8
|
+
const byte_utils_1 = require("@1inch/byte-utils");
|
|
8
9
|
const assert_1 = __importDefault(require("assert"));
|
|
9
10
|
const validations_1 = require("../../validations");
|
|
10
11
|
const utils_1 = require("../../utils");
|
|
11
|
-
const bytes_iter_1 = require("../../utils/bytes/bytes-iter");
|
|
12
12
|
const constants_1 = require("../../constants");
|
|
13
13
|
class AuctionDetails {
|
|
14
14
|
constructor(auction) {
|
|
@@ -28,7 +28,7 @@ class AuctionDetails {
|
|
|
28
28
|
}
|
|
29
29
|
static decode(data) {
|
|
30
30
|
(0, assert_1.default)((0, validations_1.isHexBytes)(data), 'Invalid auction details data');
|
|
31
|
-
const iter =
|
|
31
|
+
const iter = byte_utils_1.BytesIter.BigInt(data);
|
|
32
32
|
const gasBumpEstimate = iter.nextUint24();
|
|
33
33
|
const gasPriceEstimate = iter.nextUint32();
|
|
34
34
|
const start = iter.nextUint32();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auction-details.js","sourceRoot":"","sources":["../../../src/fusion-order/auction-details/auction-details.ts"],"names":[],"mappings":";;;;;;AAAA,mCAA6B;AAC7B,oDAA2B;AAE3B,mDAA4C;AAC5C,uCAAkC;AAClC
|
|
1
|
+
{"version":3,"file":"auction-details.js","sourceRoot":"","sources":["../../../src/fusion-order/auction-details/auction-details.ts"],"names":[],"mappings":"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"}
|
package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js
CHANGED
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.SettlementPostInteractionData = void 0;
|
|
7
7
|
const ethers_1 = require("ethers");
|
|
8
8
|
const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
|
|
9
|
+
const byte_utils_1 = require("@1inch/byte-utils");
|
|
9
10
|
const assert_1 = __importDefault(require("assert"));
|
|
10
11
|
const validations_1 = require("../../validations");
|
|
11
|
-
const bytes_iter_1 = require("../../utils/bytes/bytes-iter");
|
|
12
12
|
const utils_1 = require("../../utils");
|
|
13
13
|
class SettlementPostInteractionData {
|
|
14
14
|
constructor(data) {
|
|
@@ -28,7 +28,7 @@ class SettlementPostInteractionData {
|
|
|
28
28
|
}
|
|
29
29
|
static decode(data) {
|
|
30
30
|
(0, assert_1.default)((0, validations_1.isHexBytes)(data), 'Post interaction data must be valid bytes string');
|
|
31
|
-
const iter =
|
|
31
|
+
const iter = byte_utils_1.BytesIter.BigInt(data);
|
|
32
32
|
const feeType = iter.nextByte();
|
|
33
33
|
let bankFee = 0n;
|
|
34
34
|
let integratorFee;
|
package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map
CHANGED
|
@@ -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":";;;;;;AAAA,mCAA6B;AAC7B,4DAA8C;AAC9C,oDAA2B;AAE3B,mDAA4C;AAC5C,
|
|
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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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Address } from '@1inch/limit-order-sdk';
|
|
1
|
+
export { Address, LimitOrderV4Struct, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder } 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';
|
package/dist/index.js
CHANGED
|
@@ -14,9 +14,15 @@ 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.Address = void 0;
|
|
17
|
+
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
|
+
Object.defineProperty(exports, "Extension", { enumerable: true, get: function () { return limit_order_sdk_1.Extension; } });
|
|
21
|
+
Object.defineProperty(exports, "randBigInt", { enumerable: true, get: function () { return limit_order_sdk_1.randBigInt; } });
|
|
22
|
+
Object.defineProperty(exports, "getLimitOrderContract", { enumerable: true, get: function () { return limit_order_sdk_1.getLimitOrderContract; } });
|
|
23
|
+
Object.defineProperty(exports, "Interaction", { enumerable: true, get: function () { return limit_order_sdk_1.Interaction; } });
|
|
24
|
+
Object.defineProperty(exports, "TakerTraits", { enumerable: true, get: function () { return limit_order_sdk_1.TakerTraits; } });
|
|
25
|
+
Object.defineProperty(exports, "ExtensionBuilder", { enumerable: true, get: function () { return limit_order_sdk_1.ExtensionBuilder; } });
|
|
20
26
|
__exportStar(require("./fusion-order/index"), exports);
|
|
21
27
|
__exportStar(require("./auction-calculator/index"), exports);
|
|
22
28
|
__exportStar(require("./connector/index"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,
|
|
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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import { BN } from './utils/bytes/bn';
|
|
2
|
-
export declare function toSec(time: number | string | Date): number;
|
|
3
|
-
export declare function toBN(val: number | string): BN;
|
|
4
1
|
export declare function trim0x(data: string): string;
|
|
5
2
|
export declare function add0x(data: string): string;
|
|
6
|
-
export declare function getBytesCount(hex: string): bigint;
|
|
7
|
-
export declare function randBigInt(max: number): bigint;
|
package/dist/utils.js
CHANGED
|
@@ -1,26 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
const assert_1 = __importDefault(require("assert"));
|
|
8
|
-
const validations_1 = require("./validations");
|
|
9
|
-
const bn_1 = require("./utils/bytes/bn");
|
|
10
|
-
function toSec(time) {
|
|
11
|
-
const t = time instanceof Date ? time.getTime() : time;
|
|
12
|
-
return Math.floor(+t / 1000);
|
|
13
|
-
}
|
|
14
|
-
exports.toSec = toSec;
|
|
15
|
-
function toBN(val) {
|
|
16
|
-
if (typeof val === 'number') {
|
|
17
|
-
if (!Number.isSafeInteger(val)) {
|
|
18
|
-
throw new Error('integer is not safe');
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return new bn_1.BN(BigInt(val));
|
|
22
|
-
}
|
|
23
|
-
exports.toBN = toBN;
|
|
3
|
+
exports.add0x = exports.trim0x = void 0;
|
|
24
4
|
function trim0x(data) {
|
|
25
5
|
if (data.startsWith('0x')) {
|
|
26
6
|
return data.substring(2);
|
|
@@ -35,13 +15,4 @@ function add0x(data) {
|
|
|
35
15
|
return '0x' + data;
|
|
36
16
|
}
|
|
37
17
|
exports.add0x = add0x;
|
|
38
|
-
function getBytesCount(hex) {
|
|
39
|
-
(0, assert_1.default)((0, validations_1.isHexBytes)(hex), 'invalid hex');
|
|
40
|
-
return BigInt(trim0x(hex).length / 2);
|
|
41
|
-
}
|
|
42
|
-
exports.getBytesCount = getBytesCount;
|
|
43
|
-
function randBigInt(max) {
|
|
44
|
-
return BigInt(Math.floor(Math.random() * max));
|
|
45
|
-
}
|
|
46
|
-
exports.randBigInt = randBigInt;
|
|
47
18
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,MAAM,CAAC,IAAY;IAC/B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;KAC3B;IAED,OAAO,IAAI,CAAA;AACf,CAAC;AAND,wBAMC;AAED,SAAgB,KAAK,CAAC,IAAY;IAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,IAAI,CAAA;KACd;IAED,OAAO,IAAI,GAAG,IAAI,CAAA;AACtB,CAAC;AAND,sBAMC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1inch/fusion-sdk",
|
|
3
|
-
"version": "1.0.1-rc.
|
|
3
|
+
"version": "1.0.1-rc.3",
|
|
4
4
|
"description": "1inch Fusion Mode SDK",
|
|
5
5
|
"author": "@1inch",
|
|
6
6
|
"private": false,
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
"url": "ssh://git@github.com:1inch/fusion-sdk.git"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@1inch/
|
|
20
|
+
"@1inch/byte-utils": "2.0.0",
|
|
21
|
+
"@1inch/limit-order-sdk": "4.1.0",
|
|
21
22
|
"@metamask/eth-sig-util": "^5.0.2",
|
|
22
23
|
"bn.js": "^5.2.1",
|
|
23
24
|
"ethers": "6.11.0",
|
|
@@ -25,17 +26,16 @@
|
|
|
25
26
|
"ws": "^8.12.1"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
28
|
-
"@1inch/tsconfig": "1.0.7",
|
|
29
29
|
"@1inch/eslint-config": "1.4.3",
|
|
30
|
+
"@1inch/tsconfig": "1.0.7",
|
|
31
|
+
"@swc/core": "1.3.66",
|
|
32
|
+
"@swc/jest": "0.2.26",
|
|
30
33
|
"@types/jest": "^26.0.22",
|
|
31
34
|
"@types/prompts": "^2.0.12",
|
|
32
35
|
"@types/ws": "^8.5.4",
|
|
33
|
-
"@swc/core": "1.3.66",
|
|
34
|
-
"@swc/jest": "0.2.26",
|
|
35
|
-
"axios": "^1.6.7",
|
|
36
|
-
"generate-changelog": "^1.8.0",
|
|
37
36
|
"@typescript-eslint/eslint-plugin": "5.59",
|
|
38
37
|
"@typescript-eslint/parser": "5.51",
|
|
38
|
+
"axios": "^1.6.7",
|
|
39
39
|
"eslint": "8.41.0",
|
|
40
40
|
"eslint-config-prettier": "8.3",
|
|
41
41
|
"eslint-config-standard": "17",
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"eslint-plugin-prettier": "4",
|
|
46
46
|
"eslint-plugin-promise": "6",
|
|
47
47
|
"eslint-plugin-unused-imports": "2",
|
|
48
|
+
"generate-changelog": "^1.8.0",
|
|
48
49
|
"jest": "^26.6.3",
|
|
49
50
|
"prettier": "^2.2.1",
|
|
50
51
|
"ts-loader": "^9.0.2",
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.BitMask = void 0;
|
|
7
|
-
const assert_1 = __importDefault(require("assert"));
|
|
8
|
-
class BitMask {
|
|
9
|
-
constructor(startBit, endBit = startBit + 1n) {
|
|
10
|
-
(0, assert_1.default)(startBit < endBit, 'BitMask: startBit must be less than endBit');
|
|
11
|
-
this.offset = startBit;
|
|
12
|
-
this.mask = (1n << (endBit - startBit)) - 1n;
|
|
13
|
-
}
|
|
14
|
-
toString() {
|
|
15
|
-
return '0x' + this.toBigInt().toString(16);
|
|
16
|
-
}
|
|
17
|
-
toBigInt() {
|
|
18
|
-
return this.mask << this.offset;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.BitMask = BitMask;
|
|
22
|
-
//# sourceMappingURL=bit-mask.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bit-mask.js","sourceRoot":"","sources":["../../../src/utils/bytes/bit-mask.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAE3B,MAAa,OAAO;IAgBhB,YAAY,QAAgB,EAAE,MAAM,GAAG,QAAQ,GAAG,EAAE;QAChD,IAAA,gBAAM,EAAC,QAAQ,GAAG,MAAM,EAAE,4CAA4C,CAAC,CAAA;QAEvE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAA;IAChD,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC9C,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAA;IACnC,CAAC;CACJ;AA9BD,0BA8BC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const bit_mask_1 = require("./bit-mask");
|
|
4
|
-
describe('BitMask', () => {
|
|
5
|
-
it('Should create single bit mask', () => {
|
|
6
|
-
expect(new bit_mask_1.BitMask(0n).toString()).toEqual('0x1');
|
|
7
|
-
expect(new bit_mask_1.BitMask(1n).toString()).toEqual('0x2');
|
|
8
|
-
expect(new bit_mask_1.BitMask(16n).toString()).toEqual('0x10000');
|
|
9
|
-
});
|
|
10
|
-
it('Should create multi bit mask', () => {
|
|
11
|
-
expect(new bit_mask_1.BitMask(0n, 16n).toString()).toEqual('0xffff');
|
|
12
|
-
expect(new bit_mask_1.BitMask(16n, 32n).toString()).toEqual('0xffff0000');
|
|
13
|
-
expect(new bit_mask_1.BitMask(32n, 35n).toString()).toEqual('0x700000000');
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=bit-mask.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bit-mask.spec.js","sourceRoot":"","sources":["../../../src/utils/bytes/bit-mask.spec.ts"],"names":[],"mappings":";;AAAA,yCAAkC;AAElC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,IAAI,kBAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACjD,MAAM,CAAC,IAAI,kBAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACjD,MAAM,CAAC,IAAI,kBAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,kBAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,CAAC,IAAI,kBAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC9D,MAAM,CAAC,IAAI,kBAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
package/dist/utils/bytes/bn.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { BitMask } from './bit-mask';
|
|
2
|
-
export declare class BN {
|
|
3
|
-
readonly value: bigint;
|
|
4
|
-
constructor(value: bigint);
|
|
5
|
-
static fromNumber(n: number): BN;
|
|
6
|
-
setBit(n: bigint, value: 1 | 0): BN;
|
|
7
|
-
getBit(n: bigint): 1 | 0;
|
|
8
|
-
shiftLeft(n: bigint): BN;
|
|
9
|
-
shiftRight(n: bigint): BN;
|
|
10
|
-
and(other: BN | bigint): BN;
|
|
11
|
-
or(other: BN | bigint): BN;
|
|
12
|
-
xor(other: BN | bigint): BN;
|
|
13
|
-
isZero(): boolean;
|
|
14
|
-
isOne(): boolean;
|
|
15
|
-
getMask(mask: BitMask): BN;
|
|
16
|
-
setMask(mask: BitMask, value: BN | bigint): BN;
|
|
17
|
-
clearMask(mask: BitMask): BN;
|
|
18
|
-
toHex(pad?: number): string;
|
|
19
|
-
toNumber(): number;
|
|
20
|
-
}
|
package/dist/utils/bytes/bn.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.BN = void 0;
|
|
7
|
-
const assert_1 = __importDefault(require("assert"));
|
|
8
|
-
const utils_1 = require("../../utils");
|
|
9
|
-
class BN {
|
|
10
|
-
constructor(value) {
|
|
11
|
-
this.value = value;
|
|
12
|
-
}
|
|
13
|
-
static fromNumber(n) {
|
|
14
|
-
return new BN(BigInt(n));
|
|
15
|
-
}
|
|
16
|
-
setBit(n, value) {
|
|
17
|
-
if (value) {
|
|
18
|
-
return new BN(this.value | (1n << n));
|
|
19
|
-
}
|
|
20
|
-
return new BN(this.value & ~(1n << n));
|
|
21
|
-
}
|
|
22
|
-
getBit(n) {
|
|
23
|
-
return (this.value & (1n << n)) === 0n ? 0 : 1;
|
|
24
|
-
}
|
|
25
|
-
shiftLeft(n) {
|
|
26
|
-
return new BN(this.value << n);
|
|
27
|
-
}
|
|
28
|
-
shiftRight(n) {
|
|
29
|
-
return new BN(this.value >> n);
|
|
30
|
-
}
|
|
31
|
-
and(other) {
|
|
32
|
-
const raw = typeof other === 'bigint' ? other : other.value;
|
|
33
|
-
return new BN(raw & this.value);
|
|
34
|
-
}
|
|
35
|
-
or(other) {
|
|
36
|
-
const raw = typeof other === 'bigint' ? other : other.value;
|
|
37
|
-
return new BN(raw | this.value);
|
|
38
|
-
}
|
|
39
|
-
xor(other) {
|
|
40
|
-
const raw = typeof other === 'bigint' ? other : other.value;
|
|
41
|
-
return new BN(raw ^ this.value);
|
|
42
|
-
}
|
|
43
|
-
isZero() {
|
|
44
|
-
return this.value === 0n;
|
|
45
|
-
}
|
|
46
|
-
isOne() {
|
|
47
|
-
return this.value === 1n;
|
|
48
|
-
}
|
|
49
|
-
getMask(mask) {
|
|
50
|
-
return this.shiftRight(mask.offset).and(mask.mask);
|
|
51
|
-
}
|
|
52
|
-
setMask(mask, value) {
|
|
53
|
-
const raw = typeof value === 'bigint' ? value : value.value;
|
|
54
|
-
(0, assert_1.default)(raw <= mask.mask, `Value 0x${raw.toString(16)} to big for mask ${mask}`);
|
|
55
|
-
return new BN(this.clearMask(mask).value | (raw << mask.offset));
|
|
56
|
-
}
|
|
57
|
-
clearMask(mask) {
|
|
58
|
-
return new BN(this.value - (mask.toBigInt() & this.value));
|
|
59
|
-
}
|
|
60
|
-
toHex(pad = 0) {
|
|
61
|
-
return (0, utils_1.add0x)(this.value.toString(16).padStart(pad, '0'));
|
|
62
|
-
}
|
|
63
|
-
toNumber() {
|
|
64
|
-
return Number(this.value);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
exports.BN = BN;
|
|
68
|
-
//# sourceMappingURL=bn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bn.js","sourceRoot":"","sources":["../../../src/utils/bytes/bn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const bn_1 = require("./bn");
|
|
4
|
-
const bit_mask_1 = require("./bit-mask");
|
|
5
|
-
describe('BN', () => {
|
|
6
|
-
test('clearMask', () => {
|
|
7
|
-
const bn = new bn_1.BN(0xab7f1111n);
|
|
8
|
-
const mask = new bit_mask_1.BitMask(16n, 24n);
|
|
9
|
-
expect(bn.clearMask(mask).value).toEqual(0xab001111n);
|
|
10
|
-
});
|
|
11
|
-
test('setBit', () => {
|
|
12
|
-
const bn = new bn_1.BN(0xab7f1111n);
|
|
13
|
-
expect(bn.setBit(0n, 0).value).toEqual(0xab7f1110n);
|
|
14
|
-
expect(bn.setBit(4n, 0).value).toEqual(0xab7f1101n);
|
|
15
|
-
expect(bn.setBit(1n, 1).value).toEqual(0xab7f1113n);
|
|
16
|
-
expect(bn.setBit(5n, 1).value).toEqual(0xab7f1131n);
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
//# sourceMappingURL=bn.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bn.spec.js","sourceRoot":"","sources":["../../../src/utils/bytes/bn.spec.ts"],"names":[],"mappings":";;AAAA,6BAAuB;AACvB,yCAAkC;AAElC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;IAChB,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;QACnB,MAAM,EAAE,GAAG,IAAI,OAAE,CAAC,WAAW,CAAC,CAAA;QAC9B,MAAM,IAAI,GAAG,IAAI,kBAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAElC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;QAChB,MAAM,EAAE,GAAG,IAAI,OAAE,CAAC,WAAW,CAAC,CAAA;QAE9B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACnD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAEnD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACnD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare class BytesIter {
|
|
2
|
-
private bytes;
|
|
3
|
-
constructor(bytes: string);
|
|
4
|
-
isEmpty(): boolean;
|
|
5
|
-
nextByte(): bigint;
|
|
6
|
-
nextBytes(n: number): bigint;
|
|
7
|
-
nextUint8(): bigint;
|
|
8
|
-
nextUint16(): bigint;
|
|
9
|
-
nextUint24(): bigint;
|
|
10
|
-
nextUint32(): bigint;
|
|
11
|
-
nextUint160(): bigint;
|
|
12
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.BytesIter = void 0;
|
|
7
|
-
const assert_1 = __importDefault(require("assert"));
|
|
8
|
-
const validations_1 = require("../../validations");
|
|
9
|
-
const utils_1 = require("../../utils");
|
|
10
|
-
class BytesIter {
|
|
11
|
-
constructor(bytes) {
|
|
12
|
-
(0, assert_1.default)((0, validations_1.isHexBytes)(bytes), 'invalid bytes value');
|
|
13
|
-
this.bytes = bytes.slice(2);
|
|
14
|
-
}
|
|
15
|
-
isEmpty() {
|
|
16
|
-
return this.bytes.length === 0;
|
|
17
|
-
}
|
|
18
|
-
nextByte() {
|
|
19
|
-
return this.nextBytes(1);
|
|
20
|
-
}
|
|
21
|
-
nextBytes(n) {
|
|
22
|
-
const cnt = n * 2;
|
|
23
|
-
if (this.bytes.length < cnt) {
|
|
24
|
-
throw new Error(`Can not consume ${n} bytes, have only ${this.bytes.length / 2}`);
|
|
25
|
-
}
|
|
26
|
-
const bytes = this.bytes.slice(0, cnt);
|
|
27
|
-
this.bytes = this.bytes.slice(cnt);
|
|
28
|
-
return BigInt((0, utils_1.add0x)(bytes));
|
|
29
|
-
}
|
|
30
|
-
nextUint8() {
|
|
31
|
-
return this.nextByte();
|
|
32
|
-
}
|
|
33
|
-
nextUint16() {
|
|
34
|
-
return this.nextBytes(2);
|
|
35
|
-
}
|
|
36
|
-
nextUint24() {
|
|
37
|
-
return this.nextBytes(3);
|
|
38
|
-
}
|
|
39
|
-
nextUint32() {
|
|
40
|
-
return this.nextBytes(4);
|
|
41
|
-
}
|
|
42
|
-
nextUint160() {
|
|
43
|
-
return this.nextBytes(20);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.BytesIter = BytesIter;
|
|
47
|
-
//# sourceMappingURL=bytes-iter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bytes-iter.js","sourceRoot":"","sources":["../../../src/utils/bytes/bytes-iter.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAC3B,mDAA4C;AAC5C,uCAAiC;AAEjC,MAAa,SAAS;IAGlB,YAAY,KAAa;QACrB,IAAA,gBAAM,EAAC,IAAA,wBAAU,EAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAEhD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;IAClC,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAEM,SAAS,CAAC,CAAS;QACtB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QAEjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;YACzB,MAAM,IAAI,KAAK,CACX,mBAAmB,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CACnE,CAAA;SACJ;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAEtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAElC,OAAO,MAAM,CAAC,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC,CAAA;IAC/B,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;IAC1B,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;CACJ;AApDD,8BAoDC"}
|