@chain-registry/client
Version:
Chain Registry Client
69 lines (68 loc) • 2.9 kB
JavaScript
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);
}
}