UNPKG

@chain-registry/client

Version:
69 lines (68 loc) 2.9 kB
import { convertBaseUnitToDisplayUnit, convertBaseUnitToDollarValue, convertDisplayUnitToBaseUnit, convertDollarValueToBaseUnit, getAssetByDenom, getAssetBySymbol, getAssetLogoByDenom, getAssetNameByDenom, getChainNameByDenom, getCoinGeckoIdByDenom, getDenomByCoinGeckoId, getDenomBySymbol, getExponentByDenom, getExponentBySymbol, getSymbolByDenom, mapCoinGeckoPricesToDenoms } from '@chain-registry/utils'; export class ChainRegistryChainUtil { _assets = []; _chainName; constructor(options) { const { chainName, chainInfo } = options; this._chainName = options.chainName; this._assets = [ { assets: [ ...chainInfo.nativeAssetList.assets, ...chainInfo.assetLists.flatMap(({ assets }) => assets) ], chain_name: chainName } ]; } getAssetByDenom(denom) { return getAssetByDenom(this._assets, denom, this._chainName); } getAssetBySymbol(symbol) { return getAssetBySymbol(this._assets, symbol, this._chainName); } getDenomByCoinGeckoId(coinGeckoId) { return getDenomByCoinGeckoId(this._assets, coinGeckoId, this._chainName); } getCoinGeckoIdByDenom(coinGeckoId) { return getCoinGeckoIdByDenom(this._assets, coinGeckoId, { chainName: this._chainName }); } getSymbolByDenom(denom) { return getSymbolByDenom(this._assets, denom, this._chainName); } getDenomBySymbol(symbol) { return getDenomBySymbol(this._assets, symbol, this._chainName); } getExponentByDenom(denom) { return getExponentByDenom(this._assets, denom, this._chainName); } getExponentBySymbol(symbol) { return getExponentBySymbol(this._assets, symbol, this._chainName); } getAssetLogoByDenom(denom) { return getAssetLogoByDenom(this._assets, denom, this._chainName); } getAssetNameByDenom(denom) { return getAssetNameByDenom(this._assets, denom, this._chainName); } getChainNameByDenom(denom) { return getChainNameByDenom(this._assets, denom); } mapCoinGeckoPricesToDenoms(prices) { return mapCoinGeckoPricesToDenoms(this._assets, prices); } convertBaseUnitToDollarValue(prices, symbol, amount) { return convertBaseUnitToDollarValue(this._assets, prices, symbol, amount, this._chainName); } convertDollarValueToBaseUnit(prices, symbol, value) { return convertDollarValueToBaseUnit(this._assets, prices, symbol, value, this._chainName); } convertBaseUnitToDisplayUnit(symbol, amount) { return convertBaseUnitToDisplayUnit(this._assets, symbol, amount, this._chainName); } convertDisplayUnitToBaseUnit(symbol, amount) { return convertDisplayUnitToBaseUnit(this._assets, symbol, amount, this._chainName); } }