@1inch/fusion-sdk 0.0.2 → 0.0.4
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/README.md +8 -1
- package/abi/AggregationRouterV5.abi.json +1641 -0
- package/api/fusion-api.d.ts +5 -0
- package/api/fusion-api.js +11 -0
- package/api/fusion-api.js.map +1 -1
- package/api/orders/index.d.ts +3 -0
- package/api/orders/index.js +7 -0
- package/api/orders/index.js.map +1 -0
- package/api/orders/order-api.spec.d.ts +1 -0
- package/api/orders/order-api.spec.js +413 -0
- package/api/orders/order-api.spec.js.map +1 -0
- package/api/orders/orders.api.d.ts +12 -0
- package/api/orders/orders.api.js +49 -0
- package/api/orders/orders.api.js.map +1 -0
- package/api/orders/orders.request.d.ts +24 -0
- package/api/orders/orders.request.js +79 -0
- package/api/orders/orders.request.js.map +1 -0
- package/api/orders/types.d.ts +66 -0
- package/api/orders/types.js +16 -0
- package/api/orders/types.js.map +1 -0
- package/api/pagination.d.ts +10 -0
- package/api/pagination.js +20 -0
- package/api/pagination.js.map +1 -0
- package/api/pagination.spec.d.ts +1 -0
- package/api/pagination.spec.js +28 -0
- package/api/pagination.spec.js.map +1 -0
- package/api/quoter/quote/quote.js +2 -7
- package/api/quoter/quote/quote.js.map +1 -1
- package/api/types.d.ts +10 -0
- package/auction-calculator/auction-calculator.spec.js +11 -0
- package/auction-calculator/auction-calculator.spec.js.map +1 -1
- package/constants.d.ts +1 -0
- package/constants.js +6 -1
- package/constants.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +6 -1
- package/sdk/sdk.d.ts +4 -0
- package/sdk/sdk.js +19 -0
- package/sdk/sdk.js.map +1 -1
- package/settlement/encoders/constants.d.ts +1 -0
- package/settlement/encoders/constants.js +5 -0
- package/settlement/encoders/constants.js.map +1 -0
- package/settlement/encoders/fill-order.encoder.d.ts +2 -0
- package/settlement/encoders/fill-order.encoder.js +17 -0
- package/settlement/encoders/fill-order.encoder.js.map +1 -0
- package/settlement/encoders/index.d.ts +3 -0
- package/settlement/encoders/index.js +7 -0
- package/settlement/encoders/index.js.map +1 -0
- package/settlement/encoders/settlement.encoder.d.ts +4 -0
- package/settlement/encoders/settlement.encoder.js +26 -0
- package/settlement/encoders/settlement.encoder.js.map +1 -0
- package/settlement/index.d.ts +4 -0
- package/settlement/index.js +8 -0
- package/settlement/index.js.map +1 -0
- package/settlement/settlement.d.ts +7 -0
- package/settlement/settlement.js +26 -0
- package/settlement/settlement.js.map +1 -0
- package/settlement/settlement.spec.d.ts +1 -0
- package/settlement/settlement.spec.js +61 -0
- package/settlement/settlement.spec.js.map +1 -0
- package/settlement/signature-patcher.d.ts +1 -0
- package/settlement/signature-patcher.js +29 -0
- package/settlement/signature-patcher.js.map +1 -0
- package/settlement/types.d.ts +16 -0
- package/settlement/types.js +3 -0
- package/settlement/types.js.map +1 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const settlement_1 = require("./settlement");
|
|
4
|
+
describe('Settlement', () => {
|
|
5
|
+
const resolverContract = '0x84d99aa569d93a9ca187d83734c8c4a519c4e9b1';
|
|
6
|
+
const settlementContract = '0xa88800cd213da5ae406ce248380802bd53b47647';
|
|
7
|
+
it('should encode settlement', () => {
|
|
8
|
+
const settlement = settlement_1.Settlement.new({
|
|
9
|
+
resolverContract,
|
|
10
|
+
settlementContract
|
|
11
|
+
});
|
|
12
|
+
const limitOrder0 = {
|
|
13
|
+
salt: '618054093254',
|
|
14
|
+
makerAsset: '0xe9e7cea3dedca5984780bafc599bd69add087d56',
|
|
15
|
+
takerAsset: '0x111111111117dc0aa78b770fa6a738034120c302',
|
|
16
|
+
maker: '0xfb3c7eb936cAA12B5A884d612393969A557d4307',
|
|
17
|
+
receiver: '0x0000000000000000000000000000000000000000',
|
|
18
|
+
allowedSender: '0x0000000000000000000000000000000000000000',
|
|
19
|
+
makingAmount: '1000000000000000000',
|
|
20
|
+
takingAmount: '1000000000000000000',
|
|
21
|
+
offsets: '9813420589127697917471531885823684359047649055178615469676279994777600',
|
|
22
|
+
// eslint-disable-next-line max-len
|
|
23
|
+
interactions: '0x20b83f2d0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400007e2d21830000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000bfa7514300000000000000000000000000000000000000000000000000000068000000240000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006863592c2b0000000000000000000000000000000000000000000000000000000063593ad9cf6fc6e3000000000000000000000000fb3c7eb936caa12b5a884d612393969a557d43070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
|
24
|
+
};
|
|
25
|
+
const limitOrder1 = {
|
|
26
|
+
salt: '618054093254',
|
|
27
|
+
makerAsset: '0xe9e7cea3dedca5984780bafc599bd69add087d56',
|
|
28
|
+
takerAsset: '0x111111111117dc0aa78b770fa6a738034120c302',
|
|
29
|
+
maker: '0xfb3c7eb936cAA12B5A884d612393969A557d4307',
|
|
30
|
+
receiver: '0x0000000000000000000000000000000000000000',
|
|
31
|
+
allowedSender: '0x0000000000000000000000000000000000000000',
|
|
32
|
+
makingAmount: '1000000000000000000',
|
|
33
|
+
takingAmount: '1000000000000000000',
|
|
34
|
+
offsets: '9813420589127697917471531885823684359047649055178615469676279994777600',
|
|
35
|
+
// eslint-disable-next-line max-len
|
|
36
|
+
interactions: '0x20b83f2d0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400007e2d21830000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000bfa7514300000000000000000000000000000000000000000000000000000068000000240000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006863592c2b0000000000000000000000000000000000000000000000000000000063593ad9cf6fc6e3000000000000000000000000fb3c7eb936caa12b5a884d612393969a557d43070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
|
37
|
+
};
|
|
38
|
+
const calldata = settlement.encodeSettleOrders([
|
|
39
|
+
{
|
|
40
|
+
order: limitOrder0,
|
|
41
|
+
makingAmount: '12345',
|
|
42
|
+
takingAmount: '0',
|
|
43
|
+
thresholdAmount: '12342343242342342342424324234242',
|
|
44
|
+
signature: '0xaefe4201b2a66009b0f2976a638f54d6f6a63b0fdcfdc289523c7ea6220c7ab13d1af9de1b85701cfff745b96742e9e4c3b29057adcac8f3b62de7b1a4eb110d1b',
|
|
45
|
+
target: resolverContract
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
order: limitOrder1,
|
|
49
|
+
makingAmount: '678910',
|
|
50
|
+
takingAmount: '0',
|
|
51
|
+
thresholdAmount: '12342343242342342342424324234242',
|
|
52
|
+
signature: '0x123e4201b2a66009b0f2976a638f54d6f6a63b0fdcfdc289523c7ea6220c7ab13d1af9de1b85701cfff745b96742e9e4c3b29057adcac8f3b62de7b1a4eb110d1b',
|
|
53
|
+
target: resolverContract
|
|
54
|
+
}
|
|
55
|
+
], '0x123456');
|
|
56
|
+
expect(calldata).toBe(
|
|
57
|
+
// eslint-disable-next-line max-len
|
|
58
|
+
'0x0965d04b000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000008e000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000030390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009bc8430b2577b5a268bb3c5c0200000000000000000000000084d99aa569d93a9ca187d83734c8c4a519c4e9b10000000000000000000000000000000000000000000000000000008fe6e509c6000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56000000000000000000000000111111111117dc0aa78b770fa6a738034120c302000000000000000000000000fb3c7eb936caa12b5a884d612393969a557d4307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000016c0000016c0000016c0000016c000000880000004400000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000016c20b83f2d0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400007e2d21830000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000bfa7514300000000000000000000000000000000000000000000000000000068000000240000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006863592c2b0000000000000000000000000000000000000000000000000000000063593ad9cf6fc6e3000000000000000000000000fb3c7eb936caa12b5a884d612393969a557d4307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040aefe4201b2a66009b0f2976a638f54d6f6a63b0fdcfdc289523c7ea6220c7ab13d1af9de1b85701cfff745b96742e9e4c3b29057adcac8f3b62de7b1a4eb110d0000000000000000000000000000000000000000000000000000000000000495a88800cd213da5ae406ce248380802bd53b476470000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000a5bfe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009bc8430b2577b5a268bb3c5c0200000000000000000000000084d99aa569d93a9ca187d83734c8c4a519c4e9b10000000000000000000000000000000000000000000000000000008fe6e509c6000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d56000000000000000000000000111111111117dc0aa78b770fa6a738034120c302000000000000000000000000fb3c7eb936caa12b5a884d612393969a557d4307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000016c0000016c0000016c0000016c000000880000004400000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000016c20b83f2d0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400007e2d21830000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000bfa7514300000000000000000000000000000000000000000000000000000068000000240000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006863592c2b0000000000000000000000000000000000000000000000000000000063593ad9cf6fc6e3000000000000000000000000fb3c7eb936caa12b5a884d612393969a557d4307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040123e4201b2a66009b0f2976a638f54d6f6a63b0fdcfdc289523c7ea6220c7ab13d1af9de1b85701cfff745b96742e9e4c3b29057adcac8f3b62de7b1a4eb110d000000000000000000000000000000000000000000000000000000000000002ca88800cd213da5ae406ce248380802bd53b476470184d99aa569d93a9ca187d83734c8c4a519c4e9b112345600000000000000000000000000000000000000000000000000000000000000');
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=settlement.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settlement.spec.js","sourceRoot":"","sources":["../../src/settlement/settlement.spec.ts"],"names":[],"mappings":";;AAAA,6CAAuC;AAGvC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,MAAM,gBAAgB,GAAG,4CAA4C,CAAA;IACrE,MAAM,kBAAkB,GAAG,4CAA4C,CAAA;IAEvE,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAChC,MAAM,UAAU,GAAG,uBAAU,CAAC,GAAG,CAAC;YAC9B,gBAAgB;YAChB,kBAAkB;SACrB,CAAC,CAAA;QAEF,MAAM,WAAW,GAAuB;YACpC,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,4CAA4C;YACxD,UAAU,EAAE,4CAA4C;YACxD,KAAK,EAAE,4CAA4C;YACnD,QAAQ,EAAE,4CAA4C;YACtD,aAAa,EAAE,4CAA4C;YAC3D,YAAY,EAAE,qBAAqB;YACnC,YAAY,EAAE,qBAAqB;YACnC,OAAO,EACH,wEAAwE;YAC5E,mCAAmC;YACnC,YAAY,EACR,4tBAA4tB;SACnuB,CAAA;QAED,MAAM,WAAW,GAAuB;YACpC,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,4CAA4C;YACxD,UAAU,EAAE,4CAA4C;YACxD,KAAK,EAAE,4CAA4C;YACnD,QAAQ,EAAE,4CAA4C;YACtD,aAAa,EAAE,4CAA4C;YAC3D,YAAY,EAAE,qBAAqB;YACnC,YAAY,EAAE,qBAAqB;YACnC,OAAO,EACH,wEAAwE;YAC5E,mCAAmC;YACnC,YAAY,EACR,4tBAA4tB;SACnuB,CAAA;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,kBAAkB,CAC1C;YACI;gBACI,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,OAAO;gBACrB,YAAY,EAAE,GAAG;gBACjB,eAAe,EAAE,kCAAkC;gBACnD,SAAS,EACL,sIAAsI;gBAC1I,MAAM,EAAE,gBAAgB;aAC3B;YACD;gBACI,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,QAAQ;gBACtB,YAAY,EAAE,GAAG;gBACjB,eAAe,EAAE,kCAAkC;gBACnD,SAAS,EACL,sIAAsI;gBAC1I,MAAM,EAAE,gBAAgB;aAC3B;SACJ,EACD,UAAU,CACb,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI;QACjB,mCAAmC;QACnC,4kJAA4kJ,CAC/kJ,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function patchSignature(signature: string): string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.patchSignature = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
|
|
6
|
+
function patchSignature(signature) {
|
|
7
|
+
const isGnosisSafe = signature === '0x';
|
|
8
|
+
if (isGnosisSafe) {
|
|
9
|
+
return signature;
|
|
10
|
+
}
|
|
11
|
+
// with 0x (64 len)
|
|
12
|
+
if (signature.length === 130) {
|
|
13
|
+
return signature;
|
|
14
|
+
}
|
|
15
|
+
if (signature.length > 132) {
|
|
16
|
+
return signature;
|
|
17
|
+
}
|
|
18
|
+
const sig = signature.substr(0, 130);
|
|
19
|
+
const lastByte = signature.substr(130, 2);
|
|
20
|
+
if (lastByte.toLowerCase() === '1b' || lastByte === '00') {
|
|
21
|
+
return sig;
|
|
22
|
+
}
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
const bnSig = new bn_js_1.default(sig.substring(2 + 64), 'hex').setn(255, true);
|
|
26
|
+
return sig.substring(0, 2 + 64) + bnSig.toString('hex');
|
|
27
|
+
}
|
|
28
|
+
exports.patchSignature = patchSignature;
|
|
29
|
+
//# sourceMappingURL=signature-patcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature-patcher.js","sourceRoot":"","sources":["../../src/settlement/signature-patcher.ts"],"names":[],"mappings":";;;;AAAA,0DAAsB;AAEtB,SAAgB,cAAc,CAAC,SAAiB;IAC5C,MAAM,YAAY,GAAG,SAAS,KAAK,IAAI,CAAA;IAEvC,IAAI,YAAY,EAAE;QACd,OAAO,SAAS,CAAA;KACnB;IAED,mBAAmB;IACnB,IAAI,SAAS,CAAC,MAAM,KAAK,GAAG,EAAE;QAC1B,OAAO,SAAS,CAAA;KACnB;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE;QACxB,OAAO,SAAS,CAAA;KACnB;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAEzC,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE;QACtD,OAAO,GAAG,CAAA;KACb;IAED,6DAA6D;IAC7D,aAAa;IACb,MAAM,KAAK,GAAG,IAAI,eAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAElE,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC3D,CAAC;AA5BD,wCA4BC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LimitOrderV3Struct } from '../limit-order';
|
|
2
|
+
export declare type SettlementConfig = {
|
|
3
|
+
resolverContract: string;
|
|
4
|
+
settlementContract: string;
|
|
5
|
+
};
|
|
6
|
+
export declare type FillOrderParams = {
|
|
7
|
+
order: LimitOrderV3Struct;
|
|
8
|
+
signature: string;
|
|
9
|
+
makingAmount: string;
|
|
10
|
+
takingAmount: string;
|
|
11
|
+
thresholdAmount: string;
|
|
12
|
+
target: string;
|
|
13
|
+
};
|
|
14
|
+
export declare type FillOrderParamsExtended = FillOrderParams & {
|
|
15
|
+
interaction: string;
|
|
16
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/settlement/types.ts"],"names":[],"mappings":""}
|