@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 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
- // create new transaction
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 });
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
- const personalizedStep = yield (0, utils_1.personalizeStep)(signer, step);
60
- const updatedStep = yield ApiService_1.default.getStepTransaction(personalizedStep);
61
- step = Object.assign(Object.assign({}, (yield (0, stepComparison_1.stepComparison)(statusManager, personalizedStep, updatedStep, settings.acceptSlippageUpdateHook, this.shouldContinue))), { execution: step.execution });
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.bridges) === null || _d === void 0 ? void 0 : _d.allow);
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.bridges) === null || _e === void 0 ? void 0 : _e.deny);
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.bridges) === null || _f === void 0 ? void 0 : _f.prefer);
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.bridges) === null || _k === void 0 ? void 0 : _k.allow);
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.bridges) === null || _l === void 0 ? void 0 : _l.deny);
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.bridges) === null || _m === void 0 ? void 0 : _m.prefer);
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
- (_a = this.resolveSetupPromise) === null || _a === void 0 ? void 0 : _a.call(this);
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
+ };
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/sdk";
2
- export declare const version = "1.3.0";
2
+ export declare const version = "1.4.1";
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = exports.name = void 0;
4
4
  exports.name = '@lifi/sdk';
5
- exports.version = '1.3.0';
5
+ exports.version = '1.4.1';
@@ -52,10 +52,11 @@ export class BridgeExecutionManager {
52
52
  else {
53
53
  // check balance
54
54
  yield balanceCheck(signer, step);
55
- // create new transaction
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 });
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
- const personalizedStep = yield personalizeStep(signer, step);
54
- const updatedStep = yield ApiService.getStepTransaction(personalizedStep);
55
- step = Object.assign(Object.assign({}, (yield stepComparison(statusManager, personalizedStep, updatedStep, settings.acceptSlippageUpdateHook, this.shouldContinue))), { execution: step.execution });
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.bridges) === null || _d === void 0 ? void 0 : _d.allow);
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.bridges) === null || _e === void 0 ? void 0 : _e.deny);
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.bridges) === null || _f === void 0 ? void 0 : _f.prefer);
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.bridges) === null || _k === void 0 ? void 0 : _k.allow);
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.bridges) === null || _l === void 0 ? void 0 : _l.deny);
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.bridges) === null || _m === void 0 ? void 0 : _m.prefer);
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
- (_a = this.resolveSetupPromise) === null || _a === void 0 ? void 0 : _a.call(this);
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();
@@ -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.3.0";
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.3.0';
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.0",
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.5.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",