@1inch/fusion-sdk 0.1.1 → 0.1.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/README.md +6 -0
- package/auction-salt/auction-salt.js +2 -2
- package/auction-salt/auction-salt.js.map +1 -1
- package/auction-salt/auction.salt.spec.js +1 -1
- package/auction-salt/auction.salt.spec.js.map +1 -1
- package/auction-salt/rand.d.ts +1 -0
- package/auction-salt/rand.js +25 -0
- package/auction-salt/rand.js.map +1 -0
- package/auction-suffix/auction-suffix.spec.js +27 -0
- package/auction-suffix/auction-suffix.spec.js.map +1 -1
- package/constants.d.ts +2 -1
- package/constants.js +7 -3
- package/constants.js.map +1 -1
- package/fusion-order/fusion-order.spec.js +1 -1
- package/fusion-order/fusion-order.spec.js.map +1 -1
- package/package.json +3 -3
- package/utils.d.ts +1 -0
- package/utils.js +11 -1
- package/utils.js.map +1 -1
package/README.md
CHANGED
|
@@ -53,3 +53,9 @@ sdk.placeOrder({
|
|
|
53
53
|
## Resolvers
|
|
54
54
|
|
|
55
55
|
`settleOrders` function usage and Resolver contract examples you can find [here](https://github.com/1inch/fusion-resolver-example)
|
|
56
|
+
|
|
57
|
+
## Other language implementations
|
|
58
|
+
|
|
59
|
+
| Language | Link | Type |
|
|
60
|
+
| -------- | --------------------------------------------------------------------- | ---------------- |
|
|
61
|
+
| rust | [frolovdev/fusion-sdk-rs](https://github.com/frolovdev/fusion-sdk-rs) | Community driven |
|
|
@@ -4,14 +4,14 @@ exports.AuctionSalt = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
6
|
const utils_1 = require("../utils");
|
|
7
|
-
const crypto_1 = require("crypto");
|
|
8
7
|
const parser_1 = require("./parser");
|
|
8
|
+
const rand_1 = require("./rand");
|
|
9
9
|
class AuctionSalt {
|
|
10
10
|
constructor(auction) {
|
|
11
11
|
if (auction.salt && parser_1.SALT_MASK.lt((0, utils_1.toBN)(auction.salt))) {
|
|
12
12
|
throw new Error('salt should be less 18 bytes');
|
|
13
13
|
}
|
|
14
|
-
this.salt = auction.salt || (0,
|
|
14
|
+
this.salt = auction.salt || (0, rand_1.randomIntString)(5);
|
|
15
15
|
this.auctionStartTime = auction.auctionStartTime;
|
|
16
16
|
this.initialRateBump = auction.initialRateBump;
|
|
17
17
|
this.duration = auction.duration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auction-salt.js","sourceRoot":"","sources":["../../src/auction-salt/auction-salt.ts"],"names":[],"mappings":";;;;AAAA,4DAA2B;AAC3B,oCAA6B;AAE7B,
|
|
1
|
+
{"version":3,"file":"auction-salt.js","sourceRoot":"","sources":["../../src/auction-salt/auction-salt.ts"],"names":[],"mappings":";;;;AAAA,4DAA2B;AAC3B,oCAA6B;AAE7B,qCAOiB;AACjB,iCAAsC;AAEtC,MAAa,WAAW;IAWpB,YAAY,OAAwB;QAChC,IAAI,OAAO,CAAC,IAAI,IAAI,kBAAS,CAAC,EAAE,CAAC,IAAA,YAAI,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;SAClD;QAED,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAA,sBAAe,EAAC,CAAC,CAAC,CAAA;QAC9C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QAChD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAA;QAC9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAClC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAY;QACtB,OAAO,IAAI,WAAW,CAAC;YACnB,IAAI,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;YAC9B,gBAAgB,EAAE,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;YAC/C,QAAQ,EAAE,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;YACtC,OAAO,EAAE,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;YAChC,eAAe,EAAE,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;SACvD,CAAC,CAAA;IACN,CAAC;IAED,KAAK;QACD,MAAM,GAAG,GACL,IAAA,YAAI,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YAC5D,IAAA,YAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YACpD,IAAA,YAAI,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YAC3D,IAAA,YAAI,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YACnD,IAAA,YAAI,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAErD,IAAA,gBAAM,EAAC,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,wCAAwC,CAAC,CAAA;QAEnE,OAAO,IAAA,YAAI,EAAC,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;IACtC,CAAC;CACJ;AA7CD,kCA6CC"}
|
|
@@ -4,7 +4,7 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const auction_salt_1 = require("./auction-salt");
|
|
5
5
|
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
6
6
|
describe('Auction Salt', () => {
|
|
7
|
-
jest.spyOn(crypto_1.default, '
|
|
7
|
+
jest.spyOn(crypto_1.default.webcrypto, 'getRandomValues').mockImplementation(() => new Int8Array([9, 10, 10, 10]));
|
|
8
8
|
it('should create salt', () => {
|
|
9
9
|
const salt = new auction_salt_1.AuctionSalt({
|
|
10
10
|
duration: 180,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auction.salt.spec.js","sourceRoot":"","sources":["../../src/auction-salt/auction.salt.spec.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,4DAA2B;AAE3B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,KAAK,CAAC,gBAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"auction.salt.spec.js","sourceRoot":"","sources":["../../src/auction-salt/auction.salt.spec.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,4DAA2B;AAE3B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,KAAK,CAAC,gBAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,kBAAkB,CAC9D,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CACvC,CAAA;IAED,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,IAAI,GAAG,IAAI,0BAAW,CAAC;YACzB,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,UAAU;YAC5B,eAAe,EAAE,KAAK;YACtB,OAAO,EAAE,GAAG;SACf,CAAC,CAAA;QAEF,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CACrB,+EAA+E,CAClF,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,IAAI,GAAG,IAAI,0BAAW,CAAC;YACzB,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,UAAU;YAC5B,eAAe,EAAE,KAAK;YACtB,OAAO,EAAE,WAAW;SACvB,CAAC,CAAA;QAEF,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CACrB,+EAA+E,CAClF,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QAClE,MAAM,IAAI,GAAG,IAAI,0BAAW,CAAC;YACzB,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,UAAU,GAAG,IAAI;YACnC,eAAe,EAAE,KAAK;YACtB,OAAO,EAAE,WAAW;SACvB,CAAC,CAAA;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAC9B,wCAAwC,CAC3C,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QACxE,MAAM,IAAI,GAAG,IAAI,0BAAW,CAAC;YACzB,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,UAAU;YAC5B,eAAe,EAAE,QAAU,GAAG,CAAC;YAC/B,OAAO,EAAE,WAAW;SACvB,CAAC,CAAA;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAC9B,wCAAwC,CAC3C,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,IAAI,GAAG,IAAI,0BAAW,CAAC;YACzB,QAAQ,EAAE,QAAQ,GAAG,CAAC;YACtB,gBAAgB,EAAE,UAAU;YAC5B,eAAe,EAAE,KAAK;YACtB,OAAO,EAAE,WAAW;SACvB,CAAC,CAAA;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAC9B,wCAAwC,CAC3C,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,WAAW,GACb,+EAA+E,CAAA;QAEnF,MAAM,IAAI,GAAG,0BAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAE5C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function randomIntString(length: number): string;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.randomIntString = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
function randomIntString(length) {
|
|
6
|
+
const bytes = new Uint8Array(length);
|
|
7
|
+
const result = [];
|
|
8
|
+
const charset = '0123456789';
|
|
9
|
+
const cryptoObj = (0, utils_1.getCrypto)();
|
|
10
|
+
if (!cryptoObj) {
|
|
11
|
+
throw new Error("Can't find crypto object");
|
|
12
|
+
}
|
|
13
|
+
const random = cryptoObj.getRandomValues(bytes);
|
|
14
|
+
for (let a = 0; a < random.length; a++) {
|
|
15
|
+
if (a === 0) {
|
|
16
|
+
result.push(charset[(random[a] % (charset.length - 1)) + 1]);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
result.push(charset[random[a] % charset.length]);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return result.join('');
|
|
23
|
+
}
|
|
24
|
+
exports.randomIntString = randomIntString;
|
|
25
|
+
//# sourceMappingURL=rand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rand.js","sourceRoot":"","sources":["../../src/auction-salt/rand.ts"],"names":[],"mappings":";;;AAAA,oCAAkC;AAElC,SAAgB,eAAe,CAAC,MAAc;IAC1C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,OAAO,GAAG,YAAY,CAAA;IAE5B,MAAM,SAAS,GAAG,IAAA,iBAAS,GAAE,CAAA;IAE7B,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;KAC9C;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,IAAI,CAAC,KAAK,CAAC,EAAE;YACT,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;SAC/D;aAAM;YACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;SACnD;KACJ;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC1B,CAAC;AAtBD,0CAsBC"}
|
|
@@ -37,10 +37,37 @@ describe('Auction Suffix', () => {
|
|
|
37
37
|
});
|
|
38
38
|
expect(suffix.build()).toBe('000c004e200000000000000000219ab540356cbb839cbe05303d7705fa63c0566a09');
|
|
39
39
|
});
|
|
40
|
+
it('should create suffix with specified taker fee', () => {
|
|
41
|
+
const suffix = new auction_suffix_1.AuctionSuffix({
|
|
42
|
+
points: [
|
|
43
|
+
{
|
|
44
|
+
coefficient: 20000,
|
|
45
|
+
delay: 12
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
whitelist: [
|
|
49
|
+
{
|
|
50
|
+
address: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
51
|
+
allowance: 0
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
publicResolvingDeadline: 1673549418,
|
|
55
|
+
fee: {
|
|
56
|
+
takingFeeReceiver: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
57
|
+
takingFeeRatio: '100'
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
expect(suffix.build()).toBe('000c004e200000000000000000219ab540356cbb839cbe05303d7705fa63c0566a00000000000000000000006400000000219ab540356cbb839cbe05303d7705fa89');
|
|
61
|
+
});
|
|
40
62
|
it('should decode auction suffix', () => {
|
|
41
63
|
const encodedSuffix = '000c004e200000000000000000219ab540356cbb839cbe05303d7705fa63c0566a09';
|
|
42
64
|
const suffix = auction_suffix_1.AuctionSuffix.decode(encodedSuffix);
|
|
43
65
|
expect(suffix.build()).toBe(encodedSuffix);
|
|
44
66
|
});
|
|
67
|
+
it('should decode auction suffix with taker fee', () => {
|
|
68
|
+
const encodedSuffix = '000c004e200000000000000000219ab540356cbb839cbe05303d7705fa63c0566a00000000000000000000006400000000219ab540356cbb839cbe05303d7705fa89'.toLowerCase();
|
|
69
|
+
const suffix = auction_suffix_1.AuctionSuffix.decode(encodedSuffix);
|
|
70
|
+
expect(suffix.build()).toBe(encodedSuffix);
|
|
71
|
+
});
|
|
45
72
|
});
|
|
46
73
|
//# sourceMappingURL=auction-suffix.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auction-suffix.spec.js","sourceRoot":"","sources":["../../src/auction-suffix/auction-suffix.spec.ts"],"names":[],"mappings":";;AAAA,qDAA8C;AAE9C,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC;YAC7B,MAAM,EAAE;gBACJ;oBACI,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,EAAE;iBACZ;aACJ;YACD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,4CAA4C;oBACrD,SAAS,EAAE,CAAC;iBACf;aACJ;SACJ,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CACvB,sEAAsE,CACzE,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC;YAC7B,MAAM,EAAE;gBACJ;oBACI,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,EAAE;iBACZ;aACJ;YACD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,4CAA4C;oBACrD,SAAS,EAAE,CAAC;iBACf;aACJ;YACD,uBAAuB,EAAE,UAAU;SACtC,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CACvB,sEAAsE,CACzE,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,MAAM,aAAa,GACf,sEAAsE,CAAA;QAE1E,MAAM,MAAM,GAAG,8BAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAElD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"auction-suffix.spec.js","sourceRoot":"","sources":["../../src/auction-suffix/auction-suffix.spec.ts"],"names":[],"mappings":";;AAAA,qDAA8C;AAE9C,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC;YAC7B,MAAM,EAAE;gBACJ;oBACI,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,EAAE;iBACZ;aACJ;YACD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,4CAA4C;oBACrD,SAAS,EAAE,CAAC;iBACf;aACJ;SACJ,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CACvB,sEAAsE,CACzE,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC;YAC7B,MAAM,EAAE;gBACJ;oBACI,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,EAAE;iBACZ;aACJ;YACD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,4CAA4C;oBACrD,SAAS,EAAE,CAAC;iBACf;aACJ;YACD,uBAAuB,EAAE,UAAU;SACtC,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CACvB,sEAAsE,CACzE,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC;YAC7B,MAAM,EAAE;gBACJ;oBACI,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,EAAE;iBACZ;aACJ;YACD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,4CAA4C;oBACrD,SAAS,EAAE,CAAC;iBACf;aACJ;YACD,uBAAuB,EAAE,UAAU;YACnC,GAAG,EAAE;gBACD,iBAAiB,EAAE,4CAA4C;gBAC/D,cAAc,EAAE,KAAK;aACxB;SACJ,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CACvB,sIAAsI,CACzI,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,MAAM,aAAa,GACf,sEAAsE,CAAA;QAE1E,MAAM,MAAM,GAAG,8BAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAElD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,aAAa,GACf,sIAAsI,CAAC,WAAW,EAAE,CAAA;QAExJ,MAAM,MAAM,GAAG,8BAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAElD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
package/constants.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ export declare const ZX = "0x";
|
|
|
5
5
|
export declare enum NetworkEnum {
|
|
6
6
|
ETHEREUM = 1,
|
|
7
7
|
POLYGON = 137,
|
|
8
|
-
BINANCE = 56
|
|
8
|
+
BINANCE = 56,
|
|
9
|
+
ARBITRUM = 42161
|
|
9
10
|
}
|
|
10
11
|
export declare const WRAPPER_ADDRESS_MAP: Record<NetworkEnum, string>;
|
|
11
12
|
export declare const UNWRAPPER_CONTRACT_ADDRESS_MAP: Record<NetworkEnum, string>;
|
package/constants.js
CHANGED
|
@@ -10,21 +10,25 @@ var NetworkEnum;
|
|
|
10
10
|
NetworkEnum[NetworkEnum["ETHEREUM"] = 1] = "ETHEREUM";
|
|
11
11
|
NetworkEnum[NetworkEnum["POLYGON"] = 137] = "POLYGON";
|
|
12
12
|
NetworkEnum[NetworkEnum["BINANCE"] = 56] = "BINANCE";
|
|
13
|
+
NetworkEnum[NetworkEnum["ARBITRUM"] = 42161] = "ARBITRUM";
|
|
13
14
|
})(NetworkEnum = exports.NetworkEnum || (exports.NetworkEnum = {}));
|
|
14
15
|
exports.WRAPPER_ADDRESS_MAP = {
|
|
15
16
|
[NetworkEnum.ETHEREUM]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
16
17
|
[NetworkEnum.BINANCE]: '0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c',
|
|
17
|
-
[NetworkEnum.POLYGON]: '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270'
|
|
18
|
+
[NetworkEnum.POLYGON]: '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270',
|
|
19
|
+
[NetworkEnum.ARBITRUM]: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1'
|
|
18
20
|
};
|
|
19
21
|
exports.UNWRAPPER_CONTRACT_ADDRESS_MAP = {
|
|
20
22
|
[NetworkEnum.ETHEREUM]: '0x08b067ad41e45babe5bbb52fc2fe7f692f628b06',
|
|
21
23
|
[NetworkEnum.BINANCE]: '0x0eee00137d807a461702e9e0640c599de663e7e4',
|
|
22
|
-
[NetworkEnum.POLYGON]: '0x18d410f651289bb978fc32f90d2d7e608f4f4560'
|
|
24
|
+
[NetworkEnum.POLYGON]: '0x18d410f651289bb978fc32f90d2d7e608f4f4560',
|
|
25
|
+
[NetworkEnum.ARBITRUM]: '0x3e57c682c72f3bd255ebf439b74c784bc82029ee'
|
|
23
26
|
};
|
|
24
27
|
exports.SETTLEMENT_CONTRACT_ADDRESS_MAP = {
|
|
25
28
|
[NetworkEnum.ETHEREUM]: '0xa88800cd213da5ae406ce248380802bd53b47647',
|
|
26
29
|
[NetworkEnum.BINANCE]: '0x1d0ae300eec4093cee4367c00b228d10a5c7ac63',
|
|
27
|
-
[NetworkEnum.POLYGON]: '0x1e8ae092651e7b14e4d0f93611267c5be19b8b9f'
|
|
30
|
+
[NetworkEnum.POLYGON]: '0x1e8ae092651e7b14e4d0f93611267c5be19b8b9f',
|
|
31
|
+
[NetworkEnum.ARBITRUM]: '0x4bc3e539aaa5b18a82f6cd88dc9ab0e113c63377'
|
|
28
32
|
};
|
|
29
33
|
exports.ONE_INCH_ROUTER_V5 = '0x1111111254eeb25477b68fb85ed929f73a960582';
|
|
30
34
|
//# sourceMappingURL=constants.js.map
|
package/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,4CAA4C,CAAA;AAC9D,QAAA,YAAY,GAAG,4CAA4C,CAAA;AAC3D,QAAA,WAAW,GAAG,GAAG,CAAA;AACjB,QAAA,EAAE,GAAG,IAAI,CAAA;AAEtB,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,4CAA4C,CAAA;AAC9D,QAAA,YAAY,GAAG,4CAA4C,CAAA;AAC3D,QAAA,WAAW,GAAG,GAAG,CAAA;AACjB,QAAA,EAAE,GAAG,IAAI,CAAA;AAEtB,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,qDAAY,CAAA;IACZ,qDAAa,CAAA;IACb,oDAAY,CAAA;IACZ,yDAAgB,CAAA;AACpB,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAEY,QAAA,mBAAmB,GAAgC;IAC5D,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,4CAA4C;IACpE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,4CAA4C;IACnE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,4CAA4C;IACnE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,4CAA4C;CACvE,CAAA;AAEY,QAAA,8BAA8B,GAAgC;IACvE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,4CAA4C;IACpE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,4CAA4C;IACnE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,4CAA4C;IACnE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,4CAA4C;CACvE,CAAA;AAEY,QAAA,+BAA+B,GAAgC;IACxE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,4CAA4C;IACpE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,4CAA4C;IACnE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,4CAA4C;IACnE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,4CAA4C;CACvE,CAAA;AAEY,QAAA,kBAAkB,GAAG,4CAA4C,CAAA"}
|
|
@@ -6,7 +6,7 @@ const auction_salt_1 = require("../auction-salt");
|
|
|
6
6
|
const auction_suffix_1 = require("../auction-suffix");
|
|
7
7
|
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
8
8
|
describe('Fusion Order', () => {
|
|
9
|
-
jest.spyOn(crypto_1.default, '
|
|
9
|
+
jest.spyOn(crypto_1.default.webcrypto, 'getRandomValues').mockImplementation(() => new Int8Array([9, 10, 10, 10, 10]));
|
|
10
10
|
it('should create fusion order', () => {
|
|
11
11
|
const salt = new auction_salt_1.AuctionSalt({
|
|
12
12
|
duration: 180,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusion-order.spec.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-order.spec.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,kDAA2C;AAC3C,sDAA+C;AAC/C,4DAA2B;AAE3B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,KAAK,CAAC,gBAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"fusion-order.spec.js","sourceRoot":"","sources":["../../src/fusion-order/fusion-order.spec.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,kDAA2C;AAC3C,sDAA+C;AAC/C,4DAA2B;AAE3B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,KAAK,CAAC,gBAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,kBAAkB,CAC9D,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAC3C,CAAA;IAED,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAClC,MAAM,IAAI,GAAG,IAAI,0BAAW,CAAC;YACzB,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,UAAU;YAC5B,eAAe,EAAE,KAAK;YACtB,OAAO,EAAE,GAAG;SACf,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC;YAC7B,MAAM,EAAE;gBACJ;oBACI,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,EAAE;iBACZ;aACJ;YACD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,4CAA4C;oBACrD,SAAS,EAAE,CAAC;iBACf;aACJ;SACJ,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,IAAI,0BAAW,CACzB;YACI,UAAU,EAAE,4CAA4C;YACxD,UAAU,EAAE,4CAA4C;YACxD,YAAY,EAAE,qBAAqB;YACnC,YAAY,EAAE,YAAY;YAC1B,KAAK,EAAE,4CAA4C;SACtD,EACD,IAAI,EACJ,MAAM,CACT,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC;YAChC,aAAa,EAAE,4CAA4C;YAC3D,YAAY,EACR,wEAAwE;YAC5E,KAAK,EAAE,4CAA4C;YACnD,UAAU,EAAE,4CAA4C;YACxD,YAAY,EAAE,qBAAqB;YACnC,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,4CAA4C;YACtD,IAAI,EAAE,+EAA+E;YACrF,UAAU,EAAE,4CAA4C;YACxD,YAAY,EAAE,YAAY;SAC7B,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1inch/fusion-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "1inch Fusion Mode SDK",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "index.js",
|
|
@@ -31,7 +31,8 @@
|
|
|
31
31
|
"@metamask/eth-sig-util": "^5.0.2",
|
|
32
32
|
"bn.js": "^5.2.1",
|
|
33
33
|
"web3": "^1.8.1",
|
|
34
|
-
"ws": "^8.12.1"
|
|
34
|
+
"ws": "^8.12.1",
|
|
35
|
+
"tslib": "^2.2.0"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
37
38
|
"@babel/core": "^7.13.16",
|
|
@@ -58,7 +59,6 @@
|
|
|
58
59
|
"ts-loader": "^9.0.2",
|
|
59
60
|
"ts-mockito": "^2.6.1",
|
|
60
61
|
"ts-node": "^10.4.0",
|
|
61
|
-
"tslib": "^2.2.0",
|
|
62
62
|
"typescript": "4.7.4"
|
|
63
63
|
},
|
|
64
64
|
"peerDependencies": {
|
package/utils.d.ts
CHANGED
|
@@ -4,3 +4,4 @@ export declare function toSec(time: number | string | Date): number;
|
|
|
4
4
|
export declare function toBN(val: number | string): BN;
|
|
5
5
|
export declare function trim0x(data: string): string;
|
|
6
6
|
export declare function add0x(data: string): string;
|
|
7
|
+
export declare function getCrypto(): Crypto;
|
package/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.add0x = exports.trim0x = exports.toBN = exports.toSec = exports.isNativeCurrency = void 0;
|
|
3
|
+
exports.getCrypto = exports.add0x = exports.trim0x = exports.toBN = exports.toSec = exports.isNativeCurrency = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
|
|
6
6
|
const constants_1 = require("./constants");
|
|
@@ -38,4 +38,14 @@ function add0x(data) {
|
|
|
38
38
|
return '0x' + data;
|
|
39
39
|
}
|
|
40
40
|
exports.add0x = add0x;
|
|
41
|
+
function getCrypto() {
|
|
42
|
+
if (typeof window !== 'undefined') {
|
|
43
|
+
return window.crypto;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
47
|
+
return require('crypto').webcrypto;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.getCrypto = getCrypto;
|
|
41
51
|
//# sourceMappingURL=utils.js.map
|
package/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;AAAA,0DAAsB;AACtB,2CAA2C;AAEpC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAW,EAAE,CACzD,OAAO,CAAC,WAAW,EAAE,KAAK,2BAAe,CAAA;AADhC,QAAA,gBAAgB,oBACgB;AAE7C,SAAgB,KAAK,CAAC,IAA4B;IAC9C,MAAM,CAAC,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAEtD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAChC,CAAC;AAJD,sBAIC;AAED,SAAgB,IAAI,CAAC,GAAoB;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACzC;QAED,OAAO,IAAI,eAAE,CAAC,GAAG,CAAC,CAAA;KACrB;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACtB,OAAO,IAAI,eAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;KACpC;IAED,OAAO,IAAI,eAAE,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAdD,oBAcC;AAED,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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;AAAA,0DAAsB;AACtB,2CAA2C;AAEpC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAW,EAAE,CACzD,OAAO,CAAC,WAAW,EAAE,KAAK,2BAAe,CAAA;AADhC,QAAA,gBAAgB,oBACgB;AAE7C,SAAgB,KAAK,CAAC,IAA4B;IAC9C,MAAM,CAAC,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAEtD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAChC,CAAC;AAJD,sBAIC;AAED,SAAgB,IAAI,CAAC,GAAoB;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACzC;QAED,OAAO,IAAI,eAAE,CAAC,GAAG,CAAC,CAAA;KACrB;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACtB,OAAO,IAAI,eAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;KACpC;IAED,OAAO,IAAI,eAAE,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAdD,oBAcC;AAED,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;AAED,SAAgB,SAAS;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QAC/B,OAAO,MAAM,CAAC,MAAM,CAAA;KACvB;SAAM;QACH,8DAA8D;QAC9D,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,SAA8B,CAAA;KAC1D;AACL,CAAC;AAPD,8BAOC"}
|