Socket
Socket
Sign inDemoInstall

@chain-registry/client

Package Overview
Dependencies
Maintainers
3
Versions
216
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@chain-registry/client - npm Package Compare versions

Comparing version 1.13.0 to 1.14.0

main/chain-info.js

8

CHANGELOG.md

@@ -6,2 +6,10 @@ # Change Log

# [1.14.0](https://github.com/cosmology-tech/chain-registry/compare/@chain-registry/client@1.13.0...@chain-registry/client@1.14.0) (2023-07-11)
**Note:** Version bump only for package @chain-registry/client
# [1.13.0](https://github.com/cosmology-tech/chain-registry/compare/@chain-registry/client@1.12.0...@chain-registry/client@1.13.0) (2023-07-08)

@@ -8,0 +16,0 @@

@@ -6,2 +6,35 @@ "use strict";

});
var _chainInfo = require("./chain-info");
Object.keys(_chainInfo).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _chainInfo[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _chainInfo[key];
}
});
});
var _chainUtil = require("./chain-util");
Object.keys(_chainUtil).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _chainUtil[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _chainUtil[key];
}
});
});
var _fetcher = require("./fetcher");
Object.keys(_fetcher).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _fetcher[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _fetcher[key];
}
});
});
var _registry = require("./registry");

@@ -8,0 +41,0 @@ Object.keys(_registry).forEach(function (key) {

314

main/registry.js

@@ -7,259 +7,85 @@ "use strict";

});
exports.ChainRegistryFetcher = exports.ChainInfo = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
exports.ChainRegistryClient = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _utils = require("@chain-registry/utils");
var _bfsPath = require("bfs-path");
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
var fetchUrl = function fetchUrl(url) {
return (0, _crossFetch["default"])(url).then(function (res) {
if (res.status >= 400) {
throw new Error('Bad response');
}
return res.json();
});
};
var ChainInfo = /*#__PURE__*/function () {
function ChainInfo(options) {
(0, _classCallCheck2["default"])(this, ChainInfo);
(0, _defineProperty2["default"])(this, "chain_name", void 0);
(0, _defineProperty2["default"])(this, "fetcher", void 0);
(0, _defineProperty2["default"])(this, "_asset_list", void 0);
(0, _defineProperty2["default"])(this, "_asset_lists", void 0);
(0, _defineProperty2["default"])(this, "_chain", void 0);
(0, _defineProperty2["default"])(this, "_ibc_data", []);
this.chain_name = options.chain_name;
this.fetcher = options.fetcher;
this.refresh();
var _chainUtil = require("./chain-util");
var _fetcher = require("./fetcher");
var _excluded = ["chainNames", "assetListNames", "ibcNamePairs", "baseUrl"];
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
var ChainRegistryClient = /*#__PURE__*/function (_ChainRegistryFetcher) {
(0, _inherits2["default"])(ChainRegistryClient, _ChainRegistryFetcher);
var _super = _createSuper(ChainRegistryClient);
function ChainRegistryClient(options) {
var _this;
(0, _classCallCheck2["default"])(this, ChainRegistryClient);
var chainNames = options.chainNames,
assetListNames = options.assetListNames,
ibcNamePairs = options.ibcNamePairs,
baseUrl = options.baseUrl,
restOptions = (0, _objectWithoutProperties2["default"])(options, _excluded);
_this = _super.call(this, restOptions);
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_options", {
chainNames: [],
baseUrl: 'https://raw.githubusercontent.com/cosmos/chain-registry/master'
});
_this._options = _objectSpread(_objectSpread({}, _this._options), {}, {
chainNames: chainNames || _this._options.chainNames,
assetListNames: assetListNames || _this._options.assetListNames,
ibcNamePairs: ibcNamePairs || _this._options.ibcNamePairs,
baseUrl: baseUrl || _this._options.baseUrl
});
_this.generateUrls();
return _this;
}
(0, _createClass2["default"])(ChainInfo, [{
key: "refresh",
value: function refresh() {
this._asset_list = this.fetcher.getChainAssetList(this.chain_name);
this._ibc_data = this.fetcher.getChainIbcData(this.chain_name);
this._chain = this.fetcher.getChain(this.chain_name);
var supportedChains = this._ibc_data.reduce(function (m, v) {
if (!m.includes(v.chain_1.chain_name)) m.push(v.chain_1.chain_name);
if (!m.includes(v.chain_2.chain_name)) m.push(v.chain_2.chain_name);
return m;
}, []);
this._asset_lists = this.fetcher.assetLists.filter(function (list) {
return supportedChains.includes(list.chain_name);
(0, _createClass2["default"])(ChainRegistryClient, [{
key: "generateUrls",
value: function generateUrls() {
var _this$_options = this._options,
chainNames = _this$_options.chainNames,
assetListNames = _this$_options.assetListNames,
ibcNamePairs = _this$_options.ibcNamePairs,
baseUrl = _this$_options.baseUrl;
var chainUrls = chainNames.map(function (chain) {
return "".concat(baseUrl, "/").concat(chain, "/chain.json");
});
}
}, {
key: "nativeAssetLists",
get: function get() {
return this._asset_list;
}
}, {
key: "chain",
get: function get() {
return this._chain;
}
}, {
key: "assetLists",
get: function get() {
return (0, _utils.getAssetLists)(this.chain_name, this._ibc_data, this._asset_lists);
}
}]);
return ChainInfo;
}(); // QUESTION: should ChainRegistryFetcher just be ChainRegistry?
exports.ChainInfo = ChainInfo;
var ChainRegistryFetcher = /*#__PURE__*/function () {
function ChainRegistryFetcher() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
(0, _classCallCheck2["default"])(this, ChainRegistryFetcher);
(0, _defineProperty2["default"])(this, "_asset_lists", []);
(0, _defineProperty2["default"])(this, "_chains", []);
(0, _defineProperty2["default"])(this, "_ibc_data", []);
(0, _defineProperty2["default"])(this, "urls", []);
//
if (options.assetLists) {
this._asset_lists = options.assetLists;
}
if (options.chains) {
this._chains = options.chains;
}
if (options.ibcData) {
this._ibc_data = options.ibcData;
}
if (options.urls) {
this.urls = options.urls;
}
}
(0, _createClass2["default"])(ChainRegistryFetcher, [{
key: "assetLists",
get: function get() {
return this._asset_lists;
}
}, {
key: "getChainAssetList",
value: function getChainAssetList(chainName) {
return this._asset_lists.find(function (list) {
return list.chain_name === chainName;
var assetlistUrls = (assetListNames || chainNames).map(function (chain) {
return "".concat(baseUrl, "/").concat(chain, "/assetlist.json");
});
}
}, {
key: "getGeneratedAssetLists",
value: function getGeneratedAssetLists(chainName) {
return (0, _utils.getAssetLists)(chainName, this._ibc_data, this._asset_lists);
}
}, {
key: "chains",
get: function get() {
return this._chains;
}
}, {
key: "getChain",
value: function getChain(chainName) {
return this._chains.find(function (chain) {
return chain.chain_name === chainName;
});
}
}, {
key: "ibcData",
get: function get() {
return this._ibc_data;
}
}, {
key: "getChainIbcData",
value: function getChainIbcData(chainName) {
return this._ibc_data.filter(function (info) {
return info.chain_1.chain_name === chainName || info.chain_2.chain_name === chainName;
});
}
}, {
key: "getChainInfo",
value: function getChainInfo(chainName) {
return new ChainInfo({
chain_name: chainName,
fetcher: this
});
}
}, {
key: "upsertChain",
value: function upsertChain(data) {
var found = this._chains.find(function (chain) {
return chain.chain_name === data.chain_name && chain.network_type === data.network_type;
});
if (!found) {
this._chains.push(data);
return;
}
this._chains = this._chains.map(function (chain) {
if (chain.chain_name === data.chain_name && chain.network_type === data.network_type) {
return data;
} else {
return chain;
var namePairs = ibcNamePairs;
if (!namePairs) {
namePairs = [];
for (var i = 0; i < chainNames.length; i++) {
for (var j = i + 1; j < chainNames.length; j++) {
namePairs.push([chainNames[i], chainNames[j]]);
}
}
});
}
}, {
key: "updateAssetList",
value: function updateAssetList(data) {
var found = this._asset_lists.find(function (list) {
return list.chain_name === data.chain_name;
});
if (!found) {
this._asset_lists.push(data);
return;
}
this._asset_lists = this._asset_lists.map(function (list) {
if (list.chain_name === data.chain_name) {
return data;
} else {
return list;
}
var ibcUrls = namePairs.map(function (namePair) {
var fileName = namePair[0].localeCompare(namePair[1]) <= 0 ? "".concat(namePair[0], "-").concat(namePair[1], ".json") : "".concat(namePair[1], "-").concat(namePair[0], ".json");
return "".concat(baseUrl, "/_IBC/").concat(fileName);
});
this.urls = [].concat((0, _toConsumableArray2["default"])(chainUrls), (0, _toConsumableArray2["default"])(assetlistUrls), (0, _toConsumableArray2["default"])(ibcUrls));
}
}, {
key: "upsertIbcData",
value: function upsertIbcData(data) {
var found = this._ibc_data.find(function (info) {
return info.chain_1.chain_name === data.chain_1.chain_name && info.chain_2.chain_name === data.chain_2.chain_name;
key: "getChainUtil",
value: function getChainUtil(chainName) {
var chainInfo = this.getChainInfo(chainName);
return new _chainUtil.ChainRegistryChainUtil({
chain_name: chainName,
chain_info: chainInfo
});
if (!found) {
this._ibc_data.push(data);
return;
}
this._ibc_data = this._ibc_data.map(function (info) {
if (info.chain_1.chain_name === data.chain_1.chain_name && info.chain_2.chain_name === data.chain_2.chain_name) {
return data;
} else {
return info;
}
});
}
}, {
key: "update",
value: function update(data) {
if (!data.$schema) throw new Error('not a registered JSON schema type');
var type = (0, _bfsPath.basename)(data.$schema, '.schema.json');
switch (type) {
case 'chain':
this.upsertChain(data);
break;
case 'assetlist':
this.updateAssetList(data);
break;
case 'ibc_data':
this.upsertIbcData(data);
break;
default:
throw new Error('unknown schema type');
}
}
}, {
key: "fetch",
value: function () {
var _fetch = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(url) {
var data;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return fetchUrl(url);
case 2:
data = _context.sent;
this.update(data);
case 4:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function fetch(_x) {
return _fetch.apply(this, arguments);
}
return fetch;
}()
}, {
key: "fetchUrls",
value: function () {
var _fetchUrls = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
var _this = this;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
return _context2.abrupt("return", Promise.all(this.urls.map(function (url) {
return _this.fetch(url);
})));
case 1:
case "end":
return _context2.stop();
}
}, _callee2, this);
}));
function fetchUrls() {
return _fetchUrls.apply(this, arguments);
}
return fetchUrls;
}()
}]);
return ChainRegistryFetcher;
}();
exports.ChainRegistryFetcher = ChainRegistryFetcher;
return ChainRegistryClient;
}(_fetcher.ChainRegistryFetcher);
exports.ChainRegistryClient = ChainRegistryClient;
{
"name": "@chain-registry/client",
"version": "1.13.0",
"version": "1.14.0",
"description": "Chain Registry Client",

@@ -77,7 +77,7 @@ "author": "Dan Lynch <pyramation@gmail.com>",

"@chain-registry/types": "^0.16.0",
"@chain-registry/utils": "^1.12.0",
"@chain-registry/utils": "^1.13.0",
"bfs-path": "^1.0.2",
"cross-fetch": "^3.1.5"
},
"gitHead": "cd90a190410a65d842f35fc7a053c41fbd310866"
"gitHead": "235baabaa618def6fc1bd1de9cd84660c30d1d71"
}

@@ -0,1 +1,4 @@

export * from './chain-info';
export * from './chain-util';
export * from './fetcher';
export * from './registry';

@@ -1,45 +0,16 @@

import { AssetList, Chain, ChainRegistry, IBCInfo } from '@chain-registry/types';
export interface ChainRegistryFetcherOptions {
assetLists?: AssetList[];
chains?: Chain[];
ibcData?: IBCInfo[];
urls?: string[];
import { ChainRegistryChainUtil } from './chain-util';
import { ChainRegistryFetcher, ChainRegistryFetcherOptions } from './fetcher';
export interface ChainRegistryClientOptions
extends ChainRegistryFetcherOptions {
chainNames: string[];
assetListNames?: string[];
ibcNamePairs?: string[][];
baseUrl?: string;
}
export interface ChainInfoOptions {
chain_name: string;
fetcher: ChainRegistryFetcher;
export declare class ChainRegistryClient extends ChainRegistryFetcher {
protected _options: ChainRegistryClientOptions;
constructor(options: ChainRegistryClientOptions);
generateUrls(): void;
getChainUtil(chainName: string): ChainRegistryChainUtil;
}
export declare class ChainInfo {
chain_name: string;
fetcher: ChainRegistryFetcher;
protected _asset_list: AssetList;
protected _asset_lists: AssetList[];
protected _chain: Chain;
protected _ibc_data: IBCInfo[];
constructor(options: ChainInfoOptions);
refresh(): void;
get nativeAssetLists(): AssetList;
get chain(): Chain;
get assetLists(): any[];
}
export declare class ChainRegistryFetcher implements ChainRegistry {
protected _asset_lists: AssetList[];
protected _chains: Chain[];
protected _ibc_data: IBCInfo[];
urls: string[];
constructor(options?: ChainRegistryFetcherOptions);
get assetLists(): AssetList[];
getChainAssetList(chainName: string): AssetList;
getGeneratedAssetLists(chainName: string): AssetList[];
get chains(): Chain[];
getChain(chainName: string): Chain;
get ibcData(): IBCInfo[];
getChainIbcData(chainName: string): IBCInfo[];
getChainInfo(chainName: string): ChainInfo;
upsertChain(data: Chain): void;
updateAssetList(data: AssetList): void;
upsertIbcData(data: IBCInfo): void;
update(data: Chain | AssetList | IBCInfo): void;
fetch(url: any): Promise<void>;
fetchUrls(): Promise<void[]>;
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc