@1inch/fusion-sdk 1.0.1-rc.27 → 1.0.1-rc.29
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/quoter/quote/quote.js +1 -2
- package/dist/api/quoter/quote/quote.js.map +1 -1
- package/dist/fusion-order/fusion-order.d.ts +4 -0
- package/dist/fusion-order/fusion-order.js +16 -2
- package/dist/fusion-order/fusion-order.js.map +1 -1
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts +4 -1
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +36 -8
- 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 +19 -1
- 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 +1 -0
- package/dist/sdk/utils.js +5 -2
- package/dist/sdk/utils.js.map +1 -1
- package/package.json +21 -21
|
@@ -7,7 +7,6 @@ const types_1 = require("../types");
|
|
|
7
7
|
const preset_1 = require("../preset");
|
|
8
8
|
const fusion_order_1 = require("../../../fusion-order");
|
|
9
9
|
const sdk_1 = require("../../../sdk");
|
|
10
|
-
const time_1 = require("../../../utils/time");
|
|
11
10
|
class Quote {
|
|
12
11
|
constructor(params, response) {
|
|
13
12
|
this.params = params;
|
|
@@ -77,7 +76,7 @@ class Quote {
|
|
|
77
76
|
const isExclusive = resolver.equal(exclusiveResolver);
|
|
78
77
|
return {
|
|
79
78
|
address: resolver,
|
|
80
|
-
allowFrom: isExclusive ?
|
|
79
|
+
allowFrom: isExclusive ? 0n : auctionStartTime
|
|
81
80
|
};
|
|
82
81
|
});
|
|
83
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../../src/api/quoter/quote/quote.ts"],"names":[],"mappings":";;;AAAA,4DAA8C;AAC9C,iDAAgD;AAEhD,oCAAyD;AACzD,sCAAgC;AAChC,wDAAuE;AAEvE,sCAA6C;
|
|
1
|
+
{"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../../src/api/quoter/quote/quote.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,4 +112,8 @@ export declare class FusionOrder {
|
|
|
112
112
|
* @see https://github.com/1inch/limit-order-settlement/blob/0e3cae3653092ebb4ea5d2a338c87a54351ad883/contracts/extensions/ResolverFeeExtension.sol#L29
|
|
113
113
|
*/
|
|
114
114
|
getResolverFee(filledMakingAmount: bigint): bigint;
|
|
115
|
+
/**
|
|
116
|
+
* Check if `wallet` can fill order before other
|
|
117
|
+
*/
|
|
118
|
+
isExclusiveResolver(wallet: Address): boolean;
|
|
115
119
|
}
|
|
@@ -50,6 +50,12 @@ class FusionOrder {
|
|
|
50
50
|
if (nonce !== undefined) {
|
|
51
51
|
makerTraits.withNonce(nonce);
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* @see https://github.com/1inch/limit-order-settlement/blob/0afb4785cb825fe959c534ff4f1a771d4d33cdf4/contracts/extensions/IntegratorFeeExtension.sol#L65
|
|
55
|
+
*/
|
|
56
|
+
const receiver = postInteractionData.integratorFee?.ratio
|
|
57
|
+
? settlementExtensionContract
|
|
58
|
+
: orderInfo.receiver;
|
|
53
59
|
const extension = new fusion_extension_1.FusionExtension(settlementExtensionContract, auctionDetails, postInteractionData);
|
|
54
60
|
if (permit) {
|
|
55
61
|
extension.withMakerPermit(orderInfo.makerAsset, permit);
|
|
@@ -57,6 +63,7 @@ class FusionOrder {
|
|
|
57
63
|
const builtExtension = extension.build();
|
|
58
64
|
this.inner = new limit_order_sdk_1.LimitOrder({
|
|
59
65
|
...orderInfo,
|
|
66
|
+
receiver,
|
|
60
67
|
salt: limit_order_sdk_1.LimitOrder.buildSalt(builtExtension, orderInfo.salt)
|
|
61
68
|
}, makerTraits, builtExtension);
|
|
62
69
|
this.fusionExtension = extension;
|
|
@@ -117,7 +124,8 @@ class FusionOrder {
|
|
|
117
124
|
bankFee: details.fees?.bankFee || 0n,
|
|
118
125
|
integratorFee: details.fees?.integratorFee,
|
|
119
126
|
whitelist: details.whitelist,
|
|
120
|
-
resolvingStartTime: details.resolvingStartTime ?? (0, time_1.now)()
|
|
127
|
+
resolvingStartTime: details.resolvingStartTime ?? (0, time_1.now)(),
|
|
128
|
+
customReceiver: orderInfo.receiver
|
|
121
129
|
}), extra);
|
|
122
130
|
}
|
|
123
131
|
/**
|
|
@@ -165,7 +173,7 @@ class FusionOrder {
|
|
|
165
173
|
return this.inner.getOrderHash(chainId);
|
|
166
174
|
}
|
|
167
175
|
getTypedData(chainId) {
|
|
168
|
-
return this.inner.getTypedData(
|
|
176
|
+
return this.inner.getTypedData(chainId);
|
|
169
177
|
}
|
|
170
178
|
getCalculator() {
|
|
171
179
|
return auction_calculator_1.AuctionCalculator.fromAuctionData(this.fusionExtension.postInteractionData, this.fusionExtension.auctionDetails);
|
|
@@ -214,6 +222,12 @@ class FusionOrder {
|
|
|
214
222
|
filledMakingAmount) /
|
|
215
223
|
this.makingAmount);
|
|
216
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* Check if `wallet` can fill order before other
|
|
227
|
+
*/
|
|
228
|
+
isExclusiveResolver(wallet) {
|
|
229
|
+
return this.fusionExtension.postInteractionData.isExclusiveResolver(wallet);
|
|
230
|
+
}
|
|
217
231
|
}
|
|
218
232
|
exports.FusionOrder = FusionOrder;
|
|
219
233
|
FusionOrder._ORDER_FEE_BASE_POINTS = 10n ** 15n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusion-order.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-order.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"fusion-order.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-order.ts"],"names":[],"mappings":"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"}
|
package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts
CHANGED
|
@@ -5,18 +5,20 @@ export declare class SettlementPostInteractionData {
|
|
|
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,
|
|
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
|
|
@@ -35,6 +37,7 @@ export declare class SettlementPostInteractionData {
|
|
|
35
37
|
* @param executionTime timestamp in sec at which order planning to execute
|
|
36
38
|
*/
|
|
37
39
|
canExecuteAt(executor: Address, executionTime: bigint): boolean;
|
|
40
|
+
isExclusiveResolver(wallet: Address): boolean;
|
|
38
41
|
}
|
|
39
42
|
type WhitelistItem = {
|
|
40
43
|
/**
|
package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js
CHANGED
|
@@ -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,
|
|
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
|
|
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 ((
|
|
74
|
+
if (flags.getBit(0n)) {
|
|
69
75
|
bankFee = iter.nextUint32();
|
|
70
76
|
}
|
|
71
77
|
// integrator fee presented
|
|
72
|
-
if ((
|
|
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,7 +104,8 @@ class SettlementPostInteractionData {
|
|
|
94
104
|
integratorFee,
|
|
95
105
|
bankFee,
|
|
96
106
|
resolvingStartTime,
|
|
97
|
-
whitelist
|
|
107
|
+
whitelist,
|
|
108
|
+
customReceiver
|
|
98
109
|
});
|
|
99
110
|
}
|
|
100
111
|
static fromExtension(extension) {
|
|
@@ -107,6 +118,7 @@ class SettlementPostInteractionData {
|
|
|
107
118
|
/**
|
|
108
119
|
* 0b0000_0001 - fee bank mask
|
|
109
120
|
* 0b0000_0010 - integrator fee mask
|
|
121
|
+
* 0b0000_0100 - is custom receiver present
|
|
110
122
|
* 0b1111_1000 - resolvers count mask
|
|
111
123
|
*/
|
|
112
124
|
let bitMask = new byte_utils_1.BN(0n);
|
|
@@ -120,8 +132,12 @@ class SettlementPostInteractionData {
|
|
|
120
132
|
if (this.integratorFee?.ratio) {
|
|
121
133
|
bitMask = bitMask.setBit(1n, 1);
|
|
122
134
|
bytes
|
|
123
|
-
.
|
|
124
|
-
.
|
|
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
|
+
}
|
|
125
141
|
}
|
|
126
142
|
bytes.addUint32(this.resolvingStartTime);
|
|
127
143
|
// whitelist data
|
|
@@ -152,6 +168,18 @@ class SettlementPostInteractionData {
|
|
|
152
168
|
}
|
|
153
169
|
return false;
|
|
154
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
|
+
}
|
|
155
183
|
}
|
|
156
184
|
exports.SettlementPostInteractionData = SettlementPostInteractionData;
|
|
157
185
|
//# sourceMappingURL=settlement-post-interaction-data.js.map
|
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,4DAAyD;AACzD,kDAAsE;AACtE,oDAA2B;AAE3B,mDAA4C;AAC5C,uCAAiC;AACjC,+CAA2C;AAE3C,MAAa,6BAA6B;
|
|
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/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js
CHANGED
|
@@ -45,12 +45,30 @@ describe('SettlementPostInteractionData', () => {
|
|
|
45
45
|
}
|
|
46
46
|
],
|
|
47
47
|
integratorFee: {
|
|
48
|
-
receiver: limit_order_sdk_1.Address.
|
|
48
|
+
receiver: limit_order_sdk_1.Address.fromBigInt(1n),
|
|
49
49
|
ratio: (0, utils_1.bpsToRatioFormat)(10)
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(data.encode())).toStrictEqual(data);
|
|
53
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
|
+
});
|
|
54
72
|
it('Should generate correct whitelist', () => {
|
|
55
73
|
const start = 1708117482n;
|
|
56
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":";;AAAA,4DAA8C;AAC9C,kDAA+C;AAC/C,yFAAgF;AAChF,2CAAgD;AAEhD,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,IAAI,GAAG,gEAA6B,CAAC,GAAG,CAAC;YAC3C,OAAO,EAAE,EAAE;YACX,kBAAkB,EAAE,WAAW;YAC/B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,yBAAO,CAAC,YAAY;oBAC7B,SAAS,EAAE,EAAE;iBAChB;aACJ;SACJ,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAE7B,MAAM,CAAC,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,CAAC,gEAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAC/D,IAAI,CACP,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,gEAA6B,CAAC,GAAG,CAAC;YAC3C,kBAAkB,EAAE,WAAW;YAC/B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,yBAAO,CAAC,YAAY;oBAC7B,SAAS,EAAE,EAAE;iBAChB;aACJ;SACJ,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAE7B,MAAM,CAAC,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,CAAC,gEAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAC/D,IAAI,CACP,CAAA;IACL,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,IAAI,GAAG,gEAA6B,CAAC,GAAG,CAAC;YAC3C,OAAO,EAAE,EAAE;YACX,kBAAkB,EAAE,WAAW;YAC/B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,yBAAO,CAAC,YAAY;oBAC7B,SAAS,EAAE,EAAE;iBAChB;aACJ;YACD,aAAa,EAAE;gBACX,QAAQ,EAAE,yBAAO,CAAC,
|
|
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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"}
|
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) *
|
|
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) /
|
|
15
|
+
return amount + (amount * ratio) / FEE_BASE;
|
|
13
16
|
}
|
|
14
17
|
exports.addRatioToAmount = addRatioToAmount;
|
|
15
18
|
//# sourceMappingURL=utils.js.map
|
package/dist/sdk/utils.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
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.29",
|
|
4
4
|
"description": "1inch Fusion Mode SDK",
|
|
5
5
|
"author": "@1inch",
|
|
6
6
|
"private": false,
|
|
@@ -18,39 +18,39 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@1inch/byte-utils": "2.2.0",
|
|
21
|
-
"@1inch/limit-order-sdk": "4.
|
|
22
|
-
"@metamask/eth-sig-util": "^5.0
|
|
21
|
+
"@1inch/limit-order-sdk": "^4.8.1",
|
|
22
|
+
"@metamask/eth-sig-util": "^5.1.0",
|
|
23
23
|
"bn.js": "^5.2.1",
|
|
24
24
|
"ethers": "6.11.0",
|
|
25
|
-
"tslib": "^2.2
|
|
26
|
-
"ws": "^8.
|
|
25
|
+
"tslib": "^2.6.2",
|
|
26
|
+
"ws": "^8.16.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@1inch/eslint-config": "1.4.3",
|
|
30
30
|
"@1inch/tsconfig": "1.0.7",
|
|
31
31
|
"@swc/core": "1.3.66",
|
|
32
32
|
"@swc/jest": "0.2.26",
|
|
33
|
-
"@types/jest": "^26.0.
|
|
34
|
-
"@types/prompts": "^2.
|
|
35
|
-
"@types/ws": "^8.5.
|
|
36
|
-
"@typescript-eslint/eslint-plugin": "5.59",
|
|
37
|
-
"@typescript-eslint/parser": "5.51",
|
|
38
|
-
"axios": "^1.6.
|
|
33
|
+
"@types/jest": "^26.0.24",
|
|
34
|
+
"@types/prompts": "^2.4.9",
|
|
35
|
+
"@types/ws": "^8.5.10",
|
|
36
|
+
"@typescript-eslint/eslint-plugin": "~5.59.11",
|
|
37
|
+
"@typescript-eslint/parser": "~5.51.0",
|
|
38
|
+
"axios": "^1.6.8",
|
|
39
39
|
"eslint": "8.41.0",
|
|
40
|
-
"eslint-config-prettier": "8.3",
|
|
41
|
-
"eslint-config-standard": "17",
|
|
40
|
+
"eslint-config-prettier": "~8.3.0",
|
|
41
|
+
"eslint-config-standard": "^17.1.0",
|
|
42
42
|
"eslint-import-resolver-typescript": "3.5.5",
|
|
43
|
-
"eslint-plugin-import": "2.26",
|
|
44
|
-
"eslint-plugin-n": "16",
|
|
45
|
-
"eslint-plugin-prettier": "4",
|
|
46
|
-
"eslint-plugin-promise": "6",
|
|
47
|
-
"eslint-plugin-unused-imports": "2",
|
|
43
|
+
"eslint-plugin-import": "~2.26.0",
|
|
44
|
+
"eslint-plugin-n": "^16.6.2",
|
|
45
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
46
|
+
"eslint-plugin-promise": "^6.1.1",
|
|
47
|
+
"eslint-plugin-unused-imports": "^2.0.0",
|
|
48
48
|
"generate-changelog": "^1.8.0",
|
|
49
49
|
"jest": "^26.6.3",
|
|
50
|
-
"prettier": "^2.
|
|
51
|
-
"ts-loader": "^9.
|
|
50
|
+
"prettier": "^2.8.8",
|
|
51
|
+
"ts-loader": "^9.5.1",
|
|
52
52
|
"ts-mockito": "^2.6.1",
|
|
53
|
-
"ts-node": "^10.
|
|
53
|
+
"ts-node": "^10.9.2",
|
|
54
54
|
"typescript": "4.9.4"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|