@chain-registry/client 1.24.1 → 1.25.0
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/chain-info.js +41 -0
- package/chain-info.js.map +1 -0
- package/chain-util.js +73 -0
- package/chain-util.js.map +1 -0
- package/esm/chain-info.js +37 -0
- package/esm/chain-info.js.map +1 -0
- package/esm/chain-util.js +69 -0
- package/esm/chain-util.js.map +1 -0
- package/esm/fetcher.js +152 -0
- package/esm/fetcher.js.map +1 -0
- package/esm/index.js +5 -0
- package/esm/index.js.map +1 -0
- package/esm/registry.js +60 -0
- package/esm/registry.js.map +1 -0
- package/{types/fetcher.d.ts → fetcher.d.ts} +1 -1
- package/fetcher.js +159 -0
- package/fetcher.js.map +1 -0
- package/index.js +21 -0
- package/index.js.map +1 -0
- package/package.json +25 -59
- package/registry.js +64 -0
- package/registry.js.map +1 -0
- package/main/chain-info.js +0 -56
- package/main/chain-util.js +0 -112
- package/main/fetcher.js +0 -228
- package/main/index.js +0 -49
- package/main/registry.js +0 -86
- /package/{types/chain-info.d.ts → chain-info.d.ts} +0 -0
- /package/{types/chain-util.d.ts → chain-util.d.ts} +0 -0
- /package/{types/index.d.ts → index.d.ts} +0 -0
- /package/{types/registry.d.ts → registry.d.ts} +0 -0
package/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./chain-info"), exports);
|
|
18
|
+
__exportStar(require("./chain-util"), exports);
|
|
19
|
+
__exportStar(require("./fetcher"), exports);
|
|
20
|
+
__exportStar(require("./registry"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,4CAA0B;AAC1B,6CAA2B"}
|
package/package.json
CHANGED
|
@@ -1,84 +1,50 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chain-registry/client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.25.0",
|
|
4
4
|
"description": "Chain Registry Client",
|
|
5
5
|
"author": "Dan Lynch <pyramation@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/cosmology-tech/chain-registry",
|
|
7
7
|
"license": "SEE LICENSE IN LICENSE",
|
|
8
|
-
"main": "
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"lib": "src",
|
|
12
|
-
"test": "__tests__"
|
|
13
|
-
},
|
|
14
|
-
"files": [
|
|
15
|
-
"types",
|
|
16
|
-
"main"
|
|
17
|
-
],
|
|
18
|
-
"scripts": {
|
|
19
|
-
"build": "cross-env BABEL_ENV=production babel src --out-dir main --delete-dir-on-start --extensions \".tsx,.ts,.js\"",
|
|
20
|
-
"build:ts": "tsc --project ./tsconfig.json",
|
|
21
|
-
"buidl": "npm run build && npm run build:ts",
|
|
22
|
-
"prepare": "npm run build",
|
|
23
|
-
"dev": "cross-env NODE_ENV=development babel-node src/telescope --extensions \".tsx,.ts,.js\"",
|
|
24
|
-
"watch": "cross-env NODE_ENV=development babel-watch src/telescope --extensions \".tsx,.ts,.js\"",
|
|
25
|
-
"file": "cross-env NODE_ENV=development babel-watch src/file --extensions \".tsx,.ts,.js\"",
|
|
26
|
-
"lint": "eslint --ext .ts,.tsx,.js .",
|
|
27
|
-
"format": "eslint --fix . --ext .ts,.tsx,.js",
|
|
28
|
-
"test": "jest",
|
|
29
|
-
"test:watch": "jest --watch",
|
|
30
|
-
"test:debug": "node --inspect node_modules/.bin/jest --runInBand"
|
|
31
|
-
},
|
|
8
|
+
"main": "index.js",
|
|
9
|
+
"module": "esm/index.js",
|
|
10
|
+
"types": "index.d.ts",
|
|
32
11
|
"publishConfig": {
|
|
33
|
-
"access": "public"
|
|
12
|
+
"access": "public",
|
|
13
|
+
"directory": "dist"
|
|
34
14
|
},
|
|
35
15
|
"repository": {
|
|
36
16
|
"type": "git",
|
|
37
17
|
"url": "https://github.com/cosmology-tech/chain-registry"
|
|
38
18
|
},
|
|
39
|
-
"keywords": [],
|
|
40
19
|
"bugs": {
|
|
41
20
|
"url": "https://github.com/cosmology-tech/chain-registry/issues"
|
|
42
21
|
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"copy": "copyfiles -f ../../LICENSE README.md package.json dist",
|
|
24
|
+
"clean": "del dist/**",
|
|
25
|
+
"prepare": "npm run build",
|
|
26
|
+
"build": "npm run clean; tsc; tsc -p tsconfig.esm.json; npm run copy",
|
|
27
|
+
"test": "jest",
|
|
28
|
+
"test:watch": "jest --watch"
|
|
29
|
+
},
|
|
43
30
|
"devDependencies": {
|
|
44
|
-
"@babel/cli": "7.21.0",
|
|
45
|
-
"@babel/core": "7.21.4",
|
|
46
|
-
"@babel/eslint-parser": "^7.21.3",
|
|
47
|
-
"@babel/node": "^7.20.7",
|
|
48
|
-
"@babel/plugin-proposal-class-properties": "7.18.6",
|
|
49
|
-
"@babel/plugin-proposal-export-default-from": "7.18.10",
|
|
50
|
-
"@babel/plugin-proposal-object-rest-spread": "7.20.7",
|
|
51
|
-
"@babel/plugin-transform-runtime": "7.21.4",
|
|
52
|
-
"@babel/preset-env": "7.21.4",
|
|
53
|
-
"@babel/preset-typescript": "^7.21.4",
|
|
54
|
-
"@types/jest": "^29.5.1",
|
|
55
31
|
"@types/sha.js": "^2.4.0",
|
|
56
32
|
"@types/supertest": "2.0.12",
|
|
57
|
-
"@typescript-eslint/eslint-plugin": "5.59.0",
|
|
58
|
-
"@typescript-eslint/parser": "5.59.0",
|
|
59
|
-
"babel-core": "7.0.0-bridge.0",
|
|
60
|
-
"babel-jest": "29.5.0",
|
|
61
|
-
"babel-watch": "^7.7.2",
|
|
62
|
-
"cross-env": "^7.0.2",
|
|
63
|
-
"eslint": "8.38.0",
|
|
64
|
-
"eslint-config-prettier": "^8.8.0",
|
|
65
|
-
"eslint-plugin-prettier": "^4.0.0",
|
|
66
|
-
"eslint-plugin-simple-import-sort": "8.0.0",
|
|
67
|
-
"eslint-plugin-unused-imports": "2.0.0",
|
|
68
|
-
"jest": "^29.5.0",
|
|
69
33
|
"nock": "13.3.2",
|
|
70
|
-
"
|
|
71
|
-
"regenerator-runtime": "^0.13.11",
|
|
72
|
-
"supertest": "6.3.3",
|
|
73
|
-
"ts-jest": "^29.1.0",
|
|
74
|
-
"typescript": "^5.0.4"
|
|
34
|
+
"supertest": "6.3.3"
|
|
75
35
|
},
|
|
76
36
|
"dependencies": {
|
|
77
|
-
"@
|
|
78
|
-
"@chain-registry/
|
|
79
|
-
"@chain-registry/utils": "^1.22.1",
|
|
37
|
+
"@chain-registry/types": "^0.22.0",
|
|
38
|
+
"@chain-registry/utils": "^1.23.0",
|
|
80
39
|
"bfs-path": "^1.0.2",
|
|
81
40
|
"cross-fetch": "^3.1.5"
|
|
82
41
|
},
|
|
83
|
-
"
|
|
42
|
+
"keywords": [
|
|
43
|
+
"chain-registry",
|
|
44
|
+
"web3",
|
|
45
|
+
"cosmos",
|
|
46
|
+
"interchain",
|
|
47
|
+
"tokens"
|
|
48
|
+
],
|
|
49
|
+
"gitHead": "6ab76eb78930252277ff9ed0bfd035fd9d91a3d6"
|
|
84
50
|
}
|
package/registry.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChainRegistryClient = void 0;
|
|
4
|
+
const chain_util_1 = require("./chain-util");
|
|
5
|
+
const fetcher_1 = require("./fetcher");
|
|
6
|
+
class ChainRegistryClient extends fetcher_1.ChainRegistryFetcher {
|
|
7
|
+
_options = {
|
|
8
|
+
chainNames: [],
|
|
9
|
+
baseUrl: 'https://raw.githubusercontent.com/cosmos/chain-registry/master'
|
|
10
|
+
};
|
|
11
|
+
constructor(options) {
|
|
12
|
+
const { chainNames, assetListNames, ibcNamePairs, baseUrl, ...restOptions } = options;
|
|
13
|
+
super(restOptions);
|
|
14
|
+
this._options = {
|
|
15
|
+
...this._options,
|
|
16
|
+
chainNames: chainNames || this._options.chainNames,
|
|
17
|
+
assetListNames: assetListNames || this._options.assetListNames,
|
|
18
|
+
ibcNamePairs: ibcNamePairs || this._options.ibcNamePairs,
|
|
19
|
+
baseUrl: baseUrl || this._options.baseUrl
|
|
20
|
+
};
|
|
21
|
+
this.generateUrls();
|
|
22
|
+
}
|
|
23
|
+
generateUrls() {
|
|
24
|
+
const { chainNames, assetListNames, ibcNamePairs, baseUrl } = this._options;
|
|
25
|
+
const chainUrls = chainNames.map((chain) => {
|
|
26
|
+
return `${baseUrl}/${chain}/chain.json`;
|
|
27
|
+
});
|
|
28
|
+
const assetlistUrls = (assetListNames || chainNames).map((chain) => {
|
|
29
|
+
return `${baseUrl}/${chain}/assetlist.json`;
|
|
30
|
+
});
|
|
31
|
+
let namePairs = ibcNamePairs;
|
|
32
|
+
if (!namePairs) {
|
|
33
|
+
namePairs = [];
|
|
34
|
+
for (let i = 0; i < chainNames.length; i++) {
|
|
35
|
+
for (let j = i + 1; j < chainNames.length; j++) {
|
|
36
|
+
namePairs.push([chainNames[i], chainNames[j]]);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const ibcUrls = namePairs.map((namePair) => {
|
|
41
|
+
const fileName = namePair[0].localeCompare(namePair[1]) <= 0
|
|
42
|
+
? `${namePair[0]}-${namePair[1]}.json`
|
|
43
|
+
: `${namePair[1]}-${namePair[0]}.json`;
|
|
44
|
+
return `${baseUrl}/_IBC/${fileName}`;
|
|
45
|
+
});
|
|
46
|
+
this.urls = [
|
|
47
|
+
...new Set([
|
|
48
|
+
...chainUrls,
|
|
49
|
+
...assetlistUrls,
|
|
50
|
+
...ibcUrls,
|
|
51
|
+
...(this.urls || [])
|
|
52
|
+
])
|
|
53
|
+
];
|
|
54
|
+
}
|
|
55
|
+
getChainUtil(chainName) {
|
|
56
|
+
const chainInfo = this.getChainInfo(chainName);
|
|
57
|
+
return new chain_util_1.ChainRegistryChainUtil({
|
|
58
|
+
chainName: chainName,
|
|
59
|
+
chainInfo: chainInfo
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.ChainRegistryClient = ChainRegistryClient;
|
|
64
|
+
//# sourceMappingURL=registry.js.map
|
package/registry.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":";;;AAAA,6CAAsD;AACtD,uCAA8E;AAU9E,MAAa,mBAAoB,SAAQ,8BAAoB;IACjD,QAAQ,GAA+B;QAC/C,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,gEAAgE;KAC1E,CAAC;IAEF,YAAY,OAAmC;QAC7C,MAAM,EACJ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,OAAO,EACP,GAAG,WAAW,EACf,GAAG,OAAO,CAAC;QAEZ,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,IAAI,CAAC,QAAQ;YAChB,UAAU,EAAE,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU;YAClD,cAAc,EAAE,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc;YAC9D,YAAY,EAAE,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY;YACxD,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;SAC1C,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,YAAY;QACV,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE5E,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzC,OAAO,GAAG,OAAO,IAAI,KAAK,aAAa,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,CAAC,cAAc,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjE,OAAO,GAAG,OAAO,IAAI,KAAK,iBAAiB,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,GAAG,YAAY,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACzC,MAAM,QAAQ,GACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO;gBACtC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3C,OAAO,GAAG,OAAO,SAAS,QAAQ,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG;YACV,GAAG,IAAI,GAAG,CAAC;gBACT,GAAG,SAAS;gBACZ,GAAG,aAAa;gBAChB,GAAG,OAAO;gBACV,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;aACrB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,SAAiB;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO,IAAI,mCAAsB,CAAC;YAChC,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;CACF;AAxED,kDAwEC"}
|
package/main/chain-info.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.ChainInfo = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var _utils = require("@chain-registry/utils");
|
|
12
|
-
var ChainInfo = exports.ChainInfo = /*#__PURE__*/function () {
|
|
13
|
-
function ChainInfo(options) {
|
|
14
|
-
(0, _classCallCheck2["default"])(this, ChainInfo);
|
|
15
|
-
(0, _defineProperty2["default"])(this, "chainName", void 0);
|
|
16
|
-
(0, _defineProperty2["default"])(this, "fetcher", void 0);
|
|
17
|
-
(0, _defineProperty2["default"])(this, "_chain", void 0);
|
|
18
|
-
(0, _defineProperty2["default"])(this, "_assetList", void 0);
|
|
19
|
-
(0, _defineProperty2["default"])(this, "_assetLists", void 0);
|
|
20
|
-
(0, _defineProperty2["default"])(this, "_ibcData", []);
|
|
21
|
-
this.chainName = options.chainName;
|
|
22
|
-
this.fetcher = options.fetcher;
|
|
23
|
-
this.refresh();
|
|
24
|
-
}
|
|
25
|
-
return (0, _createClass2["default"])(ChainInfo, [{
|
|
26
|
-
key: "refresh",
|
|
27
|
-
value: function refresh() {
|
|
28
|
-
this._assetList = this.fetcher.getChainAssetList(this.chainName);
|
|
29
|
-
this._ibcData = this.fetcher.getChainIbcData(this.chainName);
|
|
30
|
-
this._chain = this.fetcher.getChain(this.chainName);
|
|
31
|
-
var supportedChains = this._ibcData.reduce(function (m, v) {
|
|
32
|
-
if (!m.includes(v.chain_1.chain_name)) m.push(v.chain_1.chain_name);
|
|
33
|
-
if (!m.includes(v.chain_2.chain_name)) m.push(v.chain_2.chain_name);
|
|
34
|
-
return m;
|
|
35
|
-
}, []);
|
|
36
|
-
this._assetLists = this.fetcher.assetLists.filter(function (list) {
|
|
37
|
-
return supportedChains.includes(list.chain_name);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
}, {
|
|
41
|
-
key: "chain",
|
|
42
|
-
get: function get() {
|
|
43
|
-
return this._chain;
|
|
44
|
-
}
|
|
45
|
-
}, {
|
|
46
|
-
key: "nativeAssetList",
|
|
47
|
-
get: function get() {
|
|
48
|
-
return this._assetList;
|
|
49
|
-
}
|
|
50
|
-
}, {
|
|
51
|
-
key: "assetLists",
|
|
52
|
-
get: function get() {
|
|
53
|
-
return (0, _utils.getAssetLists)(this.chainName, this._ibcData, this._assetLists);
|
|
54
|
-
}
|
|
55
|
-
}]);
|
|
56
|
-
}();
|
package/main/chain-util.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.ChainRegistryChainUtil = void 0;
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
var _utils = require("@chain-registry/utils");
|
|
13
|
-
var ChainRegistryChainUtil = exports.ChainRegistryChainUtil = /*#__PURE__*/function () {
|
|
14
|
-
function ChainRegistryChainUtil(options) {
|
|
15
|
-
(0, _classCallCheck2["default"])(this, ChainRegistryChainUtil);
|
|
16
|
-
(0, _defineProperty2["default"])(this, "_assets", []);
|
|
17
|
-
(0, _defineProperty2["default"])(this, "_chainName", void 0);
|
|
18
|
-
var chainName = options.chainName,
|
|
19
|
-
chainInfo = options.chainInfo;
|
|
20
|
-
this._chainName = options.chainName;
|
|
21
|
-
this._assets = [{
|
|
22
|
-
assets: [].concat((0, _toConsumableArray2["default"])(chainInfo.nativeAssetList.assets), (0, _toConsumableArray2["default"])(chainInfo.assetLists.flatMap(function (_ref) {
|
|
23
|
-
var assets = _ref.assets;
|
|
24
|
-
return assets;
|
|
25
|
-
}))),
|
|
26
|
-
chain_name: chainName
|
|
27
|
-
}];
|
|
28
|
-
}
|
|
29
|
-
return (0, _createClass2["default"])(ChainRegistryChainUtil, [{
|
|
30
|
-
key: "getAssetByDenom",
|
|
31
|
-
value: function getAssetByDenom(denom) {
|
|
32
|
-
return (0, _utils.getAssetByDenom)(this._assets, denom, this._chainName);
|
|
33
|
-
}
|
|
34
|
-
}, {
|
|
35
|
-
key: "getAssetBySymbol",
|
|
36
|
-
value: function getAssetBySymbol(symbol) {
|
|
37
|
-
return (0, _utils.getAssetBySymbol)(this._assets, symbol, this._chainName);
|
|
38
|
-
}
|
|
39
|
-
}, {
|
|
40
|
-
key: "getDenomByCoinGeckoId",
|
|
41
|
-
value: function getDenomByCoinGeckoId(coinGeckoId) {
|
|
42
|
-
return (0, _utils.getDenomByCoinGeckoId)(this._assets, coinGeckoId, this._chainName);
|
|
43
|
-
}
|
|
44
|
-
}, {
|
|
45
|
-
key: "getCoinGeckoIdByDenom",
|
|
46
|
-
value: function getCoinGeckoIdByDenom(coinGeckoId) {
|
|
47
|
-
return (0, _utils.getCoinGeckoIdByDenom)(this._assets, coinGeckoId, {
|
|
48
|
-
chainName: this._chainName
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}, {
|
|
52
|
-
key: "getSymbolByDenom",
|
|
53
|
-
value: function getSymbolByDenom(denom) {
|
|
54
|
-
return (0, _utils.getSymbolByDenom)(this._assets, denom, this._chainName);
|
|
55
|
-
}
|
|
56
|
-
}, {
|
|
57
|
-
key: "getDenomBySymbol",
|
|
58
|
-
value: function getDenomBySymbol(symbol) {
|
|
59
|
-
return (0, _utils.getDenomBySymbol)(this._assets, symbol, this._chainName);
|
|
60
|
-
}
|
|
61
|
-
}, {
|
|
62
|
-
key: "getExponentByDenom",
|
|
63
|
-
value: function getExponentByDenom(denom) {
|
|
64
|
-
return (0, _utils.getExponentByDenom)(this._assets, denom, this._chainName);
|
|
65
|
-
}
|
|
66
|
-
}, {
|
|
67
|
-
key: "getExponentBySymbol",
|
|
68
|
-
value: function getExponentBySymbol(symbol) {
|
|
69
|
-
return (0, _utils.getExponentBySymbol)(this._assets, symbol, this._chainName);
|
|
70
|
-
}
|
|
71
|
-
}, {
|
|
72
|
-
key: "getTokenLogoByDenom",
|
|
73
|
-
value: function getTokenLogoByDenom(denom) {
|
|
74
|
-
return (0, _utils.getTokenLogoByDenom)(this._assets, denom, this._chainName);
|
|
75
|
-
}
|
|
76
|
-
}, {
|
|
77
|
-
key: "getTokenNameByDenom",
|
|
78
|
-
value: function getTokenNameByDenom(denom) {
|
|
79
|
-
return (0, _utils.getTokenNameByDenom)(this._assets, denom, this._chainName);
|
|
80
|
-
}
|
|
81
|
-
}, {
|
|
82
|
-
key: "getChainNameByDenom",
|
|
83
|
-
value: function getChainNameByDenom(denom) {
|
|
84
|
-
return (0, _utils.getChainNameByDenom)(this._assets, denom);
|
|
85
|
-
}
|
|
86
|
-
}, {
|
|
87
|
-
key: "mapCoinGeckoPricesToDenoms",
|
|
88
|
-
value: function mapCoinGeckoPricesToDenoms(prices) {
|
|
89
|
-
return (0, _utils.mapCoinGeckoPricesToDenoms)(this._assets, prices);
|
|
90
|
-
}
|
|
91
|
-
}, {
|
|
92
|
-
key: "convertBaseUnitToDollarValue",
|
|
93
|
-
value: function convertBaseUnitToDollarValue(prices, symbol, amount) {
|
|
94
|
-
return (0, _utils.convertBaseUnitToDollarValue)(this._assets, prices, symbol, amount, this._chainName);
|
|
95
|
-
}
|
|
96
|
-
}, {
|
|
97
|
-
key: "convertDollarValueToBaseUnit",
|
|
98
|
-
value: function convertDollarValueToBaseUnit(prices, symbol, value) {
|
|
99
|
-
return (0, _utils.convertDollarValueToBaseUnit)(this._assets, prices, symbol, value, this._chainName);
|
|
100
|
-
}
|
|
101
|
-
}, {
|
|
102
|
-
key: "convertBaseUnitToDisplayUnit",
|
|
103
|
-
value: function convertBaseUnitToDisplayUnit(symbol, amount) {
|
|
104
|
-
return (0, _utils.convertBaseUnitToDisplayUnit)(this._assets, symbol, amount, this._chainName);
|
|
105
|
-
}
|
|
106
|
-
}, {
|
|
107
|
-
key: "convertDisplayUnitToBaseUnit",
|
|
108
|
-
value: function convertDisplayUnitToBaseUnit(symbol, amount) {
|
|
109
|
-
return (0, _utils.convertDisplayUnitToBaseUnit)(this._assets, symbol, amount, this._chainName);
|
|
110
|
-
}
|
|
111
|
-
}]);
|
|
112
|
-
}();
|
package/main/fetcher.js
DELETED
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.ChainRegistryFetcher = void 0;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
var _utils = require("@chain-registry/utils");
|
|
14
|
-
var _bfsPath = require("bfs-path");
|
|
15
|
-
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
16
|
-
var _chainInfo = require("./chain-info");
|
|
17
|
-
var fetchUrl = function fetchUrl(url) {
|
|
18
|
-
return (0, _crossFetch["default"])(url).then(function (res) {
|
|
19
|
-
if (res.status >= 400) {
|
|
20
|
-
throw new Error('Bad response');
|
|
21
|
-
}
|
|
22
|
-
return res.json();
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
// QUESTION: should ChainRegistryFetcher just be ChainRegistry?
|
|
26
|
-
var ChainRegistryFetcher = exports.ChainRegistryFetcher = /*#__PURE__*/function () {
|
|
27
|
-
function ChainRegistryFetcher() {
|
|
28
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
29
|
-
(0, _classCallCheck2["default"])(this, ChainRegistryFetcher);
|
|
30
|
-
(0, _defineProperty2["default"])(this, "urls", []);
|
|
31
|
-
(0, _defineProperty2["default"])(this, "_assetLists", []);
|
|
32
|
-
(0, _defineProperty2["default"])(this, "_chains", []);
|
|
33
|
-
(0, _defineProperty2["default"])(this, "_ibcData", []);
|
|
34
|
-
(0, _defineProperty2["default"])(this, "chainInfoList", []);
|
|
35
|
-
//
|
|
36
|
-
if (options.chains) {
|
|
37
|
-
this._chains = options.chains;
|
|
38
|
-
}
|
|
39
|
-
if (options.assetLists) {
|
|
40
|
-
this._assetLists = options.assetLists;
|
|
41
|
-
}
|
|
42
|
-
if (options.ibcData) {
|
|
43
|
-
this._ibcData = options.ibcData;
|
|
44
|
-
}
|
|
45
|
-
if (options.urls) {
|
|
46
|
-
this.urls = options.urls;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return (0, _createClass2["default"])(ChainRegistryFetcher, [{
|
|
50
|
-
key: "chains",
|
|
51
|
-
get: function get() {
|
|
52
|
-
return this._chains;
|
|
53
|
-
}
|
|
54
|
-
}, {
|
|
55
|
-
key: "assetLists",
|
|
56
|
-
get: function get() {
|
|
57
|
-
return this._assetLists;
|
|
58
|
-
}
|
|
59
|
-
}, {
|
|
60
|
-
key: "ibcData",
|
|
61
|
-
get: function get() {
|
|
62
|
-
return this._ibcData;
|
|
63
|
-
}
|
|
64
|
-
}, {
|
|
65
|
-
key: "getChain",
|
|
66
|
-
value: function getChain(chainName) {
|
|
67
|
-
return this._chains.find(function (chain) {
|
|
68
|
-
return chain.chain_name === chainName;
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}, {
|
|
72
|
-
key: "getChainAssetList",
|
|
73
|
-
value: function getChainAssetList(chainName) {
|
|
74
|
-
return this._assetLists.find(function (list) {
|
|
75
|
-
return list.chain_name === chainName;
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
}, {
|
|
79
|
-
key: "getGeneratedAssetLists",
|
|
80
|
-
value: function getGeneratedAssetLists(chainName) {
|
|
81
|
-
return (0, _utils.getAssetLists)(chainName, this._ibcData, this._assetLists);
|
|
82
|
-
}
|
|
83
|
-
}, {
|
|
84
|
-
key: "getChainIbcData",
|
|
85
|
-
value: function getChainIbcData(chainName) {
|
|
86
|
-
return this._ibcData.filter(function (info) {
|
|
87
|
-
return info.chain_1.chain_name === chainName || info.chain_2.chain_name === chainName;
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
}, {
|
|
91
|
-
key: "getChainInfo",
|
|
92
|
-
value: function getChainInfo(chainName) {
|
|
93
|
-
var chainInfo = this.chainInfoList.find(function (it) {
|
|
94
|
-
return it.chainName === chainName;
|
|
95
|
-
});
|
|
96
|
-
if (!chainInfo) {
|
|
97
|
-
chainInfo = new _chainInfo.ChainInfo({
|
|
98
|
-
chainName: chainName,
|
|
99
|
-
fetcher: this
|
|
100
|
-
});
|
|
101
|
-
this.chainInfoList.push(chainInfo);
|
|
102
|
-
}
|
|
103
|
-
return chainInfo;
|
|
104
|
-
}
|
|
105
|
-
}, {
|
|
106
|
-
key: "upsertChain",
|
|
107
|
-
value: function upsertChain(data) {
|
|
108
|
-
var found = this._chains.find(function (chain) {
|
|
109
|
-
return chain.chain_name === data.chain_name && chain.network_type === data.network_type;
|
|
110
|
-
});
|
|
111
|
-
if (!found) {
|
|
112
|
-
this._chains.push(data);
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
this._chains = this._chains.map(function (chain) {
|
|
116
|
-
if (chain.chain_name === data.chain_name && chain.network_type === data.network_type) {
|
|
117
|
-
return data;
|
|
118
|
-
} else {
|
|
119
|
-
return chain;
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
}, {
|
|
124
|
-
key: "updateAssetList",
|
|
125
|
-
value: function updateAssetList(data) {
|
|
126
|
-
var found = this._assetLists.find(function (list) {
|
|
127
|
-
return list.chain_name === data.chain_name;
|
|
128
|
-
});
|
|
129
|
-
if (!found) {
|
|
130
|
-
this._assetLists.push(data);
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
this._assetLists = this._assetLists.map(function (list) {
|
|
134
|
-
if (list.chain_name === data.chain_name) {
|
|
135
|
-
return data;
|
|
136
|
-
} else {
|
|
137
|
-
return list;
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}, {
|
|
142
|
-
key: "upsertIbcData",
|
|
143
|
-
value: function upsertIbcData(data) {
|
|
144
|
-
var found = this._ibcData.find(function (info) {
|
|
145
|
-
return info.chain_1.chain_name === data.chain_1.chain_name && info.chain_2.chain_name === data.chain_2.chain_name;
|
|
146
|
-
});
|
|
147
|
-
if (!found) {
|
|
148
|
-
this._ibcData.push(data);
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
this._ibcData = this._ibcData.map(function (info) {
|
|
152
|
-
if (info.chain_1.chain_name === data.chain_1.chain_name && info.chain_2.chain_name === data.chain_2.chain_name) {
|
|
153
|
-
return data;
|
|
154
|
-
} else {
|
|
155
|
-
return info;
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
}, {
|
|
160
|
-
key: "update",
|
|
161
|
-
value: function update(data) {
|
|
162
|
-
if (!data.$schema) throw new Error('not a registered JSON schema type');
|
|
163
|
-
var type = (0, _bfsPath.basename)(data.$schema, '.schema.json');
|
|
164
|
-
switch (type) {
|
|
165
|
-
case 'chain':
|
|
166
|
-
this.upsertChain(data);
|
|
167
|
-
break;
|
|
168
|
-
case 'assetlist':
|
|
169
|
-
this.updateAssetList(data);
|
|
170
|
-
break;
|
|
171
|
-
case 'ibc_data':
|
|
172
|
-
this.upsertIbcData(data);
|
|
173
|
-
break;
|
|
174
|
-
default:
|
|
175
|
-
throw new Error('unknown schema type');
|
|
176
|
-
}
|
|
177
|
-
this.chainInfoList.forEach(function (chainInfo) {
|
|
178
|
-
chainInfo.refresh();
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
}, {
|
|
182
|
-
key: "fetch",
|
|
183
|
-
value: function () {
|
|
184
|
-
var _fetch = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(url) {
|
|
185
|
-
var data;
|
|
186
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
187
|
-
while (1) switch (_context.prev = _context.next) {
|
|
188
|
-
case 0:
|
|
189
|
-
_context.next = 2;
|
|
190
|
-
return fetchUrl(url);
|
|
191
|
-
case 2:
|
|
192
|
-
data = _context.sent;
|
|
193
|
-
this.update(data);
|
|
194
|
-
case 4:
|
|
195
|
-
case "end":
|
|
196
|
-
return _context.stop();
|
|
197
|
-
}
|
|
198
|
-
}, _callee, this);
|
|
199
|
-
}));
|
|
200
|
-
function fetch(_x) {
|
|
201
|
-
return _fetch.apply(this, arguments);
|
|
202
|
-
}
|
|
203
|
-
return fetch;
|
|
204
|
-
}()
|
|
205
|
-
}, {
|
|
206
|
-
key: "fetchUrls",
|
|
207
|
-
value: function () {
|
|
208
|
-
var _fetchUrls = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
209
|
-
var _this = this;
|
|
210
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
211
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
212
|
-
case 0:
|
|
213
|
-
return _context2.abrupt("return", Promise.all(this.urls.map(function (url) {
|
|
214
|
-
return _this.fetch(url);
|
|
215
|
-
})));
|
|
216
|
-
case 1:
|
|
217
|
-
case "end":
|
|
218
|
-
return _context2.stop();
|
|
219
|
-
}
|
|
220
|
-
}, _callee2, this);
|
|
221
|
-
}));
|
|
222
|
-
function fetchUrls() {
|
|
223
|
-
return _fetchUrls.apply(this, arguments);
|
|
224
|
-
}
|
|
225
|
-
return fetchUrls;
|
|
226
|
-
}()
|
|
227
|
-
}]);
|
|
228
|
-
}();
|
package/main/index.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _chainInfo = require("./chain-info");
|
|
7
|
-
Object.keys(_chainInfo).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _chainInfo[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function get() {
|
|
13
|
-
return _chainInfo[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
var _chainUtil = require("./chain-util");
|
|
18
|
-
Object.keys(_chainUtil).forEach(function (key) {
|
|
19
|
-
if (key === "default" || key === "__esModule") return;
|
|
20
|
-
if (key in exports && exports[key] === _chainUtil[key]) return;
|
|
21
|
-
Object.defineProperty(exports, key, {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
get: function get() {
|
|
24
|
-
return _chainUtil[key];
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
var _fetcher = require("./fetcher");
|
|
29
|
-
Object.keys(_fetcher).forEach(function (key) {
|
|
30
|
-
if (key === "default" || key === "__esModule") return;
|
|
31
|
-
if (key in exports && exports[key] === _fetcher[key]) return;
|
|
32
|
-
Object.defineProperty(exports, key, {
|
|
33
|
-
enumerable: true,
|
|
34
|
-
get: function get() {
|
|
35
|
-
return _fetcher[key];
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
var _registry = require("./registry");
|
|
40
|
-
Object.keys(_registry).forEach(function (key) {
|
|
41
|
-
if (key === "default" || key === "__esModule") return;
|
|
42
|
-
if (key in exports && exports[key] === _registry[key]) return;
|
|
43
|
-
Object.defineProperty(exports, key, {
|
|
44
|
-
enumerable: true,
|
|
45
|
-
get: function get() {
|
|
46
|
-
return _registry[key];
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
});
|