@chain-registry/utils
Version:
Chain Registry Utils
43 lines (42 loc) • 1.57 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getNativeAssets = exports.customFind = void 0;
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];
};
exports.customFind = customFind;
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;
});
};
exports.getNativeAssets = getNativeAssets;
;