@lifi/sdk 1.1.5 → 1.2.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 +11 -0
- package/dist/Lifi.js +3 -0
- package/dist/cjs/Lifi.js +3 -0
- package/dist/cjs/helpers.d.ts +1 -0
- package/dist/cjs/helpers.js +35 -1
- package/dist/cjs/types/internal.types.d.ts +2 -0
- package/dist/cjs/version.d.ts +2 -0
- package/dist/cjs/version.js +5 -0
- package/dist/helpers.d.ts +1 -0
- package/dist/helpers.js +33 -0
- package/dist/types/internal.types.d.ts +2 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +2 -0
- package/package.json +8 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
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.2.1](https://github.com/lifinance/sdk/compare/v1.2.0...v1.2.1) (2022-08-22)
|
|
6
|
+
|
|
7
|
+
## [1.2.0](https://github.com/lifinance/sdk/compare/v1.1.6...v1.2.0) (2022-08-22)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* add version check ([#102](https://github.com/lifinance/sdk/issues/102)) ([dbc0fc5](https://github.com/lifinance/sdk/commit/dbc0fc5805a2d6c9b3da8547d44c3e93f1a3b8ed))
|
|
13
|
+
|
|
14
|
+
### [1.1.6](https://github.com/lifinance/sdk/compare/v1.1.5...v1.1.6) (2022-08-19)
|
|
15
|
+
|
|
5
16
|
### [1.1.5](https://github.com/lifinance/sdk/compare/v1.1.4...v1.1.5) (2022-08-19)
|
|
6
17
|
|
|
7
18
|
### [1.1.4](https://github.com/lifinance/sdk/compare/v1.1.3...v1.1.4) (2022-08-19)
|
package/dist/Lifi.js
CHANGED
|
@@ -12,6 +12,7 @@ import balances from './balances';
|
|
|
12
12
|
import { getRpcProvider } from './connectors';
|
|
13
13
|
import { StatusManager } from './execution/StatusManager';
|
|
14
14
|
import { StepExecutor } from './execution/StepExecutor';
|
|
15
|
+
import { checkPackageUpdates } from './helpers';
|
|
15
16
|
import ApiService from './services/ApiService';
|
|
16
17
|
import ChainsService from './services/ChainsService';
|
|
17
18
|
import ConfigService from './services/ConfigService';
|
|
@@ -19,6 +20,7 @@ import { isToken } from './typeguards';
|
|
|
19
20
|
import { ValidationError } from './utils/errors';
|
|
20
21
|
import { handlePreRestart } from './utils/preRestart';
|
|
21
22
|
import { deepClone } from './utils/utils';
|
|
23
|
+
import { name, version } from './version';
|
|
22
24
|
export default class LIFI {
|
|
23
25
|
constructor(configUpdate) {
|
|
24
26
|
this.activeRouteDictionary = {};
|
|
@@ -366,5 +368,6 @@ export default class LIFI {
|
|
|
366
368
|
this.chainsService.getChains().then((chains) => {
|
|
367
369
|
this.configService.updateChains(chains);
|
|
368
370
|
});
|
|
371
|
+
checkPackageUpdates(name, version, configUpdate === null || configUpdate === void 0 ? void 0 : configUpdate.disableVersionCheck);
|
|
369
372
|
}
|
|
370
373
|
}
|
package/dist/cjs/Lifi.js
CHANGED
|
@@ -17,6 +17,7 @@ const balances_1 = __importDefault(require("./balances"));
|
|
|
17
17
|
const connectors_1 = require("./connectors");
|
|
18
18
|
const StatusManager_1 = require("./execution/StatusManager");
|
|
19
19
|
const StepExecutor_1 = require("./execution/StepExecutor");
|
|
20
|
+
const helpers_1 = require("./helpers");
|
|
20
21
|
const ApiService_1 = __importDefault(require("./services/ApiService"));
|
|
21
22
|
const ChainsService_1 = __importDefault(require("./services/ChainsService"));
|
|
22
23
|
const ConfigService_1 = __importDefault(require("./services/ConfigService"));
|
|
@@ -24,6 +25,7 @@ const typeguards_1 = require("./typeguards");
|
|
|
24
25
|
const errors_1 = require("./utils/errors");
|
|
25
26
|
const preRestart_1 = require("./utils/preRestart");
|
|
26
27
|
const utils_1 = require("./utils/utils");
|
|
28
|
+
const version_1 = require("./version");
|
|
27
29
|
class LIFI {
|
|
28
30
|
constructor(configUpdate) {
|
|
29
31
|
this.activeRouteDictionary = {};
|
|
@@ -371,6 +373,7 @@ class LIFI {
|
|
|
371
373
|
this.chainsService.getChains().then((chains) => {
|
|
372
374
|
this.configService.updateChains(chains);
|
|
373
375
|
});
|
|
376
|
+
(0, helpers_1.checkPackageUpdates)(version_1.name, version_1.version, configUpdate === null || configUpdate === void 0 ? void 0 : configUpdate.disableVersionCheck);
|
|
374
377
|
}
|
|
375
378
|
}
|
|
376
379
|
exports.default = LIFI;
|
package/dist/cjs/helpers.d.ts
CHANGED
|
@@ -16,3 +16,4 @@ export declare const getEthereumPublicKeyHook: (walletAddress: string) => () =>
|
|
|
16
16
|
*/
|
|
17
17
|
export declare const getRandomNumber: (min: number, max: number) => number;
|
|
18
18
|
export declare const isSameToken: (tokenA: Token, tokenB: Token) => boolean;
|
|
19
|
+
export declare const checkPackageUpdates: (packageName?: string, packageVersion?: string, disableCheck?: boolean) => Promise<void>;
|
package/dist/cjs/helpers.js
CHANGED
|
@@ -9,7 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.isSameToken = exports.getRandomNumber = exports.getEthereumPublicKeyHook = exports.getEthereumDecryptionHook = void 0;
|
|
12
|
+
exports.checkPackageUpdates = exports.isSameToken = exports.getRandomNumber = exports.getEthereumPublicKeyHook = exports.getEthereumDecryptionHook = void 0;
|
|
13
|
+
const version_1 = require("./version");
|
|
13
14
|
const ethereumRequest = (method, params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
15
|
// If ethereum.request() exists, the provider is probably EIP-1193 compliant.
|
|
15
16
|
if (!ethereum || !ethereum.request) {
|
|
@@ -52,3 +53,36 @@ exports.getRandomNumber = getRandomNumber;
|
|
|
52
53
|
const isSameToken = (tokenA, tokenB) => tokenA.chainId === tokenB.chainId &&
|
|
53
54
|
tokenA.address.toLowerCase() === tokenB.address.toLowerCase();
|
|
54
55
|
exports.isSameToken = isSameToken;
|
|
56
|
+
function semverCompare(a, b) {
|
|
57
|
+
if (a.startsWith(b + '-')) {
|
|
58
|
+
return -1;
|
|
59
|
+
}
|
|
60
|
+
if (b.startsWith(a + '-')) {
|
|
61
|
+
return 1;
|
|
62
|
+
}
|
|
63
|
+
return a.localeCompare(b, undefined, {
|
|
64
|
+
numeric: true,
|
|
65
|
+
sensitivity: 'case',
|
|
66
|
+
caseFirst: 'upper',
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
const checkPackageUpdates = (packageName, packageVersion, disableCheck) => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
|
+
if (disableCheck || process.env.NODE_ENV !== 'development') {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
const pkgName = packageName !== null && packageName !== void 0 ? packageName : version_1.name;
|
|
75
|
+
const response = yield (yield fetch(`https://registry.npmjs.org/${pkgName}/latest`)).json();
|
|
76
|
+
const latestVersion = response.version;
|
|
77
|
+
const currentVersion = packageVersion !== null && packageVersion !== void 0 ? packageVersion : version_1.version;
|
|
78
|
+
if (semverCompare(latestVersion, currentVersion)) {
|
|
79
|
+
console.warn(
|
|
80
|
+
// eslint-disable-next-line max-len
|
|
81
|
+
`${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
// Cannot verify version, might be network error etc. We don't bother showing anything in that case
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
exports.checkPackageUpdates = checkPackageUpdates;
|
|
@@ -35,6 +35,7 @@ export declare type Config = {
|
|
|
35
35
|
multicallAddresses: Record<ChainId, string | undefined>;
|
|
36
36
|
defaultExecutionSettings: InternalExecutionSettings;
|
|
37
37
|
defaultRouteOptions: RouteOptions;
|
|
38
|
+
disableVersionCheck?: boolean;
|
|
38
39
|
};
|
|
39
40
|
export declare type ConfigUpdate = {
|
|
40
41
|
apiUrl?: string;
|
|
@@ -42,6 +43,7 @@ export declare type ConfigUpdate = {
|
|
|
42
43
|
multicallAddresses?: Record<number, string | undefined>;
|
|
43
44
|
defaultExecutionSettings?: ExecutionSettings;
|
|
44
45
|
defaultRouteOptions?: RouteOptions;
|
|
46
|
+
disableVersionCheck?: boolean;
|
|
45
47
|
};
|
|
46
48
|
export declare type SwitchChainHook = (requiredChainId: number) => Promise<Signer | undefined>;
|
|
47
49
|
export interface AcceptSlippageUpdateHookParams {
|
package/dist/helpers.d.ts
CHANGED
|
@@ -16,3 +16,4 @@ export declare const getEthereumPublicKeyHook: (walletAddress: string) => () =>
|
|
|
16
16
|
*/
|
|
17
17
|
export declare const getRandomNumber: (min: number, max: number) => number;
|
|
18
18
|
export declare const isSameToken: (tokenA: Token, tokenB: Token) => boolean;
|
|
19
|
+
export declare const checkPackageUpdates: (packageName?: string, packageVersion?: string, disableCheck?: boolean) => Promise<void>;
|
package/dist/helpers.js
CHANGED
|
@@ -7,6 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
import { name, version } from './version';
|
|
10
11
|
const ethereumRequest = (method, params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
11
12
|
// If ethereum.request() exists, the provider is probably EIP-1193 compliant.
|
|
12
13
|
if (!ethereum || !ethereum.request) {
|
|
@@ -45,3 +46,35 @@ export const getRandomNumber = (min, max) => {
|
|
|
45
46
|
};
|
|
46
47
|
export const isSameToken = (tokenA, tokenB) => tokenA.chainId === tokenB.chainId &&
|
|
47
48
|
tokenA.address.toLowerCase() === tokenB.address.toLowerCase();
|
|
49
|
+
function semverCompare(a, b) {
|
|
50
|
+
if (a.startsWith(b + '-')) {
|
|
51
|
+
return -1;
|
|
52
|
+
}
|
|
53
|
+
if (b.startsWith(a + '-')) {
|
|
54
|
+
return 1;
|
|
55
|
+
}
|
|
56
|
+
return a.localeCompare(b, undefined, {
|
|
57
|
+
numeric: true,
|
|
58
|
+
sensitivity: 'case',
|
|
59
|
+
caseFirst: 'upper',
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
export const checkPackageUpdates = (packageName, packageVersion, disableCheck) => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
+
if (disableCheck || process.env.NODE_ENV !== 'development') {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
const pkgName = packageName !== null && packageName !== void 0 ? packageName : name;
|
|
68
|
+
const response = yield (yield fetch(`https://registry.npmjs.org/${pkgName}/latest`)).json();
|
|
69
|
+
const latestVersion = response.version;
|
|
70
|
+
const currentVersion = packageVersion !== null && packageVersion !== void 0 ? packageVersion : version;
|
|
71
|
+
if (semverCompare(latestVersion, currentVersion)) {
|
|
72
|
+
console.warn(
|
|
73
|
+
// eslint-disable-next-line max-len
|
|
74
|
+
`${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
// Cannot verify version, might be network error etc. We don't bother showing anything in that case
|
|
79
|
+
}
|
|
80
|
+
});
|
|
@@ -35,6 +35,7 @@ export declare type Config = {
|
|
|
35
35
|
multicallAddresses: Record<ChainId, string | undefined>;
|
|
36
36
|
defaultExecutionSettings: InternalExecutionSettings;
|
|
37
37
|
defaultRouteOptions: RouteOptions;
|
|
38
|
+
disableVersionCheck?: boolean;
|
|
38
39
|
};
|
|
39
40
|
export declare type ConfigUpdate = {
|
|
40
41
|
apiUrl?: string;
|
|
@@ -42,6 +43,7 @@ export declare type ConfigUpdate = {
|
|
|
42
43
|
multicallAddresses?: Record<number, string | undefined>;
|
|
43
44
|
defaultExecutionSettings?: ExecutionSettings;
|
|
44
45
|
defaultRouteOptions?: RouteOptions;
|
|
46
|
+
disableVersionCheck?: boolean;
|
|
45
47
|
};
|
|
46
48
|
export declare type SwitchChainHook = (requiredChainId: number) => Promise<Signer | undefined>;
|
|
47
49
|
export interface AcceptSlippageUpdateHookParams {
|
package/dist/version.js
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/sdk",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.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",
|
|
@@ -30,7 +30,12 @@
|
|
|
30
30
|
"prepublishOnly": "run-s build use:npmReadme && pinst --enable",
|
|
31
31
|
"postpublish": "npm run use:gitReadme && pinst --enable",
|
|
32
32
|
"prepare": "husky install",
|
|
33
|
-
"release": "standard-version"
|
|
33
|
+
"release": "standard-version -a"
|
|
34
|
+
},
|
|
35
|
+
"standard-version": {
|
|
36
|
+
"scripts": {
|
|
37
|
+
"postbump": "node scripts/version.js && git add ."
|
|
38
|
+
}
|
|
34
39
|
},
|
|
35
40
|
"lint-staged": {
|
|
36
41
|
"src/**/*.{ts,tsx}": [
|
|
@@ -75,7 +80,7 @@
|
|
|
75
80
|
"dependencies": {
|
|
76
81
|
"@ethersproject/abi": "^5.6.4",
|
|
77
82
|
"@ethersproject/contracts": "^5.6.2",
|
|
78
|
-
"@lifi/types": "^1.5.
|
|
83
|
+
"@lifi/types": "^1.5.1",
|
|
79
84
|
"axios": "^0.27.2",
|
|
80
85
|
"bignumber.js": "^9.1.0",
|
|
81
86
|
"eth-rpc-errors": "^4.0.3",
|