@chain-registry/utils
Version:
Chain Registry Utils
38 lines (37 loc) • 1.38 kB
JavaScript
export const customFind = (array, filterFn, message) => {
const filteredItems = array.filter(filterFn);
const filterCount = filteredItems.length;
if (filterCount > 1) {
throw new Error(`Ambiguity Error: ${filterCount} items found ${message}.`);
}
return filteredItems[0];
};
export const getNativeAssets = (assets) => {
return assets.map(list => {
const clone = JSON.parse(JSON.stringify(list));
clone.assets = list.assets.filter(asset => {
switch (true) {
case asset.base.startsWith('factory/'):
return false;
case asset.base.startsWith('ft') && list.chainName === 'bitsong':
return false;
case asset.base.startsWith('erc20/'):
return true;
case asset.base.startsWith('ibc/'):
return false;
case asset.base.startsWith('cw20:'):
return true;
default:
if (!asset.traces || !asset.traces.length) {
// asset.type_asset = 'sdk.coin'
return true;
}
return false;
}
}).map(asset => {
delete asset.extendedDescription;
return asset;
});
return clone;
});
};