@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.
Files changed (68) hide show
  1. package/README.md +8 -1
  2. package/abi/AggregationRouterV5.abi.json +1641 -0
  3. package/api/fusion-api.d.ts +5 -0
  4. package/api/fusion-api.js +11 -0
  5. package/api/fusion-api.js.map +1 -1
  6. package/api/orders/index.d.ts +3 -0
  7. package/api/orders/index.js +7 -0
  8. package/api/orders/index.js.map +1 -0
  9. package/api/orders/order-api.spec.d.ts +1 -0
  10. package/api/orders/order-api.spec.js +413 -0
  11. package/api/orders/order-api.spec.js.map +1 -0
  12. package/api/orders/orders.api.d.ts +12 -0
  13. package/api/orders/orders.api.js +49 -0
  14. package/api/orders/orders.api.js.map +1 -0
  15. package/api/orders/orders.request.d.ts +24 -0
  16. package/api/orders/orders.request.js +79 -0
  17. package/api/orders/orders.request.js.map +1 -0
  18. package/api/orders/types.d.ts +66 -0
  19. package/api/orders/types.js +16 -0
  20. package/api/orders/types.js.map +1 -0
  21. package/api/pagination.d.ts +10 -0
  22. package/api/pagination.js +20 -0
  23. package/api/pagination.js.map +1 -0
  24. package/api/pagination.spec.d.ts +1 -0
  25. package/api/pagination.spec.js +28 -0
  26. package/api/pagination.spec.js.map +1 -0
  27. package/api/quoter/quote/quote.js +2 -7
  28. package/api/quoter/quote/quote.js.map +1 -1
  29. package/api/types.d.ts +10 -0
  30. package/auction-calculator/auction-calculator.spec.js +11 -0
  31. package/auction-calculator/auction-calculator.spec.js.map +1 -1
  32. package/constants.d.ts +1 -0
  33. package/constants.js +6 -1
  34. package/constants.js.map +1 -1
  35. package/index.d.ts +1 -0
  36. package/index.js +1 -0
  37. package/index.js.map +1 -1
  38. package/package.json +6 -1
  39. package/sdk/sdk.d.ts +4 -0
  40. package/sdk/sdk.js +19 -0
  41. package/sdk/sdk.js.map +1 -1
  42. package/settlement/encoders/constants.d.ts +1 -0
  43. package/settlement/encoders/constants.js +5 -0
  44. package/settlement/encoders/constants.js.map +1 -0
  45. package/settlement/encoders/fill-order.encoder.d.ts +2 -0
  46. package/settlement/encoders/fill-order.encoder.js +17 -0
  47. package/settlement/encoders/fill-order.encoder.js.map +1 -0
  48. package/settlement/encoders/index.d.ts +3 -0
  49. package/settlement/encoders/index.js +7 -0
  50. package/settlement/encoders/index.js.map +1 -0
  51. package/settlement/encoders/settlement.encoder.d.ts +4 -0
  52. package/settlement/encoders/settlement.encoder.js +26 -0
  53. package/settlement/encoders/settlement.encoder.js.map +1 -0
  54. package/settlement/index.d.ts +4 -0
  55. package/settlement/index.js +8 -0
  56. package/settlement/index.js.map +1 -0
  57. package/settlement/settlement.d.ts +7 -0
  58. package/settlement/settlement.js +26 -0
  59. package/settlement/settlement.js.map +1 -0
  60. package/settlement/settlement.spec.d.ts +1 -0
  61. package/settlement/settlement.spec.js +61 -0
  62. package/settlement/settlement.spec.js.map +1 -0
  63. package/settlement/signature-patcher.d.ts +1 -0
  64. package/settlement/signature-patcher.js +29 -0
  65. package/settlement/signature-patcher.js.map +1 -0
  66. package/settlement/types.d.ts +16 -0
  67. package/settlement/types.js +3 -0
  68. 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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/settlement/types.ts"],"names":[],"mappings":""}