@sonarwatch/portfolio-plugins 0.9.3 → 0.9.4
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,10 @@
|
|
2
2
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
4
4
|
|
5
|
+
## [0.9.4](https://github.com/sonarwatch/portfolio/compare/plugins-0.9.3...plugins-0.9.4) (2023-12-10)
|
6
|
+
|
7
|
+
|
8
|
+
|
5
9
|
## [0.9.3](https://github.com/sonarwatch/portfolio/compare/plugins-0.9.2...plugins-0.9.3) (2023-12-10)
|
6
10
|
|
7
11
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sonarwatch/portfolio-plugins",
|
3
|
-
"version": "0.9.
|
3
|
+
"version": "0.9.4",
|
4
4
|
"type": "commonjs",
|
5
5
|
"generators": "./generators.json",
|
6
6
|
"dependencies": {
|
@@ -41,7 +41,7 @@
|
|
41
41
|
"web3-v1": "npm:web3@^1.5.0"
|
42
42
|
},
|
43
43
|
"peerDependencies": {
|
44
|
-
"@sonarwatch/portfolio-core": "0.9.
|
44
|
+
"@sonarwatch/portfolio-core": "0.9.4"
|
45
45
|
},
|
46
46
|
"main": "./src/index.js",
|
47
47
|
"types": "./src/index.d.ts"
|
@@ -1,5 +1,7 @@
|
|
1
|
-
import { NetworkIdType, TokenPriceSource, UniTokenList } from '@sonarwatch/portfolio-core';
|
1
|
+
import { NetworkIdType, TokenPriceSource, UniTokenList, UniTokenListVersion } from '@sonarwatch/portfolio-core';
|
2
2
|
import { TokenData } from './types';
|
3
|
+
export declare function compareVersion(versionA: UniTokenListVersion, versionB: UniTokenListVersion): 1 | -1 | 0;
|
4
|
+
export declare function isLatestVersion(newVersion: UniTokenListVersion, oldVersion: UniTokenListVersion): boolean;
|
3
5
|
export declare function getCoingeckoSources(networkId: NetworkIdType, tokensData: TokenData[]): Promise<TokenPriceSource[]>;
|
4
6
|
export declare function getTokensData(tokenList: UniTokenList): Promise<TokenData[]>;
|
5
7
|
export declare function getTag(platformId: string, elementName?: string): string;
|
@@ -12,12 +12,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
13
|
};
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
-
exports.parseTag = exports.getTag = exports.getTokensData = exports.getCoingeckoSources = void 0;
|
15
|
+
exports.parseTag = exports.getTag = exports.getTokensData = exports.getCoingeckoSources = exports.isLatestVersion = exports.compareVersion = void 0;
|
16
16
|
const axios_1 = __importDefault(require("axios"));
|
17
17
|
const constants_1 = require("./constants");
|
18
18
|
const shuffleArray_1 = __importDefault(require("../../utils/misc/shuffleArray"));
|
19
19
|
const sleep_1 = __importDefault(require("../../utils/misc/sleep"));
|
20
20
|
const constants_2 = require("../../utils/coingecko/constants");
|
21
|
+
function compareVersion(versionA, versionB) {
|
22
|
+
if (versionA.major > versionB.major)
|
23
|
+
return 1;
|
24
|
+
if (versionA.major < versionB.major)
|
25
|
+
return -1;
|
26
|
+
if (versionA.minor > versionB.minor)
|
27
|
+
return 1;
|
28
|
+
if (versionA.minor < versionB.minor)
|
29
|
+
return -1;
|
30
|
+
if (versionA.patch > versionB.patch)
|
31
|
+
return 1;
|
32
|
+
if (versionA.patch < versionB.patch)
|
33
|
+
return -1;
|
34
|
+
return 0;
|
35
|
+
}
|
36
|
+
exports.compareVersion = compareVersion;
|
37
|
+
function isLatestVersion(newVersion, oldVersion) {
|
38
|
+
return compareVersion(newVersion, oldVersion) > 0;
|
39
|
+
}
|
40
|
+
exports.isLatestVersion = isLatestVersion;
|
21
41
|
const tagSeparator = '<|>';
|
22
42
|
function getCoingeckoSources(networkId, tokensData) {
|
23
43
|
return __awaiter(this, void 0, void 0, function* () {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tokens/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA6C;
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tokens/helpers.ts"],"names":[],"mappings":"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"}
|
@@ -15,20 +15,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const portfolio_core_1 = require("@sonarwatch/portfolio-core");
|
16
16
|
const axios_1 = __importDefault(require("axios"));
|
17
17
|
const constants_1 = require("./constants");
|
18
|
-
const
|
18
|
+
const helpers_1 = require("./helpers");
|
19
|
+
const ttl = 1000 * 60 * 60 * 24; // 1 day
|
19
20
|
const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
20
|
-
if (Math.random() > 0.05)
|
21
|
-
return;
|
22
21
|
for (const network of Object.values(portfolio_core_1.networks)) {
|
23
22
|
const tokenList = yield axios_1.default
|
24
23
|
.get(network.tokenListUrl)
|
25
24
|
.catch(() => null);
|
26
25
|
if (!tokenList)
|
27
26
|
continue;
|
28
|
-
yield cache.
|
27
|
+
const cachedTokenList = yield cache.getItem(network.id, {
|
29
28
|
prefix: constants_1.tokenListsPrefix,
|
30
|
-
ttl,
|
31
29
|
});
|
30
|
+
if (cachedTokenList &&
|
31
|
+
(0, helpers_1.isLatestVersion)(cachedTokenList.version, tokenList.data.version)) {
|
32
|
+
continue;
|
33
|
+
}
|
32
34
|
for (let i = 0; i < tokenList.data.tokens.length; i++) {
|
33
35
|
const token = tokenList.data.tokens[i];
|
34
36
|
const address = (0, portfolio_core_1.formatTokenAddress)(token.address, network.id);
|
@@ -39,6 +41,10 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
41
|
ttl,
|
40
42
|
});
|
41
43
|
}
|
44
|
+
yield cache.setItem(network.id, tokenList.data, {
|
45
|
+
prefix: constants_1.tokenListsPrefix,
|
46
|
+
ttl,
|
47
|
+
});
|
42
48
|
}
|
43
49
|
});
|
44
50
|
const job = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tokenListsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tokens/tokenListsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAIoC;AACpC,kDAA6C;AAG7C,2CAAwE;
|
1
|
+
{"version":3,"file":"tokenListsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/tokens/tokenListsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAIoC;AACpC,kDAA6C;AAG7C,2CAAwE;AACxE,uCAA4C;AAE5C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ;AAEzC,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,yBAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAuC,MAAM,eAAK;aAC9D,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;aACzB,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,OAAO,CAAe,OAAO,CAAC,EAAE,EAAE;YACpE,MAAM,EAAE,4BAAgB;SACzB,CAAC,CAAC;QAEH,IACE,eAAe;YACf,IAAA,yBAAe,EAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAChE,CAAC;YACD,SAAS;QACX,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,IAAA,mCAAkB,EAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,MAAM,mCACP,KAAK,KACR,OAAO,GACR,CAAC;YACF,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE;gBACnC,MAAM,EAAE,mCAAuB;gBAC/B,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE;YAC9C,MAAM,EAAE,4BAAgB;YACxB,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,aAAa;IACjB,QAAQ;CACT,CAAC;AACF,kBAAe,GAAG,CAAC"}
|