@chain-registry/utils 1.22.1 → 1.23.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/main/assets.js DELETED
@@ -1,126 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getTokenNameByDenom = exports.getTokenLogoByDenom = exports.getSymbolByDenom = exports.getNativeTokenByChainName = exports.getExponentFromAsset = exports.getExponentBySymbol = exports.getExponentByDenom = exports.getDenomBySymbol = exports.getDenomByCoinGeckoId = exports.getCoinGeckoIdByDenom = exports.getChainNameByStakingDenom = exports.getChainNameByDenom = exports.getChainLogo = exports.getChainByStakingDenom = exports.getAssetBySymbol = exports.getAssetByDenom = void 0;
7
- var _utils = require("./utils");
8
- var getAssetByKeyValue = function getAssetByKeyValue(assets, key, value, chainName) {
9
- var filteredAssets = assets.filter(function (_ref) {
10
- var chain_name = _ref.chain_name;
11
- return !chainName || chain_name === chainName;
12
- }).flatMap(function (_ref2) {
13
- var assets = _ref2.assets;
14
- return assets;
15
- });
16
- return (0, _utils.customFind)(filteredAssets, function (asset) {
17
- return asset[key] === value;
18
- });
19
- };
20
- var getAssetByDenom = exports.getAssetByDenom = function getAssetByDenom(assets, denom, chainName) {
21
- return getAssetByKeyValue(assets, 'base', denom, chainName);
22
- };
23
- var getAssetBySymbol = exports.getAssetBySymbol = function getAssetBySymbol(assets, symbol, chainName) {
24
- return getAssetByKeyValue(assets, 'symbol', symbol, chainName);
25
- };
26
- var getDenomByCoinGeckoId = exports.getDenomByCoinGeckoId = function getDenomByCoinGeckoId(assets, coinGeckoId, chainName) {
27
- var _getAssetByKeyValue;
28
- return (_getAssetByKeyValue = getAssetByKeyValue(assets, 'coingecko_id', coinGeckoId, chainName)) === null || _getAssetByKeyValue === void 0 ? void 0 : _getAssetByKeyValue.base;
29
- };
30
- var getCoinGeckoIdByDenom = exports.getCoinGeckoIdByDenom = function getCoinGeckoIdByDenom(assets, denom) {
31
- var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
32
- chainName = _ref3.chainName,
33
- _ref3$allowTestnet = _ref3.allowTestnet,
34
- allowTestnet = _ref3$allowTestnet === void 0 ? false : _ref3$allowTestnet,
35
- _ref3$customAssetFilt = _ref3.customAssetFilter,
36
- customAssetFilter = _ref3$customAssetFilt === void 0 ? function () {
37
- return true;
38
- } : _ref3$customAssetFilt,
39
- _ref3$excludedChainNa = _ref3.excludedChainNames,
40
- excludedChainNames = _ref3$excludedChainNa === void 0 ? [] : _ref3$excludedChainNa;
41
- var filteredAssetLists = assets.filter(function (_ref4) {
42
- var chain_name = _ref4.chain_name;
43
- return (!chainName || chain_name === chainName) && (allowTestnet || !chain_name.includes('testnet')) && !excludedChainNames.includes(chain_name);
44
- });
45
- var filteredAssets = filteredAssetLists.flatMap(function (_ref5) {
46
- var assets = _ref5.assets;
47
- return assets;
48
- }).filter(function (_ref6) {
49
- var coingecko_id = _ref6.coingecko_id;
50
- return coingecko_id;
51
- }).filter(customAssetFilter);
52
- var asset = filteredAssets.find(function (_ref7) {
53
- var base = _ref7.base;
54
- return base === denom;
55
- });
56
- return asset === null || asset === void 0 ? void 0 : asset.coingecko_id;
57
- };
58
- var getSymbolByDenom = exports.getSymbolByDenom = function getSymbolByDenom(assets, denom, chainName) {
59
- var _getAssetByDenom;
60
- return (_getAssetByDenom = getAssetByDenom(assets, denom, chainName)) === null || _getAssetByDenom === void 0 ? void 0 : _getAssetByDenom.symbol;
61
- };
62
- var getDenomBySymbol = exports.getDenomBySymbol = function getDenomBySymbol(assets, symbol, chainName) {
63
- var _getAssetByKeyValue2;
64
- return (_getAssetByKeyValue2 = getAssetByKeyValue(assets, 'symbol', symbol, chainName)) === null || _getAssetByKeyValue2 === void 0 ? void 0 : _getAssetByKeyValue2.base;
65
- };
66
- var getExponentFromAsset = exports.getExponentFromAsset = function getExponentFromAsset(asset) {
67
- var _asset$denom_units$fi;
68
- return (_asset$denom_units$fi = asset.denom_units.find(function (_ref8) {
69
- var denom = _ref8.denom;
70
- return denom === asset.display;
71
- })) === null || _asset$denom_units$fi === void 0 ? void 0 : _asset$denom_units$fi.exponent;
72
- };
73
- var getExponentByDenom = exports.getExponentByDenom = function getExponentByDenom(assets, denom, chainName) {
74
- var asset = getAssetByDenom(assets, denom, chainName);
75
- return asset ? getExponentFromAsset(asset) : undefined;
76
- };
77
- var getExponentBySymbol = exports.getExponentBySymbol = function getExponentBySymbol(assets, symbol, chainName) {
78
- var asset = getAssetBySymbol(assets, symbol, chainName);
79
- return asset ? getExponentFromAsset(asset) : undefined;
80
- };
81
- var getNativeTokenByChainName = exports.getNativeTokenByChainName = function getNativeTokenByChainName(assets, chainName) {
82
- var assetList = (0, _utils.customFind)(assets, function (assetList) {
83
- return assetList.chain_name === chainName && !assetList.assets[0].base.startsWith('ibc/');
84
- });
85
- return assetList === null || assetList === void 0 ? void 0 : assetList.assets[0];
86
- };
87
- var getTokenLogoByDenom = exports.getTokenLogoByDenom = function getTokenLogoByDenom(assets, denom, chainName) {
88
- var asset = getAssetByDenom(assets, denom, chainName);
89
- return Object.values((asset === null || asset === void 0 ? void 0 : asset.logo_URIs) || {})[0];
90
- };
91
- var getChainLogo = exports.getChainLogo = function getChainLogo(assets, chainName) {
92
- var nativeToken = getNativeTokenByChainName(assets, chainName);
93
- return Object.values((nativeToken === null || nativeToken === void 0 ? void 0 : nativeToken.logo_URIs) || {})[0];
94
- };
95
- var getTokenNameByDenom = exports.getTokenNameByDenom = function getTokenNameByDenom(assets, denom, chainName) {
96
- var asset = getAssetByDenom(assets, denom, chainName);
97
- return asset === null || asset === void 0 ? void 0 : asset.name;
98
- };
99
- var getChainNameByDenom = exports.getChainNameByDenom = function getChainNameByDenom(assets, denom) {
100
- var _customFind;
101
- var isIbcDenom = denom.startsWith('ibc/');
102
- if (isIbcDenom) {
103
- var _asset$traces, _asset$traces$find, _asset$traces$find$co;
104
- var _asset = getAssetByDenom(assets, denom);
105
- return _asset === null || _asset === void 0 ? void 0 : (_asset$traces = _asset.traces) === null || _asset$traces === void 0 ? void 0 : (_asset$traces$find = _asset$traces.find(function (t) {
106
- return t.type === 'ibc';
107
- })) === null || _asset$traces$find === void 0 ? void 0 : (_asset$traces$find$co = _asset$traces$find.counterparty) === null || _asset$traces$find$co === void 0 ? void 0 : _asset$traces$find$co.chain_name;
108
- }
109
- return (_customFind = (0, _utils.customFind)(assets, function (assetList) {
110
- return assetList.assets.some(function (asset) {
111
- return asset.base === denom;
112
- });
113
- })) === null || _customFind === void 0 ? void 0 : _customFind.chain_name;
114
- };
115
- var getChainByStakingDenom = exports.getChainByStakingDenom = function getChainByStakingDenom(chains, denom) {
116
- return (0, _utils.customFind)(chains, function (chain) {
117
- var _chain$staking;
118
- return !!((_chain$staking = chain.staking) !== null && _chain$staking !== void 0 && _chain$staking.staking_tokens.find(function (token) {
119
- return token.denom === denom;
120
- }));
121
- });
122
- };
123
- var getChainNameByStakingDenom = exports.getChainNameByStakingDenom = function getChainNameByStakingDenom(chains, denom) {
124
- var _getChainByStakingDen;
125
- return (_getChainByStakingDen = getChainByStakingDenom(chains, denom)) === null || _getChainByStakingDen === void 0 ? void 0 : _getChainByStakingDen.chain_name;
126
- };
package/main/calc.js DELETED
@@ -1,62 +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.roundDown = exports.mapCoinGeckoPricesToDenoms = exports.convertDollarValueToBaseUnit = exports.convertDisplayUnitToBaseUnit = exports.convertBaseUnitToDollarValue = exports.convertBaseUnitToDisplayUnit = void 0;
8
- var _bignumber = _interopRequireDefault(require("bignumber.js"));
9
- var _assets = require("./assets");
10
- var mapCoinGeckoPricesToDenoms = exports.mapCoinGeckoPricesToDenoms = function mapCoinGeckoPricesToDenoms(assets, prices) {
11
- return Object.keys(prices).reduce(function (res, geckoId) {
12
- var denom = (0, _assets.getDenomByCoinGeckoId)(assets, geckoId);
13
- if (!denom) {
14
- throw new Error("No denom found for CoinGecko ID: ".concat(geckoId));
15
- }
16
- res[denom] = prices[geckoId].usd;
17
- return res;
18
- }, {});
19
- };
20
- var roundDown = exports.roundDown = function roundDown(value) {
21
- return new _bignumber["default"](value).decimalPlaces(0, _bignumber["default"].ROUND_DOWN).toString();
22
- };
23
- var getAssetInfo = function getAssetInfo(assets, symbol, chainName) {
24
- var asset = (0, _assets.getAssetBySymbol)(assets, symbol, chainName);
25
- var denom = asset === null || asset === void 0 ? void 0 : asset.base;
26
- var exponent = asset ? (0, _assets.getExponentFromAsset)(asset) : undefined;
27
- if (!denom || !exponent) {
28
- throw new Error("No denom or exponent found for symbol: ".concat(symbol));
29
- }
30
- return {
31
- denom: denom,
32
- exponent: exponent
33
- };
34
- };
35
- var shiftDecimalPlaces = function shiftDecimalPlaces(amount, exponent) {
36
- var direction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
37
- return new _bignumber["default"](amount).shiftedBy(exponent * direction).toString();
38
- };
39
- var convertBaseUnitToDollarValue = exports.convertBaseUnitToDollarValue = function convertBaseUnitToDollarValue(assets, prices, symbol, amount, chainName) {
40
- var _getAssetInfo = getAssetInfo(assets, symbol, chainName),
41
- denom = _getAssetInfo.denom,
42
- exponent = _getAssetInfo.exponent;
43
- var baseAmount = shiftDecimalPlaces(amount, exponent, -1);
44
- return new _bignumber["default"](baseAmount).multipliedBy(prices[denom]).toString();
45
- };
46
- var convertDollarValueToBaseUnit = exports.convertDollarValueToBaseUnit = function convertDollarValueToBaseUnit(assets, prices, symbol, value, chainName) {
47
- var _getAssetInfo2 = getAssetInfo(assets, symbol, chainName),
48
- denom = _getAssetInfo2.denom,
49
- exponent = _getAssetInfo2.exponent;
50
- var baseAmount = new _bignumber["default"](value).dividedBy(prices[denom]).toString();
51
- return roundDown(shiftDecimalPlaces(baseAmount, exponent));
52
- };
53
- var convertBaseUnitToDisplayUnit = exports.convertBaseUnitToDisplayUnit = function convertBaseUnitToDisplayUnit(assets, symbol, amount, chainName) {
54
- var _getAssetInfo3 = getAssetInfo(assets, symbol, chainName),
55
- exponent = _getAssetInfo3.exponent;
56
- return shiftDecimalPlaces(amount, exponent, -1);
57
- };
58
- var convertDisplayUnitToBaseUnit = exports.convertDisplayUnitToBaseUnit = function convertDisplayUnitToBaseUnit(assets, symbol, amount, chainName) {
59
- var _getAssetInfo4 = getAssetInfo(assets, symbol, chainName),
60
- exponent = _getAssetInfo4.exponent;
61
- return roundDown(shiftDecimalPlaces(amount, exponent));
62
- };
package/main/chains.js DELETED
@@ -1,46 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getGasPriceRangesFromChain = exports.getChainPrettyName = exports.getChainNameByChainId = exports.getChainIdByChainName = exports.getChainGasPriceRanges = exports.getChainByChainName = exports.getChainByChainId = exports.getChainBech32Prefix = void 0;
7
- var _utils = require("./utils");
8
- var getGasPriceRangesFromChain = exports.getGasPriceRangesFromChain = function getGasPriceRangesFromChain(chain) {
9
- var _chain$fees, _chain$fees$fee_token, _feeToken$low_gas_pri, _feeToken$average_gas, _feeToken$high_gas_pr;
10
- var feeToken = (_chain$fees = chain.fees) === null || _chain$fees === void 0 ? void 0 : (_chain$fees$fee_token = _chain$fees.fee_tokens) === null || _chain$fees$fee_token === void 0 ? void 0 : _chain$fees$fee_token[0];
11
- return {
12
- low: (_feeToken$low_gas_pri = feeToken === null || feeToken === void 0 ? void 0 : feeToken.low_gas_price) !== null && _feeToken$low_gas_pri !== void 0 ? _feeToken$low_gas_pri : 0.01,
13
- average: (_feeToken$average_gas = feeToken === null || feeToken === void 0 ? void 0 : feeToken.average_gas_price) !== null && _feeToken$average_gas !== void 0 ? _feeToken$average_gas : 0.025,
14
- high: (_feeToken$high_gas_pr = feeToken === null || feeToken === void 0 ? void 0 : feeToken.high_gas_price) !== null && _feeToken$high_gas_pr !== void 0 ? _feeToken$high_gas_pr : 0.04
15
- };
16
- };
17
- var getChainByChainName = exports.getChainByChainName = function getChainByChainName(chains, chainName) {
18
- return (0, _utils.customFind)(chains, function (chain) {
19
- return chain.chain_name === chainName;
20
- });
21
- };
22
- var getChainByChainId = exports.getChainByChainId = function getChainByChainId(chains, chainId) {
23
- return (0, _utils.customFind)(chains, function (chain) {
24
- return chain.chain_id === chainId;
25
- });
26
- };
27
- var getChainNameByChainId = exports.getChainNameByChainId = function getChainNameByChainId(chains, chainId) {
28
- var _getChainByChainId;
29
- return (_getChainByChainId = getChainByChainId(chains, chainId)) === null || _getChainByChainId === void 0 ? void 0 : _getChainByChainId.chain_name;
30
- };
31
- var getChainIdByChainName = exports.getChainIdByChainName = function getChainIdByChainName(chains, chainName) {
32
- var _getChainByChainName;
33
- return (_getChainByChainName = getChainByChainName(chains, chainName)) === null || _getChainByChainName === void 0 ? void 0 : _getChainByChainName.chain_id;
34
- };
35
- var getChainGasPriceRanges = exports.getChainGasPriceRanges = function getChainGasPriceRanges(chains, chainName) {
36
- var chain = getChainByChainName(chains, chainName);
37
- return chain ? getGasPriceRangesFromChain(chain) : undefined;
38
- };
39
- var getChainPrettyName = exports.getChainPrettyName = function getChainPrettyName(chains, chainName) {
40
- var _getChainByChainName2;
41
- return (_getChainByChainName2 = getChainByChainName(chains, chainName)) === null || _getChainByChainName2 === void 0 ? void 0 : _getChainByChainName2.pretty_name;
42
- };
43
- var getChainBech32Prefix = exports.getChainBech32Prefix = function getChainBech32Prefix(chains, chainName) {
44
- var _getChainByChainName3;
45
- return (_getChainByChainName3 = getChainByChainName(chains, chainName)) === null || _getChainByChainName3 === void 0 ? void 0 : _getChainByChainName3.bech32_prefix;
46
- };
package/main/ibc.js DELETED
@@ -1,354 +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.ibcDenom = exports.getWasmChannel = exports.getTransferChannel = exports.getNonTransferChannel = exports.getIbcInfo = exports.getIbcDenomByBase = exports.getIbcAssets = exports.getIbcAssetPath = exports.getCw20Assets = exports.getAssetLists = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _sha = require("sha.js");
12
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
15
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
- var ibcDenom = exports.ibcDenom = function ibcDenom(paths, coinMinimalDenom) {
18
- var prefixes = [];
19
- var _iterator = _createForOfIteratorHelper(paths),
20
- _step;
21
- try {
22
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
23
- var path = _step.value;
24
- prefixes.push("".concat(path.port_id, "/").concat(path.channel_id));
25
- }
26
- } catch (err) {
27
- _iterator.e(err);
28
- } finally {
29
- _iterator.f();
30
- }
31
- var prefix = prefixes.join('/');
32
- var denom = "".concat(prefix, "/").concat(coinMinimalDenom);
33
- return 'ibc/' + Buffer.from(new Uint8Array(new _sha.sha256().update(Buffer.from(denom)).digest())).toString('hex').toUpperCase();
34
- };
35
- var findInfo = function findInfo(ibc, to, from) {
36
- return ibc.find(function (i) {
37
- return i.chain_1.chain_name === from && i.chain_2.chain_name === to;
38
- });
39
- };
40
- var getIbcInfo = exports.getIbcInfo = function getIbcInfo(ibc, chain, counterparty) {
41
- return findInfo(ibc, chain, counterparty) || findInfo(ibc, counterparty, chain);
42
- };
43
- var getTransferChannel = exports.getTransferChannel = function getTransferChannel(info) {
44
- return info.channels.find(function (channel) {
45
- return channel.chain_1.port_id === 'transfer' && channel.chain_2.port_id === 'transfer';
46
- });
47
- };
48
- var getNonTransferChannel = exports.getNonTransferChannel = function getNonTransferChannel(info) {
49
- return info.channels.find(function (channel) {
50
- return channel.chain_1.port_id !== 'transfer' && channel.chain_2.port_id === 'transfer' || channel.chain_1.port_id === 'transfer' && channel.chain_2.port_id !== 'transfer';
51
- });
52
- };
53
- var getWasmChannel = exports.getWasmChannel = function getWasmChannel(info) {
54
- return info.channels.find(function (channel) {
55
- return channel.chain_1.port_id.startsWith('wasm.') && channel.chain_2.port_id === 'transfer' || channel.chain_1.port_id === 'transfer' && channel.chain_2.port_id.startsWith('wasm');
56
- });
57
- };
58
- var getIbcAssetPath = exports.getIbcAssetPath = function getIbcAssetPath(ibc, chain, counterparty, assets, base) {
59
- var _asset$traces$filter, _asset$traces, _asset$traces$filter2;
60
- var ibcInfo = getIbcInfo(ibc, chain, counterparty);
61
- if (!ibcInfo) {
62
- return [];
63
- }
64
- var channel = base.startsWith('cw20:') ? getWasmChannel(ibcInfo) : getTransferChannel(ibcInfo);
65
- if (!channel) {
66
- return [];
67
- }
68
- var channelInfo;
69
- if (ibcInfo.chain_1.chain_name === chain) {
70
- channelInfo = channel.chain_1;
71
- } else {
72
- channelInfo = channel.chain_2;
73
- }
74
- var memo = [channelInfo];
75
- var assetList = assets.find(function (_ref) {
76
- var chain_name = _ref.chain_name;
77
- return chain_name === counterparty;
78
- });
79
- if (!assetList) {
80
- return memo;
81
- }
82
- var asset = assetList.assets.find(function (asset) {
83
- return asset.base === base;
84
- });
85
- if (!asset) {
86
- console.log("no ".concat(base, " found in ").concat(counterparty));
87
- return memo;
88
- }
89
- var traces = (_asset$traces$filter = (_asset$traces = asset.traces) === null || _asset$traces === void 0 ? void 0 : (_asset$traces$filter2 = _asset$traces.filter) === null || _asset$traces$filter2 === void 0 ? void 0 : _asset$traces$filter2.call(_asset$traces, function (trace) {
90
- return trace.type === 'ibc' || trace.type === 'ibc-cw20';
91
- })) !== null && _asset$traces$filter !== void 0 ? _asset$traces$filter : [];
92
- if (!traces.length) {
93
- return memo;
94
- }
95
- if (traces.length > 1) {
96
- console.log(traces);
97
- console.warn('contact maintainers: multi-hop not yet supported');
98
- }
99
- var _traces = (0, _slicedToArray2["default"])(traces, 1),
100
- trace = _traces[0];
101
- return [].concat(memo, (0, _toConsumableArray2["default"])(getIbcAssetPath(ibc, counterparty, trace.counterparty.chain_name, assets, trace.counterparty.base_denom
102
- // base
103
- )));
104
- };
105
- var getIbcDenomByBase = exports.getIbcDenomByBase = function getIbcDenomByBase(ibc, chain, counterparty, assets, base) {
106
- var ibcInfo = getIbcInfo(ibc, chain, counterparty);
107
- if (ibcInfo) {
108
- var _asset$traces2, _asset$traces2$find, _ibcTrace$counterpart, _ibcTrace$counterpart2;
109
- var channel = base.startsWith('cw20:') ? getWasmChannel(ibcInfo) : getTransferChannel(ibcInfo);
110
- if (!channel) {
111
- return;
112
- }
113
- var ibcPath = getIbcAssetPath(ibc, chain, counterparty, assets, base);
114
- var assetList = assets.find(function (_ref2) {
115
- var chain_name = _ref2.chain_name;
116
- return chain_name === counterparty;
117
- });
118
- if (!assetList) {
119
- console.warn("missing asset list for ".concat(counterparty));
120
- // could be incorrect...
121
- return ibcDenom(ibcPath, base);
122
- }
123
- var asset = assetList.assets.find(function (asset) {
124
- return asset.base === base;
125
- });
126
- if (!asset) {
127
- console.warn("no ".concat(base, " found in ").concat(counterparty));
128
- return ibcDenom(ibcPath, base);
129
- }
130
- var ibcTrace = (_asset$traces2 = asset.traces) === null || _asset$traces2 === void 0 ? void 0 : (_asset$traces2$find = _asset$traces2.find) === null || _asset$traces2$find === void 0 ? void 0 : _asset$traces2$find.call(_asset$traces2, function (trace) {
131
- return trace.type === 'ibc';
132
- });
133
- var baseDenom = (_ibcTrace$counterpart = ibcTrace === null || ibcTrace === void 0 ? void 0 : (_ibcTrace$counterpart2 = ibcTrace.counterparty) === null || _ibcTrace$counterpart2 === void 0 ? void 0 : _ibcTrace$counterpart2.base_denom) !== null && _ibcTrace$counterpart !== void 0 ? _ibcTrace$counterpart : asset.base;
134
- return ibcDenom(ibcPath, baseDenom);
135
- }
136
- };
137
- var getIbcAssets = exports.getIbcAssets = function getIbcAssets(chainName, ibc, assets) {
138
- var chainIbcInfo = ibc.filter(function (i) {
139
- return i.chain_1.chain_name === chainName || i.chain_2.chain_name === chainName;
140
- });
141
- var ibcAssetLists = chainIbcInfo.map(function (ibcInfo) {
142
- var counterpartyIs = ibcInfo.chain_1.chain_name === chainName ? 'chain_2' : 'chain_1';
143
- var chainIs = ibcInfo.chain_1.chain_name === chainName ? 'chain_1' : 'chain_2';
144
- var counterparty = ibcInfo[counterpartyIs].chain_name;
145
- var counterpartyIbc = ibcInfo[counterpartyIs];
146
- var chainIbc = ibcInfo[chainIs];
147
- var baseCounterpartyAssets = assets.find(function (a) {
148
- return a.chain_name === counterparty;
149
- });
150
- if (!baseCounterpartyAssets) {
151
- // console.warn('asset not found: ' + counterparty);
152
- return;
153
- }
154
-
155
- // const counterpartyAssets = baseCounterpartyAssets;
156
- var counterpartyAssets = _objectSpread(_objectSpread({}, baseCounterpartyAssets), {}, {
157
- assets: baseCounterpartyAssets.assets.filter(function (a) {
158
- if (
159
- // https://github.com/cosmos/chain-registry/issues/1535
160
- baseCounterpartyAssets.chain_name === 'carbon' && a.base.startsWith('ibc/')) {
161
- return false;
162
- } else {
163
- return true;
164
- }
165
- })
166
- });
167
- var ibcAssets = counterpartyAssets.assets.filter(function (a) {
168
- return !a.base.startsWith('cw20:');
169
- }).map(function (asset) {
170
- var denom = getIbcDenomByBase(ibc, chainName, counterparty,
171
- //
172
- assets, asset.base);
173
- var newAsset = _objectSpread({}, asset);
174
- newAsset.base = denom;
175
- newAsset.denom_units = newAsset.denom_units.map(function (unit) {
176
- if (unit.denom === asset.base) {
177
- var newUnit = _objectSpread({}, unit);
178
- newUnit.denom = denom;
179
- newUnit.aliases = [unit.denom];
180
- return newUnit;
181
- }
182
- return unit;
183
- });
184
- return newAsset;
185
- });
186
- var channel = getTransferChannel(ibcInfo);
187
- if (!channel) {
188
- return;
189
- }
190
- return {
191
- chain: _objectSpread(_objectSpread({}, chainIbc), channel[chainIs]),
192
- counterparty: _objectSpread(_objectSpread({}, counterpartyIbc), channel[counterpartyIs]),
193
- assets: ibcAssets
194
- };
195
- }).filter(Boolean);
196
- var hash = ibcAssetLists.reduce(function (m, v) {
197
- m[v.chain.chain_name] = m[v.chain.chain_name] || [];
198
- var assets = v.assets.map(function (asset) {
199
- try {
200
- var _asset$denom_units$0$, _asset$denom_units$, _asset$denom_units$$a;
201
- return _objectSpread(_objectSpread({}, asset), {}, {
202
- traces: [{
203
- type: 'ibc',
204
- counterparty: {
205
- // source_channel
206
- channel_id: v.counterparty.channel_id,
207
- // source_denom
208
- base_denom: (_asset$denom_units$0$ = (_asset$denom_units$ = asset.denom_units[0]) === null || _asset$denom_units$ === void 0 ? void 0 : (_asset$denom_units$$a = _asset$denom_units$.aliases) === null || _asset$denom_units$$a === void 0 ? void 0 : _asset$denom_units$$a[0]) !== null && _asset$denom_units$0$ !== void 0 ? _asset$denom_units$0$ : asset.denom_units[0].denom,
209
- chain_name: v.counterparty.chain_name
210
- // port: v.counterparty.port_id
211
- },
212
- chain: {
213
- // dst_denom
214
- channel_id: v.chain.channel_id
215
- // chain_name: v.chain.chain_name,
216
- // port: v.chain.port_id
217
- }
218
- }]
219
- });
220
- } catch (e) {
221
- console.log('problem creating assets:');
222
- console.log(asset);
223
- }
224
- }).filter(Boolean);
225
- var obj = _objectSpread(_objectSpread({}, v), {}, {
226
- assets: assets
227
- });
228
- m[v.chain.chain_name].push(obj);
229
- return m;
230
- }, {});
231
- return Object.keys(hash).map(function (chain) {
232
- return {
233
- chain_name: chain,
234
- assets: hash[chain].reduce(function (m, v) {
235
- return [].concat((0, _toConsumableArray2["default"])(m), (0, _toConsumableArray2["default"])(v.assets));
236
- }, [])
237
- };
238
- });
239
- };
240
- var getCw20Assets = exports.getCw20Assets = function getCw20Assets(chainName, ibc, assets) {
241
- var chainIbcInfo = ibc.filter(function (i) {
242
- return i.chain_1.chain_name === chainName || i.chain_2.chain_name === chainName;
243
- });
244
- var cw20AssetLists = chainIbcInfo.map(function (ibcInfo) {
245
- var counterpartyIs = ibcInfo.chain_1.chain_name === chainName ? 'chain_2' : 'chain_1';
246
- var chainIs = ibcInfo.chain_1.chain_name === chainName ? 'chain_1' : 'chain_2';
247
- var counterparty = ibcInfo[counterpartyIs].chain_name;
248
- var counterpartyIbc = ibcInfo[counterpartyIs];
249
- var chainIbc = ibcInfo[chainIs];
250
- var counterpartyAssets = assets.find(function (a) {
251
- return a.chain_name === counterparty;
252
- });
253
- if (!counterpartyAssets) {
254
- // console.warn('asset not found: ' + counterparty);
255
- return;
256
- }
257
- var cw20Assets = counterpartyAssets.assets.filter(function (a) {
258
- return a.base.startsWith('cw20:');
259
- }).map(function (asset) {
260
- var denom = getIbcDenomByBase(ibc, chainName, counterparty,
261
- //
262
- assets, asset.base);
263
- var newAsset = _objectSpread({}, asset);
264
- newAsset.base = denom;
265
- newAsset.denom_units = newAsset.denom_units.map(function (unit) {
266
- if (unit.denom === asset.base) {
267
- var newUnit = _objectSpread({}, unit);
268
- newUnit.denom = denom;
269
- newUnit.aliases = [unit.denom];
270
- return newUnit;
271
- }
272
- return unit;
273
- });
274
- return newAsset;
275
- });
276
- if (!cw20Assets.length) return;
277
- var channel = getWasmChannel(ibcInfo);
278
- if (!channel) {
279
- // console.warn(
280
- // chainIbc.chain_name,
281
- // '<>',
282
- // counterpartyIbc.chain_name,
283
- // 'MISSING cw20 IBC info'
284
- // );
285
- return;
286
- }
287
- return {
288
- chain: _objectSpread(_objectSpread({}, chainIbc), channel[chainIs]),
289
- counterparty: _objectSpread(_objectSpread({}, counterpartyIbc), channel[counterpartyIs]),
290
- assets: cw20Assets
291
- };
292
- }).filter(Boolean);
293
- var hash = cw20AssetLists.reduce(function (m, v) {
294
- m[v.chain.chain_name] = m[v.chain.chain_name] || [];
295
- var assets = v.assets.map(function (asset) {
296
- try {
297
- var _asset$denom_units$0$2, _asset$denom_units$2, _asset$denom_units$2$;
298
- return _objectSpread(_objectSpread({}, asset), {}, {
299
- traces: [{
300
- type: 'ibc-cw20',
301
- counterparty: {
302
- port: v.counterparty.port_id,
303
- // source_channel
304
- channel_id: v.counterparty.channel_id,
305
- // source_denom
306
- base_denom: (_asset$denom_units$0$2 = (_asset$denom_units$2 = asset.denom_units[0]) === null || _asset$denom_units$2 === void 0 ? void 0 : (_asset$denom_units$2$ = _asset$denom_units$2.aliases) === null || _asset$denom_units$2$ === void 0 ? void 0 : _asset$denom_units$2$[0]) !== null && _asset$denom_units$0$2 !== void 0 ? _asset$denom_units$0$2 : asset.denom_units[0].denom,
307
- chain_name: v.counterparty.chain_name
308
- },
309
- chain: {
310
- // dst_denom
311
- port: v.chain.port_id,
312
- channel_id: v.chain.channel_id
313
- // chain_name: v.chain.chain_name,
314
- }
315
- }]
316
- });
317
- } catch (e) {
318
- console.log('problem creating cw20 assets');
319
- console.log(asset);
320
- }
321
- }).filter(Boolean);
322
- var obj = _objectSpread(_objectSpread({}, v), {}, {
323
- assets: assets
324
- });
325
- m[v.chain.chain_name].push(obj);
326
- return m;
327
- }, {});
328
- return Object.keys(hash).map(function (chain) {
329
- return {
330
- chain_name: chain,
331
- assets: hash[chain].reduce(function (m, v) {
332
- return [].concat((0, _toConsumableArray2["default"])(m), (0, _toConsumableArray2["default"])(v.assets));
333
- }, [])
334
- };
335
- });
336
- };
337
- var getAssetLists = exports.getAssetLists = function getAssetLists(chainName, ibc, assets) {
338
- var ibcAssetLists = getIbcAssets(chainName, ibc, assets);
339
- var cw20Assets = getCw20Assets(chainName, ibc, assets);
340
- return ibcAssetLists.reduce(function (m, v) {
341
- var chain = v.chain_name;
342
- var assets = (0, _toConsumableArray2["default"])(v.assets);
343
- var cw20 = cw20Assets.find(function (a) {
344
- return a.chain_name === chain;
345
- });
346
- if (cw20) {
347
- [].push.apply(assets, cw20.assets);
348
- }
349
- return [{
350
- chain_name: chain,
351
- assets: assets
352
- }].concat((0, _toConsumableArray2["default"])(m));
353
- }, []);
354
- };
package/main/index.js DELETED
@@ -1,49 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _assets = require("./assets");
7
- Object.keys(_assets).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _assets[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function get() {
13
- return _assets[key];
14
- }
15
- });
16
- });
17
- var _calc = require("./calc");
18
- Object.keys(_calc).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _calc[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function get() {
24
- return _calc[key];
25
- }
26
- });
27
- });
28
- var _chains = require("./chains");
29
- Object.keys(_chains).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _chains[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function get() {
35
- return _chains[key];
36
- }
37
- });
38
- });
39
- var _ibc = require("./ibc");
40
- Object.keys(_ibc).forEach(function (key) {
41
- if (key === "default" || key === "__esModule") return;
42
- if (key in exports && exports[key] === _ibc[key]) return;
43
- Object.defineProperty(exports, key, {
44
- enumerable: true,
45
- get: function get() {
46
- return _ibc[key];
47
- }
48
- });
49
- });
package/main/utils.js DELETED
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.customFind = void 0;
7
- var customFind = exports.customFind = function customFind(array, filterFn) {
8
- var filteredItems = array.filter(filterFn);
9
- var filterCount = filteredItems.length;
10
- if (filterCount > 1) {
11
- throw new Error("Ambiguity Error: ".concat(filterCount, " items found."));
12
- }
13
- return filteredItems[0];
14
- };
File without changes
File without changes
File without changes
File without changes