@1inch/fusion-sdk 1.0.1-rc.4 → 1.0.1-rc.41
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/api/orders/order-api.spec.js +6 -5
- package/dist/api/orders/order-api.spec.js.map +1 -1
- package/dist/api/orders/orders.api.d.ts +1 -0
- package/dist/api/orders/orders.api.js +4 -3
- package/dist/api/orders/orders.api.js.map +1 -1
- package/dist/api/orders/types.d.ts +2 -0
- package/dist/api/orders/types.js.map +1 -1
- package/dist/api/quoter/quote/order-params.d.ts +1 -0
- package/dist/api/quoter/quote/order-params.js +1 -0
- package/dist/api/quoter/quote/order-params.js.map +1 -1
- package/dist/api/quoter/quote/quote.d.ts +5 -1
- package/dist/api/quoter/quote/quote.js +18 -10
- package/dist/api/quoter/quote/quote.js.map +1 -1
- package/dist/api/quoter/quote/types.d.ts +5 -0
- package/dist/api/quoter/quoter.api.d.ts +1 -0
- package/dist/api/quoter/quoter.api.js +3 -2
- package/dist/api/quoter/quoter.api.js.map +1 -1
- package/dist/api/quoter/quoter.api.spec.js +21 -6
- package/dist/api/quoter/quoter.api.spec.js.map +1 -1
- package/dist/api/quoter/quoter.request.d.ts +1 -0
- package/dist/api/quoter/quoter.request.js +3 -1
- package/dist/api/quoter/quoter.request.js.map +1 -1
- package/dist/api/quoter/types.d.ts +4 -3
- package/dist/api/quoter/types.js.map +1 -1
- package/dist/api/relayer/relayer.api.d.ts +1 -0
- package/dist/api/relayer/relayer.api.js +3 -2
- package/dist/api/relayer/relayer.api.js.map +1 -1
- package/dist/api/relayer/relayer.api.spec.js +8 -5
- package/dist/api/relayer/relayer.api.spec.js.map +1 -1
- package/dist/api/relayer/relayer.request.d.ts +1 -0
- package/dist/api/relayer/relayer.request.js +3 -1
- package/dist/api/relayer/relayer.request.js.map +1 -1
- package/dist/api/relayer/types.d.ts +1 -0
- package/dist/auction-calculator/auction-calculator.d.ts +23 -4
- package/dist/auction-calculator/auction-calculator.js +40 -6
- package/dist/auction-calculator/auction-calculator.js.map +1 -1
- package/dist/auction-calculator/auction-calculator.spec.js +7 -5
- package/dist/auction-calculator/auction-calculator.spec.js.map +1 -1
- package/dist/auction-calculator/calc.d.ts +8 -0
- package/dist/auction-calculator/calc.js +8 -0
- package/dist/auction-calculator/calc.js.map +1 -1
- package/dist/auction-calculator/constants.js +1 -1
- package/dist/auction-calculator/constants.js.map +1 -1
- package/dist/connector/blockchain/private-key-provider.connector.js +2 -0
- package/dist/connector/blockchain/private-key-provider.connector.js.map +1 -1
- package/dist/connector/ws/websocket-client.connector.js +2 -0
- package/dist/connector/ws/websocket-client.connector.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/fusion-order/auction-details/auction-details.d.ts +29 -0
- package/dist/fusion-order/auction-details/auction-details.js +21 -0
- package/dist/fusion-order/auction-details/auction-details.js.map +1 -1
- package/dist/fusion-order/auction-details/types.d.ts +12 -0
- package/dist/fusion-order/fusion-extension.d.ts +12 -4
- package/dist/fusion-order/fusion-extension.js +37 -9
- package/dist/fusion-order/fusion-extension.js.map +1 -1
- package/dist/fusion-order/fusion-extension.spec.d.ts +1 -0
- package/dist/fusion-order/fusion-extension.spec.js +75 -0
- package/dist/fusion-order/fusion-extension.spec.js.map +1 -0
- package/dist/fusion-order/fusion-order.d.ts +84 -3
- package/dist/fusion-order/fusion-order.js +127 -23
- package/dist/fusion-order/fusion-order.js.map +1 -1
- package/dist/fusion-order/fusion-order.spec.js +69 -5
- package/dist/fusion-order/fusion-order.spec.js.map +1 -1
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts +38 -1
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +125 -46
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map +1 -1
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js +95 -8
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js.map +1 -1
- package/dist/fusion-order/settlement-post-interaction-data/types.d.ts +12 -3
- package/dist/fusion-order/source-track.d.ts +1 -0
- package/dist/fusion-order/source-track.js +16 -0
- package/dist/fusion-order/source-track.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/sdk/sdk.js +12 -10
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/types.d.ts +14 -0
- package/dist/sdk/utils.js +5 -2
- package/dist/sdk/utils.js.map +1 -1
- package/dist/utils/amounts.d.ts +17 -1
- package/dist/utils/amounts.js +19 -3
- package/dist/utils/amounts.js.map +1 -1
- package/dist/utils/time.d.ts +1 -0
- package/dist/utils/time.js +8 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/validations.d.ts +4 -0
- package/dist/validations.js +4 -0
- package/dist/validations.js.map +1 -1
- package/dist/ws-api/ws-api.d.ts +1 -0
- package/dist/ws-api/ws-api.js +2 -1
- package/dist/ws-api/ws-api.js.map +1 -1
- package/dist/ws-api/ws.spec.js +9 -8
- package/dist/ws-api/ws.spec.js.map +1 -1
- package/package.json +31 -24
- package/dist/limit-order-contract/index.d.ts +0 -1
- package/dist/limit-order-contract/index.js +0 -6
- package/dist/limit-order-contract/index.js.map +0 -1
|
@@ -4,6 +4,7 @@ export declare class RelayerRequest {
|
|
|
4
4
|
readonly order: LimitOrderV4Struct;
|
|
5
5
|
readonly signature: string;
|
|
6
6
|
readonly quoteId: string;
|
|
7
|
+
readonly extension: string;
|
|
7
8
|
constructor(params: RelayerRequestParams);
|
|
8
9
|
static new(params: RelayerRequestParams): RelayerRequest;
|
|
9
10
|
build(): RelayerRequestParams;
|
|
@@ -6,6 +6,7 @@ class RelayerRequest {
|
|
|
6
6
|
this.order = params.order;
|
|
7
7
|
this.signature = params.signature;
|
|
8
8
|
this.quoteId = params.quoteId;
|
|
9
|
+
this.extension = params.extension;
|
|
9
10
|
}
|
|
10
11
|
static new(params) {
|
|
11
12
|
return new RelayerRequest(params);
|
|
@@ -14,7 +15,8 @@ class RelayerRequest {
|
|
|
14
15
|
return {
|
|
15
16
|
order: this.order,
|
|
16
17
|
signature: this.signature,
|
|
17
|
-
quoteId: this.quoteId
|
|
18
|
+
quoteId: this.quoteId,
|
|
19
|
+
extension: this.extension
|
|
18
20
|
};
|
|
19
21
|
}
|
|
20
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayer.request.js","sourceRoot":"","sources":["../../../src/api/relayer/relayer.request.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"relayer.request.js","sourceRoot":"","sources":["../../../src/api/relayer/relayer.request.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;IASvB,YAAY,MAA4B;QACpC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,MAA4B;QACnC,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,KAAK;QACD,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAA;IACL,CAAC;CACJ;AA5BD,wCA4BC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SettlementPostInteractionData, AuctionDetails, AuctionPoint } from '../fusion-order';
|
|
2
|
+
import { AuctionGasCostInfo } from '../fusion-order/auction-details/types';
|
|
2
3
|
export declare class AuctionCalculator {
|
|
3
4
|
private readonly startTime;
|
|
4
5
|
private readonly duration;
|
|
@@ -7,12 +8,30 @@ export declare class AuctionCalculator {
|
|
|
7
8
|
private readonly takerFeeRatio;
|
|
8
9
|
private readonly gasCost;
|
|
9
10
|
private static GAS_PRICE_BASE;
|
|
10
|
-
constructor(startTime: bigint, duration: bigint, initialRateBump: bigint, points: AuctionPoint[], takerFeeRatio: bigint, gasCost?:
|
|
11
|
-
gasBumpEstimate: bigint;
|
|
12
|
-
gasPriceEstimate: bigint;
|
|
13
|
-
});
|
|
11
|
+
constructor(startTime: bigint, duration: bigint, initialRateBump: bigint, points: AuctionPoint[], takerFeeRatio: bigint, gasCost?: AuctionGasCostInfo);
|
|
14
12
|
static fromAuctionData(data: SettlementPostInteractionData, details: AuctionDetails): AuctionCalculator;
|
|
13
|
+
static calcInitialRateBump(startAmount: bigint, endAmount: bigint): number;
|
|
14
|
+
/**
|
|
15
|
+
* @see https://github.com/1inch/limit-order-settlement/blob/1b6757eecb2574953b543821db6f7bbff5afee48/contracts/extensions/BaseExtension.sol#L56
|
|
16
|
+
*/
|
|
17
|
+
static calcAuctionTakingAmount(takingAmount: bigint, rate: number, takerFeeRatio: bigint): bigint;
|
|
18
|
+
/**
|
|
19
|
+
* Encode estimation `baseFee` as `gasPriceEstimate` for `AuctionGasCostInfo`
|
|
20
|
+
*/
|
|
21
|
+
static baseFeeToGasPriceEstimate(baseFee: bigint): bigint;
|
|
22
|
+
/**
|
|
23
|
+
* Calculates `gasBumpEstimate` for `AuctionGasCostInfo`
|
|
24
|
+
*
|
|
25
|
+
* @param endTakingAmount min return in destToken
|
|
26
|
+
* @param gasCostInToToken gas cost in destToken
|
|
27
|
+
*/
|
|
28
|
+
static calcGasBumpEstimate(endTakingAmount: bigint, gasCostInToToken: bigint): bigint;
|
|
15
29
|
calcAuctionTakingAmount(takingAmount: bigint, rate: number): bigint;
|
|
30
|
+
/**
|
|
31
|
+
* @see https://github.com/1inch/limit-order-settlement/blob/273defdf7b0f1867299dcbc306f32f035579310f/contracts/extensions/BaseExtension.sol#L121
|
|
32
|
+
* @param time auction timestamp in seconds
|
|
33
|
+
* @param blockBaseFee blockBaseFee in Wei, if passed, then rate will be calculated as if order executed in block with `blockBaseFee`
|
|
34
|
+
*/
|
|
16
35
|
calcRateBump(time: bigint, blockBaseFee?: bigint): number;
|
|
17
36
|
private getGasPriceBump;
|
|
18
37
|
private getAuctionBump;
|
|
@@ -5,7 +5,10 @@ const calc_1 = require("./calc");
|
|
|
5
5
|
const constants_1 = require("./constants");
|
|
6
6
|
const sdk_1 = require("../sdk");
|
|
7
7
|
class AuctionCalculator {
|
|
8
|
-
constructor(startTime, duration, initialRateBump, points, takerFeeRatio, gasCost = {
|
|
8
|
+
constructor(startTime, duration, initialRateBump, points, takerFeeRatio, gasCost = {
|
|
9
|
+
gasBumpEstimate: 0n,
|
|
10
|
+
gasPriceEstimate: 0n
|
|
11
|
+
}) {
|
|
9
12
|
this.startTime = startTime;
|
|
10
13
|
this.duration = duration;
|
|
11
14
|
this.initialRateBump = initialRateBump;
|
|
@@ -14,16 +17,47 @@ class AuctionCalculator {
|
|
|
14
17
|
this.gasCost = gasCost;
|
|
15
18
|
}
|
|
16
19
|
static fromAuctionData(data, details) {
|
|
17
|
-
return new AuctionCalculator(
|
|
20
|
+
return new AuctionCalculator(details.startTime, details.duration, details.initialRateBump, details.points, data.integratorFee?.ratio || 0n, details.gasCost);
|
|
18
21
|
}
|
|
19
|
-
|
|
22
|
+
static calcInitialRateBump(startAmount, endAmount) {
|
|
23
|
+
const bump = (constants_1.RATE_BUMP_DENOMINATOR * startAmount) / endAmount -
|
|
24
|
+
constants_1.RATE_BUMP_DENOMINATOR;
|
|
25
|
+
return Number(bump);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @see https://github.com/1inch/limit-order-settlement/blob/1b6757eecb2574953b543821db6f7bbff5afee48/contracts/extensions/BaseExtension.sol#L56
|
|
29
|
+
*/
|
|
30
|
+
static calcAuctionTakingAmount(takingAmount, rate, takerFeeRatio) {
|
|
20
31
|
const auctionTakingAmount = (BigInt(takingAmount) * (BigInt(rate) + constants_1.RATE_BUMP_DENOMINATOR)) /
|
|
21
32
|
constants_1.RATE_BUMP_DENOMINATOR;
|
|
22
|
-
if (
|
|
33
|
+
if (takerFeeRatio === 0n) {
|
|
23
34
|
return auctionTakingAmount;
|
|
24
35
|
}
|
|
25
|
-
return (0, sdk_1.addRatioToAmount)(auctionTakingAmount,
|
|
36
|
+
return (0, sdk_1.addRatioToAmount)(auctionTakingAmount, takerFeeRatio);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Encode estimation `baseFee` as `gasPriceEstimate` for `AuctionGasCostInfo`
|
|
40
|
+
*/
|
|
41
|
+
static baseFeeToGasPriceEstimate(baseFee) {
|
|
42
|
+
return baseFee / AuctionCalculator.GAS_PRICE_BASE;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Calculates `gasBumpEstimate` for `AuctionGasCostInfo`
|
|
46
|
+
*
|
|
47
|
+
* @param endTakingAmount min return in destToken
|
|
48
|
+
* @param gasCostInToToken gas cost in destToken
|
|
49
|
+
*/
|
|
50
|
+
static calcGasBumpEstimate(endTakingAmount, gasCostInToToken) {
|
|
51
|
+
return (gasCostInToToken * constants_1.RATE_BUMP_DENOMINATOR) / endTakingAmount;
|
|
52
|
+
}
|
|
53
|
+
calcAuctionTakingAmount(takingAmount, rate) {
|
|
54
|
+
return AuctionCalculator.calcAuctionTakingAmount(takingAmount, rate, this.takerFeeRatio);
|
|
26
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* @see https://github.com/1inch/limit-order-settlement/blob/273defdf7b0f1867299dcbc306f32f035579310f/contracts/extensions/BaseExtension.sol#L121
|
|
58
|
+
* @param time auction timestamp in seconds
|
|
59
|
+
* @param blockBaseFee blockBaseFee in Wei, if passed, then rate will be calculated as if order executed in block with `blockBaseFee`
|
|
60
|
+
*/
|
|
27
61
|
calcRateBump(time, blockBaseFee = 0n) {
|
|
28
62
|
const gasBump = this.getGasPriceBump(blockBaseFee);
|
|
29
63
|
const auctionBump = this.getAuctionBump(time);
|
|
@@ -67,5 +101,5 @@ class AuctionCalculator {
|
|
|
67
101
|
}
|
|
68
102
|
}
|
|
69
103
|
exports.AuctionCalculator = AuctionCalculator;
|
|
70
|
-
AuctionCalculator.GAS_PRICE_BASE = 1000000n;
|
|
104
|
+
AuctionCalculator.GAS_PRICE_BASE = 1000000n; // 1000 means 1 Gwei
|
|
71
105
|
//# sourceMappingURL=auction-calculator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auction-calculator.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.ts"],"names":[],"mappings":";;;AAAA,iCAA0C;AAC1C,2CAAiD;AAMjD,gCAAuC;
|
|
1
|
+
{"version":3,"file":"auction-calculator.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,10 @@ describe('Auction Calculator', () => {
|
|
|
14
14
|
receiver: limit_order_sdk_1.Address.fromBigInt(1n)
|
|
15
15
|
},
|
|
16
16
|
bankFee: 0n,
|
|
17
|
-
auctionStartTime,
|
|
18
|
-
whitelist: [
|
|
17
|
+
resolvingStartTime: auctionStartTime,
|
|
18
|
+
whitelist: [
|
|
19
|
+
{ address: limit_order_sdk_1.Address.ZERO_ADDRESS, allowFrom: auctionStartTime }
|
|
20
|
+
]
|
|
19
21
|
});
|
|
20
22
|
const auctionDetails = new fusion_order_1.AuctionDetails({
|
|
21
23
|
startTime: auctionStartTime,
|
|
@@ -27,15 +29,15 @@ describe('Auction Calculator', () => {
|
|
|
27
29
|
const rate = calculator.calcRateBump(auctionStartTime + 60n);
|
|
28
30
|
const auctionTakingAmount = calculator.calcAuctionTakingAmount(1420000000n, rate);
|
|
29
31
|
expect(rate).toBe(25000);
|
|
30
|
-
expect(auctionTakingAmount).toBe(1423692355n);
|
|
32
|
+
expect(auctionTakingAmount).toBe(1423692355n); // 1423550000 from rate + 142355 (1bps) integrator fee
|
|
31
33
|
});
|
|
32
34
|
describe('Gas bump', () => {
|
|
33
35
|
const now = BigInt(Math.floor(Date.now() / 1000));
|
|
34
|
-
const duration = 1800n;
|
|
36
|
+
const duration = 1800n; // 30m
|
|
35
37
|
const takingAmount = (0, ethers_1.parseEther)('1');
|
|
36
38
|
const calculator = new auction_calculator_1.AuctionCalculator(now - 60n, duration, 1000000n, [{ delay: 60, coefficient: 500000 }], 0n, {
|
|
37
39
|
gasBumpEstimate: 10000n,
|
|
38
|
-
gasPriceEstimate: 1000n
|
|
40
|
+
gasPriceEstimate: 1000n // 1gwei
|
|
39
41
|
});
|
|
40
42
|
it('0 gwei = no gas fee', () => {
|
|
41
43
|
const bump = calculator.calcRateBump(now);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auction-calculator.spec.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.spec.ts"],"names":[],"mappings":";;AAAA,4DAA8C;AAC9C,mCAA6C;AAC7C,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;
|
|
1
|
+
{"version":3,"file":"auction-calculator.spec.js","sourceRoot":"","sources":["../../src/auction-calculator/auction-calculator.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* v2(t-t1) + v1(t2-t)
|
|
4
|
+
* v = ---------------------
|
|
5
|
+
* t2-t1
|
|
6
|
+
*
|
|
7
|
+
* @see https://github.com/1inch/limit-order-settlement/blob/3c7cf9eacbaf7a60624d7a6f069c59d809f2204a/contracts/libraries/OrderSuffix.sol#L94
|
|
8
|
+
*/
|
|
1
9
|
export declare function linearInterpolation(t1: bigint, t2: bigint, v1: bigint, v2: bigint, t: bigint): bigint;
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.linearInterpolation = void 0;
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* v2(t-t1) + v1(t2-t)
|
|
7
|
+
* v = ---------------------
|
|
8
|
+
* t2-t1
|
|
9
|
+
*
|
|
10
|
+
* @see https://github.com/1inch/limit-order-settlement/blob/3c7cf9eacbaf7a60624d7a6f069c59d809f2204a/contracts/libraries/OrderSuffix.sol#L94
|
|
11
|
+
*/
|
|
4
12
|
function linearInterpolation(t1, t2, v1, v2, t) {
|
|
5
13
|
const timePassedFromNow = t - t1;
|
|
6
14
|
const timeLeft = t2 - t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calc.js","sourceRoot":"","sources":["../../src/auction-calculator/calc.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"calc.js","sourceRoot":"","sources":["../../src/auction-calculator/calc.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAC/B,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,CAAS;IAET,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAA;IAEvB,MAAM,kBAAkB,GAAG,EAAE,GAAG,iBAAiB,CAAA;IACjD,MAAM,sBAAsB,GAAG,EAAE,GAAG,QAAQ,CAAA;IAE5C,MAAM,WAAW,GAAG,kBAAkB,GAAG,sBAAsB,CAAA;IAE/D,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,CAAA;IAE9B,OAAO,WAAW,GAAG,cAAc,CAAA;AACvC,CAAC;AAlBD,kDAkBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/auction-calculator/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,SAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/auction-calculator/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,SAAW,CAAA,CAAC,OAAO"}
|
|
@@ -11,6 +11,8 @@ class PrivateKeyProviderConnector {
|
|
|
11
11
|
signTypedData(_walletAddress, typedData) {
|
|
12
12
|
const result = (0, eth_sig_util_1.signTypedData)({
|
|
13
13
|
privateKey: this.privateKeyBuffer,
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
15
|
+
// @ts-ignore
|
|
14
16
|
data: typedData,
|
|
15
17
|
version: eth_sig_util_1.SignTypedDataVersion.V4
|
|
16
18
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private-key-provider.connector.js","sourceRoot":"","sources":["../../../src/connector/blockchain/private-key-provider.connector.ts"],"names":[],"mappings":";;;AAAA,yDAA0E;AAK1E,MAAa,2BAA2B;IAKpC,YACa,UAAkB,EACR,YAAsB;QADhC,eAAU,GAAV,UAAU,CAAQ;QACR,iBAAY,GAAZ,YAAY,CAAU;QAEzC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC;IAED,aAAa,CACT,cAAsB,EACtB,SAA0B;QAE1B,MAAM,MAAM,GAAG,IAAA,4BAAa,EAAC;YACzB,UAAU,EAAE,IAAI,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"private-key-provider.connector.js","sourceRoot":"","sources":["../../../src/connector/blockchain/private-key-provider.connector.ts"],"names":[],"mappings":";;;AAAA,yDAA0E;AAK1E,MAAa,2BAA2B;IAKpC,YACa,UAAkB,EACR,YAAsB;QADhC,eAAU,GAAV,UAAU,CAAQ;QACR,iBAAY,GAAZ,YAAY,CAAU;QAEzC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC;IAED,aAAa,CACT,cAAsB,EACtB,SAA0B;QAE1B,MAAM,MAAM,GAAG,IAAA,4BAAa,EAAC;YACzB,UAAU,EAAE,IAAI,CAAC,gBAAgB;YACjC,6DAA6D;YAC7D,aAAa;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,mCAAoB,CAAC,EAAE;SACnC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,CAAC,eAAuB,EAAE,QAAgB;QAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAA;IACN,CAAC;CACJ;AAjCD,kEAiCC"}
|
|
@@ -27,7 +27,9 @@ class WebsocketClient {
|
|
|
27
27
|
if (this.initialized) {
|
|
28
28
|
throw new Error('WebSocket is already initialized');
|
|
29
29
|
}
|
|
30
|
+
// @ts-expect-error hack for readonly property
|
|
30
31
|
this.initialized = true;
|
|
32
|
+
// @ts-expect-error hack for readonly property
|
|
31
33
|
this.ws = new ws_1.default(this.url, this.authKey
|
|
32
34
|
? {
|
|
33
35
|
headers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-client.connector.js","sourceRoot":"","sources":["../../../src/connector/ws/websocket-client.connector.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA0B;AAS1B,MAAa,eAAe;IASxB,YAAY,MAAmB;QAC3B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAE7B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAA;QAEzC,IAAI,CAAC,QAAQ,EAAE;YACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;YACvB,IAAI,CAAC,EAAE,GAAG,IAAI,YAAS,CACnB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO;gBACR,CAAC,CAAC;oBACI,OAAO,EAAE;wBACL,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE;qBAC1C;iBACJ;gBACH,CAAC,CAAC,SAAS,CAClB,CAAA;YAED,OAAM;SACT;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;IAC5B,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;SACtD;
|
|
1
|
+
{"version":3,"file":"websocket-client.connector.js","sourceRoot":"","sources":["../../../src/connector/ws/websocket-client.connector.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare enum NetworkEnum {
|
|
|
12
12
|
}
|
|
13
13
|
export declare const ONE_INCH_LIMIT_ORDER_V4 = "0x111111125421ca6dc452d289314280a0f8842a65";
|
|
14
14
|
export declare const UINT_160_MAX: bigint;
|
|
15
|
+
export declare const UINT_16_MAX: bigint;
|
|
15
16
|
export declare const UINT_80_MAX: bigint;
|
|
16
17
|
export declare const UINT_40_MAX: bigint;
|
|
17
18
|
export declare const UINT_32_MAX: bigint;
|
package/dist/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UINT_256_MAX = exports.UINT_24_MAX = exports.UINT_32_MAX = exports.UINT_40_MAX = exports.UINT_80_MAX = exports.UINT_160_MAX = exports.ONE_INCH_LIMIT_ORDER_V4 = exports.NetworkEnum = exports.ZX = void 0;
|
|
3
|
+
exports.UINT_256_MAX = exports.UINT_24_MAX = exports.UINT_32_MAX = exports.UINT_40_MAX = exports.UINT_80_MAX = exports.UINT_16_MAX = exports.UINT_160_MAX = exports.ONE_INCH_LIMIT_ORDER_V4 = exports.NetworkEnum = exports.ZX = void 0;
|
|
4
4
|
exports.ZX = '0x';
|
|
5
5
|
var NetworkEnum;
|
|
6
6
|
(function (NetworkEnum) {
|
|
@@ -16,6 +16,7 @@ var NetworkEnum;
|
|
|
16
16
|
})(NetworkEnum = exports.NetworkEnum || (exports.NetworkEnum = {}));
|
|
17
17
|
exports.ONE_INCH_LIMIT_ORDER_V4 = '0x111111125421ca6dc452d289314280a0f8842a65';
|
|
18
18
|
exports.UINT_160_MAX = (1n << 160n) - 1n;
|
|
19
|
+
exports.UINT_16_MAX = (1n << 16n) - 1n;
|
|
19
20
|
exports.UINT_80_MAX = (1n << 80n) - 1n;
|
|
20
21
|
exports.UINT_40_MAX = (1n << 40n) - 1n;
|
|
21
22
|
exports.UINT_32_MAX = (1n << 32n) - 1n;
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,EAAE,GAAG,IAAI,CAAA;AAEtB,IAAY,WAUX;AAVD,WAAY,WAAW;IACnB,qDAAY,CAAA;IACZ,qDAAa,CAAA;IACb,oDAAY,CAAA;IACZ,yDAAgB,CAAA;IAChB,2DAAiB,CAAA;IACjB,sDAAa,CAAA;IACb,mDAAY,CAAA;IACZ,mDAAY,CAAA;IACZ,wDAAe,CAAA;AACnB,CAAC,EAVW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAUtB;AAEY,QAAA,uBAAuB,GAChC,4CAA4C,CAAA;AAEnC,QAAA,YAAY,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;AAChC,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,YAAY,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,EAAE,GAAG,IAAI,CAAA;AAEtB,IAAY,WAUX;AAVD,WAAY,WAAW;IACnB,qDAAY,CAAA;IACZ,qDAAa,CAAA;IACb,oDAAY,CAAA;IACZ,yDAAgB,CAAA;IAChB,2DAAiB,CAAA;IACjB,sDAAa,CAAA;IACb,mDAAY,CAAA;IACZ,mDAAY,CAAA;IACZ,wDAAe,CAAA;AACnB,CAAC,EAVW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAUtB;AAEY,QAAA,uBAAuB,GAChC,4CAA4C,CAAA;AAEnC,QAAA,YAAY,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;AAChC,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAC9B,QAAA,YAAY,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Extension } from '@1inch/limit-order-sdk';
|
|
1
2
|
import { AuctionGasCostInfo, AuctionPoint } from './types';
|
|
2
3
|
export declare class AuctionDetails {
|
|
3
4
|
readonly startTime: bigint;
|
|
@@ -5,7 +6,13 @@ export declare class AuctionDetails {
|
|
|
5
6
|
readonly initialRateBump: bigint;
|
|
6
7
|
readonly points: AuctionPoint[];
|
|
7
8
|
readonly gasCost: {
|
|
9
|
+
/**
|
|
10
|
+
* Rate bump to cover gas price. 10_000_000 means 100%
|
|
11
|
+
*/
|
|
8
12
|
gasBumpEstimate: bigint;
|
|
13
|
+
/**
|
|
14
|
+
* Gas price at estimation time. 1000 means 1 Gwei
|
|
15
|
+
*/
|
|
9
16
|
gasPriceEstimate: bigint;
|
|
10
17
|
};
|
|
11
18
|
constructor(auction: {
|
|
@@ -13,8 +20,30 @@ export declare class AuctionDetails {
|
|
|
13
20
|
initialRateBump: number;
|
|
14
21
|
duration: bigint;
|
|
15
22
|
points: AuctionPoint[];
|
|
23
|
+
/**
|
|
24
|
+
* Allows to scale estimate gas costs to actual gas costs
|
|
25
|
+
*/
|
|
16
26
|
gasCost?: AuctionGasCostInfo;
|
|
17
27
|
});
|
|
28
|
+
/**
|
|
29
|
+
* Construct `AuctionDetails` from bytes
|
|
30
|
+
*
|
|
31
|
+
* @param data bytes with 0x prefix in next format:
|
|
32
|
+
* - uint24 gasBumpEstimate
|
|
33
|
+
* - uint32 gasPriceEstimate
|
|
34
|
+
* - uint32 startTime
|
|
35
|
+
* - uint24 duration
|
|
36
|
+
* - uint24 initialRateBump
|
|
37
|
+
* - [uint24 rate, uint16 delay] * N points
|
|
38
|
+
*
|
|
39
|
+
* All data is tight packed
|
|
40
|
+
*
|
|
41
|
+
* @see AuctionDetails.encode
|
|
42
|
+
*/
|
|
18
43
|
static decode(data: string): AuctionDetails;
|
|
44
|
+
static fromExtension(extension: Extension): AuctionDetails;
|
|
45
|
+
/**
|
|
46
|
+
* Serialize auction data to bytes
|
|
47
|
+
*/
|
|
19
48
|
encode(): string;
|
|
20
49
|
}
|
|
@@ -26,6 +26,21 @@ class AuctionDetails {
|
|
|
26
26
|
(0, assert_1.default)(this.duration <= constants_1.UINT_24_MAX);
|
|
27
27
|
(0, assert_1.default)(this.initialRateBump <= constants_1.UINT_24_MAX);
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Construct `AuctionDetails` from bytes
|
|
31
|
+
*
|
|
32
|
+
* @param data bytes with 0x prefix in next format:
|
|
33
|
+
* - uint24 gasBumpEstimate
|
|
34
|
+
* - uint32 gasPriceEstimate
|
|
35
|
+
* - uint32 startTime
|
|
36
|
+
* - uint24 duration
|
|
37
|
+
* - uint24 initialRateBump
|
|
38
|
+
* - [uint24 rate, uint16 delay] * N points
|
|
39
|
+
*
|
|
40
|
+
* All data is tight packed
|
|
41
|
+
*
|
|
42
|
+
* @see AuctionDetails.encode
|
|
43
|
+
*/
|
|
29
44
|
static decode(data) {
|
|
30
45
|
(0, assert_1.default)((0, validations_1.isHexBytes)(data), 'Invalid auction details data');
|
|
31
46
|
const iter = byte_utils_1.BytesIter.BigInt(data);
|
|
@@ -52,6 +67,12 @@ class AuctionDetails {
|
|
|
52
67
|
}
|
|
53
68
|
});
|
|
54
69
|
}
|
|
70
|
+
static fromExtension(extension) {
|
|
71
|
+
return AuctionDetails.decode((0, utils_1.add0x)(extension.makingAmountData.slice(42)));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Serialize auction data to bytes
|
|
75
|
+
*/
|
|
55
76
|
encode() {
|
|
56
77
|
let details = ethers_1.ethers.solidityPacked(['uint24', 'uint32', 'uint32', 'uint24', 'uint24'], [
|
|
57
78
|
this.gasCost.gasBumpEstimate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auction-details.js","sourceRoot":"","sources":["../../../src/fusion-order/auction-details/auction-details.ts"],"names":[],"mappings":";;;;;;AAAA,mCAA6B;AAC7B,kDAA2C;
|
|
1
|
+
{"version":3,"file":"auction-details.js","sourceRoot":"","sources":["../../../src/fusion-order/auction-details/auction-details.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
export type AuctionPoint = {
|
|
2
|
+
/**
|
|
3
|
+
* point in time of this point relatively to previous point
|
|
4
|
+
*/
|
|
2
5
|
delay: number;
|
|
6
|
+
/**
|
|
7
|
+
* coefficient rate bump from the end of an auction
|
|
8
|
+
*/
|
|
3
9
|
coefficient: number;
|
|
4
10
|
};
|
|
5
11
|
export type AuctionGasCostInfo = {
|
|
12
|
+
/**
|
|
13
|
+
* Rate bump to cover gas price. 10_000_000 means 100%
|
|
14
|
+
*/
|
|
6
15
|
gasBumpEstimate: bigint;
|
|
16
|
+
/**
|
|
17
|
+
* Gas price at estimation time. 1000 means 1 Gwei
|
|
18
|
+
*/
|
|
7
19
|
gasPriceEstimate: bigint;
|
|
8
20
|
};
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import { Address, Extension,
|
|
1
|
+
import { Address, Extension, Interaction } from '@1inch/limit-order-sdk';
|
|
2
2
|
import { AuctionDetails } from './auction-details';
|
|
3
3
|
import { SettlementPostInteractionData } from './settlement-post-interaction-data';
|
|
4
|
-
export declare class FusionExtension
|
|
4
|
+
export declare class FusionExtension {
|
|
5
5
|
readonly address: Address;
|
|
6
|
-
readonly
|
|
6
|
+
readonly auctionDetails: AuctionDetails;
|
|
7
7
|
readonly postInteractionData: SettlementPostInteractionData;
|
|
8
|
-
|
|
8
|
+
readonly makerPermit?: Interaction | undefined;
|
|
9
|
+
private readonly builder;
|
|
10
|
+
constructor(address: Address, auctionDetails: AuctionDetails, postInteractionData: SettlementPostInteractionData, makerPermit?: Interaction | undefined);
|
|
11
|
+
/**
|
|
12
|
+
* Create `FusionExtension` from bytes
|
|
13
|
+
*
|
|
14
|
+
* @param bytes 0x prefixed bytes
|
|
15
|
+
*/
|
|
16
|
+
static decode(bytes: string): FusionExtension;
|
|
9
17
|
build(): Extension;
|
|
10
18
|
}
|
|
@@ -1,20 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.FusionExtension = void 0;
|
|
4
7
|
const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
const assert_1 = __importDefault(require("assert"));
|
|
9
|
+
const auction_details_1 = require("./auction-details");
|
|
10
|
+
const settlement_post_interaction_data_1 = require("./settlement-post-interaction-data");
|
|
11
|
+
class FusionExtension {
|
|
12
|
+
constructor(address, auctionDetails, postInteractionData, makerPermit) {
|
|
8
13
|
this.address = address;
|
|
9
|
-
this.
|
|
14
|
+
this.auctionDetails = auctionDetails;
|
|
10
15
|
this.postInteractionData = postInteractionData;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const detailsBytes = this.
|
|
14
|
-
this.
|
|
16
|
+
this.makerPermit = makerPermit;
|
|
17
|
+
this.builder = new limit_order_sdk_1.ExtensionBuilder();
|
|
18
|
+
const detailsBytes = this.auctionDetails.encode();
|
|
19
|
+
this.builder
|
|
20
|
+
.withMakingAmountData(this.address, detailsBytes)
|
|
15
21
|
.withTakingAmountData(this.address, detailsBytes)
|
|
16
22
|
.withPostInteraction(new limit_order_sdk_1.Interaction(this.address, this.postInteractionData.encode()));
|
|
17
|
-
|
|
23
|
+
if (makerPermit) {
|
|
24
|
+
this.builder.withMakerPermit(makerPermit.target, makerPermit.data);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create `FusionExtension` from bytes
|
|
29
|
+
*
|
|
30
|
+
* @param bytes 0x prefixed bytes
|
|
31
|
+
*/
|
|
32
|
+
static decode(bytes) {
|
|
33
|
+
const extension = limit_order_sdk_1.Extension.decode(bytes);
|
|
34
|
+
const settlementContract = limit_order_sdk_1.Address.fromFirstBytes(extension.makingAmountData);
|
|
35
|
+
(0, assert_1.default)(limit_order_sdk_1.Address.fromFirstBytes(extension.takingAmountData).equal(settlementContract) &&
|
|
36
|
+
limit_order_sdk_1.Address.fromFirstBytes(extension.postInteraction).equal(settlementContract), 'Invalid extension, all calls should be to the same address');
|
|
37
|
+
const auctionDetails = auction_details_1.AuctionDetails.fromExtension(extension);
|
|
38
|
+
const postInteractionData = settlement_post_interaction_data_1.SettlementPostInteractionData.fromExtension(extension);
|
|
39
|
+
const permit = extension.hasMakerPermit
|
|
40
|
+
? limit_order_sdk_1.Interaction.decode(extension.makerPermit)
|
|
41
|
+
: undefined;
|
|
42
|
+
return new FusionExtension(settlementContract, auctionDetails, postInteractionData, permit);
|
|
43
|
+
}
|
|
44
|
+
build() {
|
|
45
|
+
return this.builder.build();
|
|
18
46
|
}
|
|
19
47
|
}
|
|
20
48
|
exports.FusionExtension = FusionExtension;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusion-extension.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-extension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fusion-extension.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-extension.ts"],"names":[],"mappings":";;;;;;AAAA,4DAK+B;AAC/B,oDAA2B;AAE3B,uDAAgD;AAChD,yFAAgF;AAEhF,MAAa,eAAe;IAGxB,YACoB,OAAgB,EAChB,cAA8B,EAC9B,mBAAkD,EAClD,WAAyB;QAHzB,YAAO,GAAP,OAAO,CAAS;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAA+B;QAClD,gBAAW,GAAX,WAAW,CAAc;QAN5B,YAAO,GAAG,IAAI,kCAAgB,EAAE,CAAA;QAQ7C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAA;QAEjD,IAAI,CAAC,OAAO;aACP,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;aAChD,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;aAChD,mBAAmB,CAChB,IAAI,6BAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CACnE,CAAA;QAEL,IAAI,WAAW,EAAE;YACb,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;SACrE;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAC,KAAa;QAC9B,MAAM,SAAS,GAAG,2BAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEzC,MAAM,kBAAkB,GAAG,yBAAO,CAAC,cAAc,CAC7C,SAAS,CAAC,gBAAgB,CAC7B,CAAA;QAED,IAAA,gBAAM,EACF,yBAAO,CAAC,cAAc,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,KAAK,CACpD,kBAAkB,CACrB;YACG,yBAAO,CAAC,cAAc,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,KAAK,CACnD,kBAAkB,CACrB,EACL,4DAA4D,CAC/D,CAAA;QAED,MAAM,cAAc,GAAG,gCAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAE9D,MAAM,mBAAmB,GACrB,gEAA6B,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAE1D,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc;YACnC,CAAC,CAAC,6BAAW,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAA;QAEf,OAAO,IAAI,eAAe,CACtB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,MAAM,CACT,CAAA;IACL,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAC/B,CAAC;CACJ;AAjED,0CAiEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|