@lifi/sdk 1.3.0 → 1.4.1
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/CHANGELOG.md +16 -0
- package/dist/cjs/execution/bridges/bridge.execute.js +5 -4
- package/dist/cjs/execution/exchanges/swap.execute.js +5 -3
- package/dist/cjs/services/ApiService.js +6 -6
- package/dist/cjs/services/ConfigService.js +3 -3
- package/dist/cjs/utils/preRestart.js +4 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/execution/bridges/bridge.execute.js +5 -4
- package/dist/execution/exchanges/swap.execute.js +5 -3
- package/dist/services/ApiService.js +6 -6
- package/dist/services/ConfigService.js +3 -3
- package/dist/utils/preRestart.js +4 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [1.4.1](https://github.com/lifinance/sdk/compare/v1.4.0...v1.4.1) (2022-09-06)
|
|
6
|
+
|
|
7
|
+
## [1.4.0](https://github.com/lifinance/sdk/compare/v1.3.1...v1.4.0) (2022-09-05)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* skip step tx generation if tx data already provided ([#100](https://github.com/lifinance/sdk/issues/100)) ([280de4a](https://github.com/lifinance/sdk/commit/280de4a3d96b8077893e0bc1e0ed944f4772c5fb))
|
|
13
|
+
|
|
14
|
+
### [1.3.1](https://github.com/lifinance/sdk/compare/v1.3.0...v1.3.1) (2022-09-05)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* pass default options right for quote requests ([#109](https://github.com/lifinance/sdk/issues/109)) ([776c5a3](https://github.com/lifinance/sdk/commit/776c5a33f0ac7e6525659878cf7323244f055e77))
|
|
20
|
+
|
|
5
21
|
## [1.3.0](https://github.com/lifinance/sdk/compare/v1.2.2...v1.3.0) (2022-09-05)
|
|
6
22
|
|
|
7
23
|
|
|
@@ -58,10 +58,11 @@ class BridgeExecutionManager {
|
|
|
58
58
|
else {
|
|
59
59
|
// check balance
|
|
60
60
|
yield (0, balanceCheck_execute_1.balanceCheck)(signer, step);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
if (!step.transactionRequest) {
|
|
62
|
+
const personalizedStep = yield (0, utils_1.personalizeStep)(signer, step);
|
|
63
|
+
const updatedStep = yield ApiService_1.default.getStepTransaction(personalizedStep);
|
|
64
|
+
step = Object.assign(Object.assign({}, (yield (0, stepComparison_1.stepComparison)(statusManager, personalizedStep, updatedStep, settings.acceptSlippageUpdateHook, this.shouldContinue))), { execution: step.execution });
|
|
65
|
+
}
|
|
65
66
|
const { transactionRequest } = step;
|
|
66
67
|
if (!transactionRequest) {
|
|
67
68
|
throw new errors_1.TransactionError(errors_1.LifiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
|
|
@@ -56,9 +56,11 @@ class SwapExecutionManager {
|
|
|
56
56
|
// -> check balance
|
|
57
57
|
yield (0, balanceCheck_execute_1.balanceCheck)(signer, step);
|
|
58
58
|
// -> get tx from backend
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
if (!step.transactionRequest) {
|
|
60
|
+
const personalizedStep = yield (0, utils_1.personalizeStep)(signer, step);
|
|
61
|
+
const updatedStep = yield ApiService_1.default.getStepTransaction(personalizedStep);
|
|
62
|
+
step = Object.assign(Object.assign({}, (yield (0, stepComparison_1.stepComparison)(statusManager, personalizedStep, updatedStep, settings.acceptSlippageUpdateHook, this.shouldContinue))), { execution: step.execution });
|
|
63
|
+
}
|
|
62
64
|
const { transactionRequest } = step;
|
|
63
65
|
if (!transactionRequest) {
|
|
64
66
|
throw new errors_1.TransactionError(errors_1.LifiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
|
|
@@ -92,11 +92,11 @@ const getQuote = (request, options) => __awaiter(void 0, void 0, void 0, functio
|
|
|
92
92
|
request.preferBridges =
|
|
93
93
|
request.preferBridges || ((_c = config.defaultRouteOptions.bridges) === null || _c === void 0 ? void 0 : _c.prefer);
|
|
94
94
|
request.allowExchanges =
|
|
95
|
-
request.allowExchanges || ((_d = config.defaultRouteOptions.
|
|
95
|
+
request.allowExchanges || ((_d = config.defaultRouteOptions.exchanges) === null || _d === void 0 ? void 0 : _d.allow);
|
|
96
96
|
request.denyExchanges =
|
|
97
|
-
request.denyExchanges || ((_e = config.defaultRouteOptions.
|
|
97
|
+
request.denyExchanges || ((_e = config.defaultRouteOptions.exchanges) === null || _e === void 0 ? void 0 : _e.deny);
|
|
98
98
|
request.preferExchanges =
|
|
99
|
-
request.preferExchanges || ((_f = config.defaultRouteOptions.
|
|
99
|
+
request.preferExchanges || ((_f = config.defaultRouteOptions.exchanges) === null || _f === void 0 ? void 0 : _f.prefer);
|
|
100
100
|
try {
|
|
101
101
|
const result = yield axios_1.default.get(config.apiUrl + 'quote', {
|
|
102
102
|
params: request,
|
|
@@ -143,11 +143,11 @@ const getContractCallQuote = (request, options) => __awaiter(void 0, void 0, voi
|
|
|
143
143
|
request.preferBridges =
|
|
144
144
|
request.preferBridges || ((_j = config.defaultRouteOptions.bridges) === null || _j === void 0 ? void 0 : _j.prefer);
|
|
145
145
|
request.allowExchanges =
|
|
146
|
-
request.allowExchanges || ((_k = config.defaultRouteOptions.
|
|
146
|
+
request.allowExchanges || ((_k = config.defaultRouteOptions.exchanges) === null || _k === void 0 ? void 0 : _k.allow);
|
|
147
147
|
request.denyExchanges =
|
|
148
|
-
request.denyExchanges || ((_l = config.defaultRouteOptions.
|
|
148
|
+
request.denyExchanges || ((_l = config.defaultRouteOptions.exchanges) === null || _l === void 0 ? void 0 : _l.deny);
|
|
149
149
|
request.preferExchanges =
|
|
150
|
-
request.preferExchanges || ((_m = config.defaultRouteOptions.
|
|
150
|
+
request.preferExchanges || ((_m = config.defaultRouteOptions.exchanges) === null || _m === void 0 ? void 0 : _m.prefer);
|
|
151
151
|
// send request
|
|
152
152
|
try {
|
|
153
153
|
const result = yield axios_1.default.post(config.apiUrl + 'quote/contractCall', request, {
|
|
@@ -49,11 +49,11 @@ class ConfigService {
|
|
|
49
49
|
return this.config;
|
|
50
50
|
};
|
|
51
51
|
this.updateChains = (chains) => {
|
|
52
|
-
var _a;
|
|
52
|
+
var _a, _b;
|
|
53
53
|
for (const chain of chains) {
|
|
54
54
|
const chainId = chain.id;
|
|
55
55
|
// set RPCs if they were not configured by the user before
|
|
56
|
-
if (!this.config.rpcs[chainId].length) {
|
|
56
|
+
if (!((_a = this.config.rpcs[chainId]) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
57
57
|
this.config.rpcs[chainId] = chain.metamask.rpcUrls;
|
|
58
58
|
}
|
|
59
59
|
// set multicall addresses if they exist and were not configured by the user before
|
|
@@ -61,7 +61,7 @@ class ConfigService {
|
|
|
61
61
|
this.config.multicallAddresses[chainId] = chain.multicallAddress;
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
(
|
|
64
|
+
(_b = this.resolveSetupPromise) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
65
65
|
return this.config;
|
|
66
66
|
};
|
|
67
67
|
this.config = ConfigService.getDefaultConfig();
|
|
@@ -9,6 +9,7 @@ const handlePreRestart = (route) => {
|
|
|
9
9
|
if (stepHasFailed) {
|
|
10
10
|
handleErrorType(route, index);
|
|
11
11
|
deleteFailedProcesses(route, index);
|
|
12
|
+
deleteTransactionData(route, index);
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
15
|
};
|
|
@@ -29,3 +30,6 @@ const deleteFailedProcesses = (route, index) => {
|
|
|
29
30
|
route.steps[index].execution.process = route.steps[index].execution.process.filter((process) => process.status !== 'FAILED');
|
|
30
31
|
}
|
|
31
32
|
};
|
|
33
|
+
const deleteTransactionData = (route, index) => {
|
|
34
|
+
route.steps[index].transactionRequest = undefined;
|
|
35
|
+
};
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/sdk";
|
|
2
|
-
export declare const version = "1.
|
|
2
|
+
export declare const version = "1.4.1";
|
package/dist/cjs/version.js
CHANGED
|
@@ -52,10 +52,11 @@ export class BridgeExecutionManager {
|
|
|
52
52
|
else {
|
|
53
53
|
// check balance
|
|
54
54
|
yield balanceCheck(signer, step);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
if (!step.transactionRequest) {
|
|
56
|
+
const personalizedStep = yield personalizeStep(signer, step);
|
|
57
|
+
const updatedStep = yield ApiService.getStepTransaction(personalizedStep);
|
|
58
|
+
step = Object.assign(Object.assign({}, (yield stepComparison(statusManager, personalizedStep, updatedStep, settings.acceptSlippageUpdateHook, this.shouldContinue))), { execution: step.execution });
|
|
59
|
+
}
|
|
59
60
|
const { transactionRequest } = step;
|
|
60
61
|
if (!transactionRequest) {
|
|
61
62
|
throw new TransactionError(LifiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
|
|
@@ -50,9 +50,11 @@ export class SwapExecutionManager {
|
|
|
50
50
|
// -> check balance
|
|
51
51
|
yield balanceCheck(signer, step);
|
|
52
52
|
// -> get tx from backend
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
if (!step.transactionRequest) {
|
|
54
|
+
const personalizedStep = yield personalizeStep(signer, step);
|
|
55
|
+
const updatedStep = yield ApiService.getStepTransaction(personalizedStep);
|
|
56
|
+
step = Object.assign(Object.assign({}, (yield stepComparison(statusManager, personalizedStep, updatedStep, settings.acceptSlippageUpdateHook, this.shouldContinue))), { execution: step.execution });
|
|
57
|
+
}
|
|
56
58
|
const { transactionRequest } = step;
|
|
57
59
|
if (!transactionRequest) {
|
|
58
60
|
throw new TransactionError(LifiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
|
|
@@ -87,11 +87,11 @@ const getQuote = (request, options) => __awaiter(void 0, void 0, void 0, functio
|
|
|
87
87
|
request.preferBridges =
|
|
88
88
|
request.preferBridges || ((_c = config.defaultRouteOptions.bridges) === null || _c === void 0 ? void 0 : _c.prefer);
|
|
89
89
|
request.allowExchanges =
|
|
90
|
-
request.allowExchanges || ((_d = config.defaultRouteOptions.
|
|
90
|
+
request.allowExchanges || ((_d = config.defaultRouteOptions.exchanges) === null || _d === void 0 ? void 0 : _d.allow);
|
|
91
91
|
request.denyExchanges =
|
|
92
|
-
request.denyExchanges || ((_e = config.defaultRouteOptions.
|
|
92
|
+
request.denyExchanges || ((_e = config.defaultRouteOptions.exchanges) === null || _e === void 0 ? void 0 : _e.deny);
|
|
93
93
|
request.preferExchanges =
|
|
94
|
-
request.preferExchanges || ((_f = config.defaultRouteOptions.
|
|
94
|
+
request.preferExchanges || ((_f = config.defaultRouteOptions.exchanges) === null || _f === void 0 ? void 0 : _f.prefer);
|
|
95
95
|
try {
|
|
96
96
|
const result = yield axios.get(config.apiUrl + 'quote', {
|
|
97
97
|
params: request,
|
|
@@ -138,11 +138,11 @@ const getContractCallQuote = (request, options) => __awaiter(void 0, void 0, voi
|
|
|
138
138
|
request.preferBridges =
|
|
139
139
|
request.preferBridges || ((_j = config.defaultRouteOptions.bridges) === null || _j === void 0 ? void 0 : _j.prefer);
|
|
140
140
|
request.allowExchanges =
|
|
141
|
-
request.allowExchanges || ((_k = config.defaultRouteOptions.
|
|
141
|
+
request.allowExchanges || ((_k = config.defaultRouteOptions.exchanges) === null || _k === void 0 ? void 0 : _k.allow);
|
|
142
142
|
request.denyExchanges =
|
|
143
|
-
request.denyExchanges || ((_l = config.defaultRouteOptions.
|
|
143
|
+
request.denyExchanges || ((_l = config.defaultRouteOptions.exchanges) === null || _l === void 0 ? void 0 : _l.deny);
|
|
144
144
|
request.preferExchanges =
|
|
145
|
-
request.preferExchanges || ((_m = config.defaultRouteOptions.
|
|
145
|
+
request.preferExchanges || ((_m = config.defaultRouteOptions.exchanges) === null || _m === void 0 ? void 0 : _m.prefer);
|
|
146
146
|
// send request
|
|
147
147
|
try {
|
|
148
148
|
const result = yield axios.post(config.apiUrl + 'quote/contractCall', request, {
|
|
@@ -47,11 +47,11 @@ export default class ConfigService {
|
|
|
47
47
|
return this.config;
|
|
48
48
|
};
|
|
49
49
|
this.updateChains = (chains) => {
|
|
50
|
-
var _a;
|
|
50
|
+
var _a, _b;
|
|
51
51
|
for (const chain of chains) {
|
|
52
52
|
const chainId = chain.id;
|
|
53
53
|
// set RPCs if they were not configured by the user before
|
|
54
|
-
if (!this.config.rpcs[chainId].length) {
|
|
54
|
+
if (!((_a = this.config.rpcs[chainId]) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
55
55
|
this.config.rpcs[chainId] = chain.metamask.rpcUrls;
|
|
56
56
|
}
|
|
57
57
|
// set multicall addresses if they exist and were not configured by the user before
|
|
@@ -59,7 +59,7 @@ export default class ConfigService {
|
|
|
59
59
|
this.config.multicallAddresses[chainId] = chain.multicallAddress;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
(
|
|
62
|
+
(_b = this.resolveSetupPromise) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
63
63
|
return this.config;
|
|
64
64
|
};
|
|
65
65
|
this.config = ConfigService.getDefaultConfig();
|
package/dist/utils/preRestart.js
CHANGED
|
@@ -6,6 +6,7 @@ export const handlePreRestart = (route) => {
|
|
|
6
6
|
if (stepHasFailed) {
|
|
7
7
|
handleErrorType(route, index);
|
|
8
8
|
deleteFailedProcesses(route, index);
|
|
9
|
+
deleteTransactionData(route, index);
|
|
9
10
|
}
|
|
10
11
|
}
|
|
11
12
|
};
|
|
@@ -25,3 +26,6 @@ const deleteFailedProcesses = (route, index) => {
|
|
|
25
26
|
route.steps[index].execution.process = route.steps[index].execution.process.filter((process) => process.status !== 'FAILED');
|
|
26
27
|
}
|
|
27
28
|
};
|
|
29
|
+
const deleteTransactionData = (route, index) => {
|
|
30
|
+
route.steps[index].transactionRequest = undefined;
|
|
31
|
+
};
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/sdk";
|
|
2
|
-
export declare const version = "1.
|
|
2
|
+
export declare const version = "1.4.1";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/sdk';
|
|
2
|
-
export const version = '1.
|
|
2
|
+
export const version = '1.4.1';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "LI.FI Any-to-Any Cross-Chain-Swap SDK",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"dependencies": {
|
|
77
77
|
"@ethersproject/abi": "^5.7.0",
|
|
78
78
|
"@ethersproject/contracts": "^5.7.0",
|
|
79
|
-
"@lifi/types": "^1.
|
|
79
|
+
"@lifi/types": "^1.6.0",
|
|
80
80
|
"axios": "^0.27.2",
|
|
81
81
|
"bignumber.js": "^9.1.0",
|
|
82
82
|
"eth-rpc-errors": "^4.0.3",
|