@1inch/fusion-sdk 0.0.5 → 0.0.6
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/api/fusion-api.d.ts +25 -16
- package/api/fusion-api.js +36 -26
- package/api/index.d.ts +4 -4
- package/api/index.js +8 -8
- package/api/orders/index.d.ts +3 -3
- package/api/orders/index.js +7 -7
- package/api/orders/order-api.spec.d.ts +1 -1
- package/api/orders/order-api.spec.js +479 -395
- package/api/orders/order-api.spec.js.map +1 -1
- package/api/orders/orders.api.d.ts +24 -10
- package/api/orders/orders.api.js +30 -28
- package/api/orders/orders.request.d.ts +22 -18
- package/api/orders/orders.request.js +40 -31
- package/api/orders/types.d.ts +59 -57
- package/api/orders/types.js +17 -16
- package/api/orders/types.js.map +1 -1
- package/api/pagination.d.ts +7 -7
- package/api/pagination.js +10 -10
- package/api/pagination.spec.d.ts +1 -1
- package/api/pagination.spec.js +28 -21
- package/api/params.d.ts +3 -1
- package/api/params.js +25 -19
- package/api/quoter/index.d.ts +5 -5
- package/api/quoter/index.js +9 -9
- package/api/quoter/preset.d.ts +13 -13
- package/api/quoter/preset.js +19 -17
- package/api/quoter/quote/index.d.ts +3 -3
- package/api/quoter/quote/index.js +7 -7
- package/api/quoter/quote/order-params.d.ts +6 -6
- package/api/quoter/quote/order-params.js +12 -12
- package/api/quoter/quote/quote.d.ts +26 -21
- package/api/quoter/quote/quote.js +85 -52
- package/api/quoter/quote/quote.js.map +1 -1
- package/api/quoter/quote/types.d.ts +4 -4
- package/api/quoter/quote/types.js +3 -3
- package/api/quoter/quoter.api.d.ts +12 -9
- package/api/quoter/quoter.api.js +19 -19
- package/api/quoter/quoter.api.spec.d.ts +1 -1
- package/api/quoter/quoter.api.spec.js +32 -23
- package/api/quoter/quoter.api.spec.js.map +1 -1
- package/api/quoter/quoter.request.d.ts +11 -11
- package/api/quoter/quoter.request.js +28 -26
- package/api/quoter/types.d.ts +45 -44
- package/api/quoter/types.js +10 -10
- package/api/quoter/types.js.map +1 -1
- package/api/relayer/index.d.ts +3 -3
- package/api/relayer/index.js +7 -7
- package/api/relayer/relayer.api.d.ts +12 -9
- package/api/relayer/relayer.api.js +13 -13
- package/api/relayer/relayer.api.spec.d.ts +1 -1
- package/api/relayer/relayer.api.spec.js +96 -79
- package/api/relayer/relayer.request.d.ts +8 -8
- package/api/relayer/relayer.request.js +10 -10
- package/api/relayer/types.d.ts +9 -9
- package/api/relayer/types.js +3 -3
- package/api/types.d.ts +17 -15
- package/api/types.js +3 -3
- package/auction-calculator/auction-calculator.d.ts +22 -13
- package/auction-calculator/auction-calculator.js +70 -45
- package/auction-calculator/auction-calculator.spec.d.ts +1 -1
- package/auction-calculator/auction-calculator.spec.js +45 -32
- package/auction-calculator/calc.d.ts +8 -2
- package/auction-calculator/calc.js +12 -12
- package/auction-calculator/constants.d.ts +1 -1
- package/auction-calculator/constants.js +5 -5
- package/auction-calculator/index.d.ts +3 -3
- package/auction-calculator/index.js +7 -7
- package/auction-salt/auction-salt.d.ts +9 -9
- package/auction-salt/auction-salt.js +34 -23
- package/auction-salt/auction.salt.spec.d.ts +1 -1
- package/auction-salt/auction.salt.spec.js +38 -27
- package/auction-salt/index.d.ts +3 -3
- package/auction-salt/index.js +7 -7
- package/auction-salt/parser/constants.d.ts +9 -9
- package/auction-salt/parser/constants.js +33 -14
- package/auction-salt/parser/index.d.ts +2 -2
- package/auction-salt/parser/index.js +6 -6
- package/auction-salt/parser/parser.d.ts +6 -6
- package/auction-salt/parser/parser.js +33 -22
- package/auction-salt/types.d.ts +6 -6
- package/auction-salt/types.js +3 -3
- package/auction-suffix/auction-suffix.d.ts +9 -9
- package/auction-suffix/auction-suffix.js +36 -23
- package/auction-suffix/auction-suffix.spec.d.ts +1 -1
- package/auction-suffix/auction-suffix.spec.js +20 -15
- package/auction-suffix/constants.d.ts +1 -1
- package/auction-suffix/constants.js +5 -5
- package/auction-suffix/encoder.d.ts +15 -6
- package/auction-suffix/encoder.js +45 -28
- package/auction-suffix/index.d.ts +5 -5
- package/auction-suffix/index.js +9 -9
- package/auction-suffix/parser/constants.d.ts +13 -13
- package/auction-suffix/parser/constants.js +30 -17
- package/auction-suffix/parser/errors.d.ts +1 -2
- package/auction-suffix/parser/errors.js +6 -7
- package/auction-suffix/parser/index.d.ts +4 -4
- package/auction-suffix/parser/index.js +8 -8
- package/auction-suffix/parser/parser.d.ts +28 -8
- package/auction-suffix/parser/parser.js +162 -81
- package/auction-suffix/parser/types.d.ts +22 -22
- package/auction-suffix/parser/types.js +3 -3
- package/auction-suffix/types.d.ts +12 -12
- package/auction-suffix/types.js +3 -3
- package/connector/blockchain/blockchain-provider.connector.d.ts +6 -3
- package/connector/blockchain/blockchain-provider.connector.js +3 -3
- package/connector/blockchain/index.d.ts +3 -3
- package/connector/blockchain/index.js +7 -7
- package/connector/blockchain/private-key-provider.connector.d.ts +15 -10
- package/connector/blockchain/private-key-provider.connector.js +12 -12
- package/connector/blockchain/private-key-provider.connector.spec.d.ts +1 -1
- package/connector/blockchain/private-key-provider.connector.spec.js +36 -23
- package/connector/blockchain/web3-provider-connector.d.ts +13 -8
- package/connector/blockchain/web3-provider-connector.js +12 -9
- package/connector/blockchain/web3-provider.connector.spec.d.ts +1 -1
- package/connector/blockchain/web3-provider.connector.spec.js +37 -26
- package/connector/http/axios-provider.connector.d.ts +3 -3
- package/connector/http/axios-provider.connector.js +13 -13
- package/connector/http/axios-provider.connector.spec.d.ts +1 -1
- package/connector/http/axios-provider.connector.spec.js +37 -31
- package/connector/http/http-provider.connector.d.ts +2 -2
- package/connector/http/http-provider.connector.js +3 -3
- package/connector/http/index.d.ts +2 -2
- package/connector/http/index.js +6 -6
- package/connector/index.d.ts +2 -2
- package/connector/index.js +6 -6
- package/constants.d.ts +10 -6
- package/constants.js +23 -16
- package/fusion-order/fusion-order.d.ts +17 -7
- package/fusion-order/fusion-order.js +14 -12
- package/fusion-order/fusion-order.spec.d.ts +1 -1
- package/fusion-order/fusion-order.spec.js +27 -22
- package/fusion-order/index.d.ts +1 -1
- package/fusion-order/index.js +5 -5
- package/index.d.ts +11 -11
- package/index.js +15 -15
- package/limit-order/eip712/domain.d.ts +10 -9
- package/limit-order/eip712/domain.js +28 -23
- package/limit-order/eip712/eip712.types.d.ts +19 -15
- package/limit-order/eip712/eip712.types.js +3 -3
- package/limit-order/eip712/index.d.ts +3 -3
- package/limit-order/eip712/index.js +7 -7
- package/limit-order/eip712/order-typed-data-builder.d.ts +17 -6
- package/limit-order/eip712/order-typed-data-builder.js +34 -19
- package/limit-order/index.d.ts +4 -4
- package/limit-order/index.js +8 -8
- package/limit-order/interactions-factory.d.ts +1 -1
- package/limit-order/interactions-factory.js +6 -6
- package/limit-order/limit-order.d.ts +31 -25
- package/limit-order/limit-order.js +103 -50
- package/limit-order/limit-order.spec.d.ts +1 -1
- package/limit-order/limit-order.spec.js +75 -51
- package/limit-order/parser/constants.d.ts +9 -9
- package/limit-order/parser/constants.js +5 -5
- package/limit-order/parser/index.d.ts +3 -3
- package/limit-order/parser/index.js +7 -7
- package/limit-order/parser/parser.d.ts +5 -2
- package/limit-order/parser/parser.js +23 -18
- package/limit-order/parser/types.d.ts +3 -3
- package/limit-order/parser/types.js +3 -3
- package/limit-order/predicate-factory.d.ts +9 -5
- package/limit-order/predicate-factory.js +40 -24
- package/limit-order/predicate-factory.spec.d.ts +1 -1
- package/limit-order/predicate-factory.spec.js +44 -29
- package/limit-order/types.d.ts +29 -29
- package/limit-order/types.js +3 -3
- package/limit-order/utils.d.ts +1 -1
- package/limit-order/utils.js +6 -6
- package/package.json +1 -1
- package/sdk/index.d.ts +2 -2
- package/sdk/index.js +6 -6
- package/sdk/sdk.d.ts +29 -11
- package/sdk/sdk.js +48 -38
- package/sdk/types.d.ts +27 -27
- package/sdk/types.js +3 -3
- package/settlement/encoders/constants.d.ts +1 -1
- package/settlement/encoders/constants.js +5 -5
- package/settlement/encoders/fill-order.encoder.d.ts +2 -2
- package/settlement/encoders/fill-order.encoder.js +26 -12
- package/settlement/encoders/index.d.ts +3 -3
- package/settlement/encoders/index.js +7 -7
- package/settlement/encoders/settlement.encoder.d.ts +13 -4
- package/settlement/encoders/settlement.encoder.js +41 -19
- package/settlement/index.d.ts +4 -4
- package/settlement/index.js +8 -8
- package/settlement/settlement.d.ts +8 -5
- package/settlement/settlement.js +28 -14
- package/settlement/settlement.spec.d.ts +1 -1
- package/settlement/settlement.spec.js +45 -35
- package/settlement/signature-patcher.d.ts +1 -1
- package/settlement/signature-patcher.js +19 -16
- package/settlement/types.d.ts +13 -13
- package/settlement/types.js +3 -3
- package/utils.d.ts +6 -6
- package/utils.js +29 -23
- package/validations.d.ts +2 -2
- package/validations.js +14 -15
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
exports.PredicateFactory = void 0
|
|
4
|
-
const bignumber_1 = require(
|
|
5
|
-
const utils_1 = require(
|
|
1
|
+
'use strict'
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {value: true})
|
|
3
|
+
exports.PredicateFactory = void 0
|
|
4
|
+
const bignumber_1 = require('@ethersproject/bignumber')
|
|
5
|
+
const utils_1 = require('../utils')
|
|
6
6
|
class PredicateFactory {
|
|
7
7
|
/**
|
|
8
8
|
* @param deadline timestamp in seconds (order expiration time)
|
|
@@ -11,8 +11,11 @@ class PredicateFactory {
|
|
|
11
11
|
const timeHex = bignumber_1.BigNumber.from(deadline)
|
|
12
12
|
.toHexString()
|
|
13
13
|
.substring(2)
|
|
14
|
-
.padStart(64, '0')
|
|
15
|
-
return (
|
|
14
|
+
.padStart(64, '0')
|
|
15
|
+
return (
|
|
16
|
+
(0, utils_1.add0x)(PredicateFactory.TIMESTAMP_BELOW_SELECTOR) +
|
|
17
|
+
timeHex
|
|
18
|
+
)
|
|
16
19
|
}
|
|
17
20
|
/**
|
|
18
21
|
* @param address limit order creator address
|
|
@@ -24,9 +27,12 @@ class PredicateFactory {
|
|
|
24
27
|
.or((0, utils_1.toBN)(nonce).shln(160))
|
|
25
28
|
.or((0, utils_1.toBN)(deadline).shln(208))
|
|
26
29
|
.toString('hex')
|
|
27
|
-
.padStart(64, '0')
|
|
28
|
-
return (
|
|
29
|
-
|
|
30
|
+
.padStart(64, '0')
|
|
31
|
+
return (
|
|
32
|
+
(0, utils_1.add0x)(
|
|
33
|
+
PredicateFactory.TIMESTAMP_BELOW_AND_NONCE_EQUALS_SELECTOR
|
|
34
|
+
) + timeNonceAccountHex
|
|
35
|
+
)
|
|
30
36
|
}
|
|
31
37
|
/**
|
|
32
38
|
* @param predicate predicate field from parsed order's interactions
|
|
@@ -34,27 +40,37 @@ class PredicateFactory {
|
|
|
34
40
|
*/
|
|
35
41
|
static parseExpirationTime(predicate) {
|
|
36
42
|
if (predicate.includes(PredicateFactory.TIMESTAMP_BELOW_SELECTOR)) {
|
|
37
|
-
const dataAfterSelector = predicate.split(
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
const dataAfterSelector = predicate.split(
|
|
44
|
+
PredicateFactory.TIMESTAMP_BELOW_SELECTOR
|
|
45
|
+
)[1]
|
|
46
|
+
const deadlineSec = bignumber_1.BigNumber.from(
|
|
47
|
+
'0x' + dataAfterSelector.substring(0, 64)
|
|
48
|
+
).toString()
|
|
49
|
+
return +deadlineSec
|
|
40
50
|
}
|
|
41
|
-
if (
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
if (
|
|
52
|
+
predicate.includes(
|
|
53
|
+
PredicateFactory.TIMESTAMP_BELOW_AND_NONCE_EQUALS_SELECTOR
|
|
54
|
+
)
|
|
55
|
+
) {
|
|
56
|
+
const dataAfterSelector = predicate.split(
|
|
57
|
+
PredicateFactory.TIMESTAMP_BELOW_AND_NONCE_EQUALS_SELECTOR
|
|
58
|
+
)[1]
|
|
59
|
+
const funcData = '0x' + dataAfterSelector.substring(0, 64)
|
|
60
|
+
const info = (0, utils_1.toBN)(funcData)
|
|
61
|
+
const dateSec = info.shrn(160 + (208 - 160)).toString()
|
|
62
|
+
return +dateSec
|
|
47
63
|
}
|
|
48
|
-
return null
|
|
64
|
+
return null
|
|
49
65
|
}
|
|
50
66
|
}
|
|
51
|
-
exports.PredicateFactory = PredicateFactory
|
|
67
|
+
exports.PredicateFactory = PredicateFactory
|
|
52
68
|
/**
|
|
53
69
|
* timestampBelow(uint256)
|
|
54
70
|
*/
|
|
55
|
-
PredicateFactory.TIMESTAMP_BELOW_SELECTOR = '63592c2b'
|
|
71
|
+
PredicateFactory.TIMESTAMP_BELOW_SELECTOR = '63592c2b'
|
|
56
72
|
/**
|
|
57
73
|
* timestampBelowAndNonceEquals(uint256 timeNonceAccount)
|
|
58
74
|
*/
|
|
59
|
-
PredicateFactory.TIMESTAMP_BELOW_AND_NONCE_EQUALS_SELECTOR = '2cc2878d'
|
|
60
|
-
//# sourceMappingURL=predicate-factory.js.map
|
|
75
|
+
PredicateFactory.TIMESTAMP_BELOW_AND_NONCE_EQUALS_SELECTOR = '2cc2878d'
|
|
76
|
+
//# sourceMappingURL=predicate-factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {}
|
|
1
|
+
export {}
|
|
@@ -1,35 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
const predicate_factory_1 = require(
|
|
4
|
-
const utils_1 = require(
|
|
1
|
+
'use strict'
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {value: true})
|
|
3
|
+
const predicate_factory_1 = require('./predicate-factory')
|
|
4
|
+
const utils_1 = require('../utils')
|
|
5
5
|
describe('Predicate Factory', () => {
|
|
6
|
-
jest.spyOn(Date, 'now').mockReturnValue(1673549418040)
|
|
6
|
+
jest.spyOn(Date, 'now').mockReturnValue(1673549418040)
|
|
7
7
|
it('should create timestampBelow predicate', () => {
|
|
8
|
-
const expirationTime = (0, utils_1.toSec)(Date.now()) + 60
|
|
9
|
-
const predicate =
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const expirationTime = (0, utils_1.toSec)(Date.now()) + 60
|
|
9
|
+
const predicate =
|
|
10
|
+
predicate_factory_1.PredicateFactory.timestampBelow(expirationTime)
|
|
11
|
+
expect(predicate).toBe(
|
|
12
|
+
'0x63592c2b0000000000000000000000000000000000000000000000000000000063c056a6'
|
|
13
|
+
)
|
|
14
|
+
})
|
|
12
15
|
it('should create timestampBelowAndNonceEquals predicate', () => {
|
|
13
|
-
const account = '0x00000000219ab540356cbb839cbe05303d7705fa'
|
|
14
|
-
const nonce = '1'
|
|
15
|
-
const expirationTime = (0, utils_1.toSec)(Date.now()) + 60
|
|
16
|
-
const predicate =
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
const account = '0x00000000219ab540356cbb839cbe05303d7705fa'
|
|
17
|
+
const nonce = '1'
|
|
18
|
+
const expirationTime = (0, utils_1.toSec)(Date.now()) + 60
|
|
19
|
+
const predicate =
|
|
20
|
+
predicate_factory_1.PredicateFactory.timestampBelowAndNonceEquals(
|
|
21
|
+
account,
|
|
22
|
+
nonce,
|
|
23
|
+
expirationTime
|
|
24
|
+
)
|
|
25
|
+
expect(predicate).toBe(
|
|
26
|
+
'0x2cc2878d000063c056a600000000000100000000219ab540356cbb839cbe05303d7705fa'
|
|
27
|
+
)
|
|
28
|
+
})
|
|
19
29
|
it('should parse timestampBelow predicate expiration time', () => {
|
|
20
|
-
const predicate =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
30
|
+
const predicate =
|
|
31
|
+
'0x63592c2b0000000000000000000000000000000000000000000000000000000063c056a6'
|
|
32
|
+
const expirationTime =
|
|
33
|
+
predicate_factory_1.PredicateFactory.parseExpirationTime(predicate)
|
|
34
|
+
expect(expirationTime).toBe(1673549478)
|
|
35
|
+
})
|
|
24
36
|
it('should parse timestampBelowAndNonceEquals predicate expiration time', () => {
|
|
25
|
-
const predicate =
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
37
|
+
const predicate =
|
|
38
|
+
'0x2cc2878d000063c056a600000000000100000000219ab540356cbb839cbe05303d7705fa'
|
|
39
|
+
const expirationTime =
|
|
40
|
+
predicate_factory_1.PredicateFactory.parseExpirationTime(predicate)
|
|
41
|
+
expect(expirationTime).toBe(1673549478)
|
|
42
|
+
})
|
|
29
43
|
it('should return null on non exising expiration time', () => {
|
|
30
|
-
const predicate = '0x12345678'
|
|
31
|
-
const expirationTime =
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
})
|
|
35
|
-
|
|
44
|
+
const predicate = '0x12345678'
|
|
45
|
+
const expirationTime =
|
|
46
|
+
predicate_factory_1.PredicateFactory.parseExpirationTime(predicate)
|
|
47
|
+
expect(expirationTime).toBe(null)
|
|
48
|
+
})
|
|
49
|
+
})
|
|
50
|
+
//# sourceMappingURL=predicate-factory.spec.js.map
|
package/limit-order/types.d.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
export declare type OrderInfoData = {
|
|
2
|
-
makerAsset: string
|
|
3
|
-
takerAsset: string
|
|
4
|
-
makingAmount: string
|
|
5
|
-
takingAmount: string
|
|
6
|
-
maker: string
|
|
7
|
-
salt?: string
|
|
8
|
-
allowedSender?: string
|
|
9
|
-
receiver?: string
|
|
10
|
-
}
|
|
2
|
+
makerAsset: string
|
|
3
|
+
takerAsset: string
|
|
4
|
+
makingAmount: string
|
|
5
|
+
takingAmount: string
|
|
6
|
+
maker: string
|
|
7
|
+
salt?: string
|
|
8
|
+
allowedSender?: string
|
|
9
|
+
receiver?: string
|
|
10
|
+
}
|
|
11
11
|
export declare type InteractionsData = {
|
|
12
|
-
makerAssetData?: string
|
|
13
|
-
takerAssetData?: string
|
|
14
|
-
getMakingAmount?: string
|
|
15
|
-
getTakingAmount?: string
|
|
16
|
-
predicate?: string
|
|
17
|
-
permit?: string
|
|
18
|
-
preInteraction?: string
|
|
19
|
-
postInteraction?: string
|
|
20
|
-
}
|
|
12
|
+
makerAssetData?: string
|
|
13
|
+
takerAssetData?: string
|
|
14
|
+
getMakingAmount?: string
|
|
15
|
+
getTakingAmount?: string
|
|
16
|
+
predicate?: string
|
|
17
|
+
permit?: string
|
|
18
|
+
preInteraction?: string
|
|
19
|
+
postInteraction?: string
|
|
20
|
+
}
|
|
21
21
|
export declare type LimitOrderV3Struct = {
|
|
22
|
-
salt: string
|
|
23
|
-
makerAsset: string
|
|
24
|
-
takerAsset: string
|
|
25
|
-
maker: string
|
|
26
|
-
receiver: string
|
|
27
|
-
allowedSender: string
|
|
28
|
-
makingAmount: string
|
|
29
|
-
takingAmount: string
|
|
30
|
-
offsets: string
|
|
31
|
-
interactions: string
|
|
32
|
-
}
|
|
22
|
+
salt: string
|
|
23
|
+
makerAsset: string
|
|
24
|
+
takerAsset: string
|
|
25
|
+
maker: string
|
|
26
|
+
receiver: string
|
|
27
|
+
allowedSender: string
|
|
28
|
+
makingAmount: string
|
|
29
|
+
takingAmount: string
|
|
30
|
+
offsets: string
|
|
31
|
+
interactions: string
|
|
32
|
+
}
|
package/limit-order/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
//# sourceMappingURL=types.js.map
|
|
1
|
+
'use strict'
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {value: true})
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
package/limit-order/utils.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function buildSalt(): string
|
|
1
|
+
export declare function buildSalt(): string
|
package/limit-order/utils.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
exports.buildSalt = void 0
|
|
1
|
+
'use strict'
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {value: true})
|
|
3
|
+
exports.buildSalt = void 0
|
|
4
4
|
function buildSalt() {
|
|
5
|
-
return Math.round(Math.random() * Date.now()) + ''
|
|
5
|
+
return Math.round(Math.random() * Date.now()) + ''
|
|
6
6
|
}
|
|
7
|
-
exports.buildSalt = buildSalt
|
|
8
|
-
//# sourceMappingURL=utils.js.map
|
|
7
|
+
exports.buildSalt = buildSalt
|
|
8
|
+
//# sourceMappingURL=utils.js.map
|
package/package.json
CHANGED
package/sdk/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './sdk'
|
|
2
|
-
export * from './types'
|
|
1
|
+
export * from './sdk'
|
|
2
|
+
export * from './types'
|
package/sdk/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
const tslib_1 = require(
|
|
4
|
-
tslib_1.__exportStar(require(
|
|
5
|
-
tslib_1.__exportStar(require(
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
'use strict'
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {value: true})
|
|
3
|
+
const tslib_1 = require('tslib')
|
|
4
|
+
tslib_1.__exportStar(require('./sdk'), exports)
|
|
5
|
+
tslib_1.__exportStar(require('./types'), exports)
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
package/sdk/sdk.d.ts
CHANGED
|
@@ -1,13 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import {FusionApi, Quote} from '../api'
|
|
2
|
+
import {
|
|
3
|
+
FusionSDKConfigParams,
|
|
4
|
+
OrderInfo,
|
|
5
|
+
OrderParams,
|
|
6
|
+
QuoteParams
|
|
7
|
+
} from './types'
|
|
8
|
+
import {
|
|
9
|
+
ActiveOrdersRequestParams,
|
|
10
|
+
ActiveOrdersResponse,
|
|
11
|
+
OrdersByMakerParams,
|
|
12
|
+
OrdersByMakerResponse,
|
|
13
|
+
OrderStatusResponse
|
|
14
|
+
} from '../api/orders'
|
|
4
15
|
export declare class FusionSDK {
|
|
5
|
-
private readonly config
|
|
6
|
-
readonly api: FusionApi
|
|
7
|
-
constructor(config: FusionSDKConfigParams)
|
|
8
|
-
getActiveOrders({
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
private readonly config
|
|
17
|
+
readonly api: FusionApi
|
|
18
|
+
constructor(config: FusionSDKConfigParams)
|
|
19
|
+
getActiveOrders({
|
|
20
|
+
page,
|
|
21
|
+
limit
|
|
22
|
+
}?: ActiveOrdersRequestParams): Promise<ActiveOrdersResponse>
|
|
23
|
+
getOrderStatus(orderHash: string): Promise<OrderStatusResponse>
|
|
24
|
+
getOrdersByMaker({
|
|
25
|
+
limit,
|
|
26
|
+
page,
|
|
27
|
+
address
|
|
28
|
+
}: OrdersByMakerParams): Promise<OrdersByMakerResponse>
|
|
29
|
+
getQuote(params: QuoteParams): Promise<Quote>
|
|
30
|
+
placeOrder(params: OrderParams): Promise<OrderInfo>
|
|
13
31
|
}
|
package/sdk/sdk.js
CHANGED
|
@@ -1,37 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
exports.FusionSDK = void 0
|
|
4
|
-
const tslib_1 = require(
|
|
5
|
-
const api_1 = require(
|
|
6
|
-
const constants_1 = require(
|
|
7
|
-
const limit_order_1 = require(
|
|
8
|
-
const orders_1 = require(
|
|
1
|
+
'use strict'
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {value: true})
|
|
3
|
+
exports.FusionSDK = void 0
|
|
4
|
+
const tslib_1 = require('tslib')
|
|
5
|
+
const api_1 = require('../api')
|
|
6
|
+
const constants_1 = require('../constants')
|
|
7
|
+
const limit_order_1 = require('../limit-order')
|
|
8
|
+
const orders_1 = require('../api/orders')
|
|
9
9
|
class FusionSDK {
|
|
10
10
|
constructor(config) {
|
|
11
|
-
this.config = config
|
|
11
|
+
this.config = config
|
|
12
12
|
this.api = api_1.FusionApi.new({
|
|
13
13
|
url: config.url,
|
|
14
14
|
network: config.network,
|
|
15
15
|
httpProvider: config.httpProvider
|
|
16
|
-
})
|
|
16
|
+
})
|
|
17
17
|
}
|
|
18
|
-
getActiveOrders({
|
|
18
|
+
getActiveOrders({page, limit} = {}) {
|
|
19
19
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
const request = orders_1.ActiveOrdersRequest.new({
|
|
21
|
-
return this.api.getActiveOrders(request)
|
|
22
|
-
})
|
|
20
|
+
const request = orders_1.ActiveOrdersRequest.new({page, limit})
|
|
21
|
+
return this.api.getActiveOrders(request)
|
|
22
|
+
})
|
|
23
23
|
}
|
|
24
24
|
getOrderStatus(orderHash) {
|
|
25
25
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
const request = orders_1.OrderStatusRequest.new({
|
|
27
|
-
return this.api.getOrderStatus(request)
|
|
28
|
-
})
|
|
26
|
+
const request = orders_1.OrderStatusRequest.new({orderHash})
|
|
27
|
+
return this.api.getOrderStatus(request)
|
|
28
|
+
})
|
|
29
29
|
}
|
|
30
|
-
getOrdersByMaker({
|
|
30
|
+
getOrdersByMaker({limit, page, address}) {
|
|
31
31
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
const request = orders_1.OrdersByMakerRequest.new({
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
const request = orders_1.OrdersByMakerRequest.new({
|
|
33
|
+
limit,
|
|
34
|
+
page,
|
|
35
|
+
address
|
|
36
|
+
})
|
|
37
|
+
return this.api.getOrdersByMaker(request)
|
|
38
|
+
})
|
|
35
39
|
}
|
|
36
40
|
getQuote(params) {
|
|
37
41
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -42,14 +46,14 @@ class FusionSDK {
|
|
|
42
46
|
walletAddress: constants_1.ZERO_ADDRESS,
|
|
43
47
|
permit: params.permit,
|
|
44
48
|
enableEstimate: false
|
|
45
|
-
})
|
|
46
|
-
return this.api.getQuote(request)
|
|
47
|
-
})
|
|
49
|
+
})
|
|
50
|
+
return this.api.getQuote(request)
|
|
51
|
+
})
|
|
48
52
|
}
|
|
49
53
|
placeOrder(params) {
|
|
50
54
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
51
55
|
if (!this.config.blockchainProvider) {
|
|
52
|
-
throw new Error('blockchainProvider has not set to config')
|
|
56
|
+
throw new Error('blockchainProvider has not set to config')
|
|
53
57
|
}
|
|
54
58
|
const quoterRequest = api_1.QuoterRequest.new({
|
|
55
59
|
fromTokenAddress: params.fromTokenAddress,
|
|
@@ -58,32 +62,38 @@ class FusionSDK {
|
|
|
58
62
|
walletAddress: params.walletAddress,
|
|
59
63
|
permit: params.permit,
|
|
60
64
|
enableEstimate: true
|
|
61
|
-
})
|
|
62
|
-
const quote = yield this.api.getQuote(quoterRequest)
|
|
65
|
+
})
|
|
66
|
+
const quote = yield this.api.getQuote(quoterRequest)
|
|
63
67
|
if (!quote.quoteId) {
|
|
64
|
-
throw new Error('quoter has not returned quoteId')
|
|
68
|
+
throw new Error('quoter has not returned quoteId')
|
|
65
69
|
}
|
|
66
70
|
const order = quote.createFusionOrder({
|
|
67
71
|
receiver: params.receiver,
|
|
68
72
|
preset: params.preset
|
|
69
|
-
})
|
|
70
|
-
const domain = (0, limit_order_1.getLimitOrderV3Domain)(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
})
|
|
74
|
+
const domain = (0, limit_order_1.getLimitOrderV3Domain)(
|
|
75
|
+
this.config.network
|
|
76
|
+
)
|
|
77
|
+
const signature =
|
|
78
|
+
yield this.config.blockchainProvider.signTypedData(
|
|
79
|
+
params.walletAddress,
|
|
80
|
+
order.getTypedData(domain)
|
|
81
|
+
)
|
|
82
|
+
const orderStruct = order.build()
|
|
73
83
|
const relayerRequest = api_1.RelayerRequest.new({
|
|
74
84
|
order: orderStruct,
|
|
75
85
|
signature,
|
|
76
86
|
quoteId: quote.quoteId
|
|
77
|
-
})
|
|
78
|
-
yield this.api.submitOrder(relayerRequest)
|
|
87
|
+
})
|
|
88
|
+
yield this.api.submitOrder(relayerRequest)
|
|
79
89
|
return {
|
|
80
90
|
order: order.build(),
|
|
81
91
|
signature,
|
|
82
92
|
quoteId: quote.quoteId,
|
|
83
93
|
orderHash: order.getOrderHash(domain)
|
|
84
|
-
}
|
|
85
|
-
})
|
|
94
|
+
}
|
|
95
|
+
})
|
|
86
96
|
}
|
|
87
97
|
}
|
|
88
|
-
exports.FusionSDK = FusionSDK
|
|
89
|
-
//# sourceMappingURL=sdk.js.map
|
|
98
|
+
exports.FusionSDK = FusionSDK
|
|
99
|
+
//# sourceMappingURL=sdk.js.map
|
package/sdk/types.d.ts
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import {BlockchainProviderConnector, HttpProviderConnector} from '../connector'
|
|
2
|
+
import {NetworkEnum} from '../constants'
|
|
3
|
+
import {LimitOrderV3Struct} from '../limit-order'
|
|
4
|
+
import {PresetEnum} from '../api'
|
|
5
5
|
export declare type FusionSDKConfigParams = {
|
|
6
|
-
url: string
|
|
7
|
-
network: NetworkEnum
|
|
8
|
-
blockchainProvider?: BlockchainProviderConnector
|
|
9
|
-
httpProvider?: HttpProviderConnector
|
|
10
|
-
}
|
|
6
|
+
url: string
|
|
7
|
+
network: NetworkEnum
|
|
8
|
+
blockchainProvider?: BlockchainProviderConnector
|
|
9
|
+
httpProvider?: HttpProviderConnector
|
|
10
|
+
}
|
|
11
11
|
export declare type QuoteParams = {
|
|
12
|
-
fromTokenAddress: string
|
|
13
|
-
toTokenAddress: string
|
|
14
|
-
amount: string
|
|
15
|
-
permit?: string
|
|
16
|
-
}
|
|
12
|
+
fromTokenAddress: string
|
|
13
|
+
toTokenAddress: string
|
|
14
|
+
amount: string
|
|
15
|
+
permit?: string
|
|
16
|
+
}
|
|
17
17
|
export declare type OrderParams = {
|
|
18
|
-
fromTokenAddress: string
|
|
19
|
-
toTokenAddress: string
|
|
20
|
-
amount: string
|
|
21
|
-
walletAddress: string
|
|
22
|
-
permit?: string
|
|
23
|
-
receiver?: string
|
|
24
|
-
preset?: PresetEnum
|
|
25
|
-
}
|
|
18
|
+
fromTokenAddress: string
|
|
19
|
+
toTokenAddress: string
|
|
20
|
+
amount: string
|
|
21
|
+
walletAddress: string
|
|
22
|
+
permit?: string
|
|
23
|
+
receiver?: string
|
|
24
|
+
preset?: PresetEnum
|
|
25
|
+
}
|
|
26
26
|
export declare type OrderInfo = {
|
|
27
|
-
order: LimitOrderV3Struct
|
|
28
|
-
signature: string
|
|
29
|
-
quoteId: string
|
|
30
|
-
orderHash: string
|
|
31
|
-
}
|
|
27
|
+
order: LimitOrderV3Struct
|
|
28
|
+
signature: string
|
|
29
|
+
quoteId: string
|
|
30
|
+
orderHash: string
|
|
31
|
+
}
|
package/sdk/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
//# sourceMappingURL=types.js.map
|
|
1
|
+
'use strict'
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {value: true})
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SETTLE_ORDERS_SELECTOR =
|
|
1
|
+
export declare const SETTLE_ORDERS_SELECTOR = '0x0965d04b'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
exports.SETTLE_ORDERS_SELECTOR = void 0
|
|
4
|
-
exports.SETTLE_ORDERS_SELECTOR = '0x0965d04b'
|
|
5
|
-
//# sourceMappingURL=constants.js.map
|
|
1
|
+
'use strict'
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {value: true})
|
|
3
|
+
exports.SETTLE_ORDERS_SELECTOR = void 0
|
|
4
|
+
exports.SETTLE_ORDERS_SELECTOR = '0x0965d04b'
|
|
5
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function encodeFillOrder(params: FillOrderParamsExtended): string
|
|
1
|
+
import {FillOrderParamsExtended} from '../types'
|
|
2
|
+
export declare function encodeFillOrder(params: FillOrderParamsExtended): string
|
|
@@ -1,17 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
exports.encodeFillOrder = void 0
|
|
4
|
-
const tslib_1 = require(
|
|
5
|
-
const web3_eth_contract_1 = tslib_1.__importDefault(
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
'use strict'
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {value: true})
|
|
3
|
+
exports.encodeFillOrder = void 0
|
|
4
|
+
const tslib_1 = require('tslib')
|
|
5
|
+
const web3_eth_contract_1 = tslib_1.__importDefault(
|
|
6
|
+
require('web3-eth-contract')
|
|
7
|
+
)
|
|
8
|
+
const AggregationRouterV5_abi_json_1 = tslib_1.__importDefault(
|
|
9
|
+
require('../../abi/AggregationRouterV5.abi.json')
|
|
10
|
+
)
|
|
11
|
+
const signature_patcher_1 = require('../signature-patcher')
|
|
8
12
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
9
13
|
// @ts-ignore
|
|
10
|
-
const limitOrderV3 = new web3_eth_contract_1.default(
|
|
14
|
+
const limitOrderV3 = new web3_eth_contract_1.default(
|
|
15
|
+
AggregationRouterV5_abi_json_1.default
|
|
16
|
+
)
|
|
11
17
|
function encodeFillOrder(params) {
|
|
12
18
|
return limitOrderV3.methods
|
|
13
|
-
.fillOrderTo(
|
|
14
|
-
|
|
19
|
+
.fillOrderTo(
|
|
20
|
+
params.order,
|
|
21
|
+
(0, signature_patcher_1.patchSignature)(params.signature),
|
|
22
|
+
params.interaction,
|
|
23
|
+
params.makingAmount,
|
|
24
|
+
params.takingAmount,
|
|
25
|
+
params.thresholdAmount,
|
|
26
|
+
params.target
|
|
27
|
+
)
|
|
28
|
+
.encodeABI()
|
|
15
29
|
}
|
|
16
|
-
exports.encodeFillOrder = encodeFillOrder
|
|
17
|
-
//# sourceMappingURL=fill-order.encoder.js.map
|
|
30
|
+
exports.encodeFillOrder = encodeFillOrder
|
|
31
|
+
//# sourceMappingURL=fill-order.encoder.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './constants'
|
|
2
|
-
export * from './fill-order.encoder'
|
|
3
|
-
export * from './settlement.encoder'
|
|
1
|
+
export * from './constants'
|
|
2
|
+
export * from './fill-order.encoder'
|
|
3
|
+
export * from './settlement.encoder'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
const tslib_1 = require(
|
|
4
|
-
tslib_1.__exportStar(require(
|
|
5
|
-
tslib_1.__exportStar(require(
|
|
6
|
-
tslib_1.__exportStar(require(
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
'use strict'
|
|
2
|
+
Object.defineProperty(exports, '__esModule', {value: true})
|
|
3
|
+
const tslib_1 = require('tslib')
|
|
4
|
+
tslib_1.__exportStar(require('./constants'), exports)
|
|
5
|
+
tslib_1.__exportStar(require('./fill-order.encoder'), exports)
|
|
6
|
+
tslib_1.__exportStar(require('./settlement.encoder'), exports)
|
|
7
|
+
//# sourceMappingURL=index.js.map
|