web3agent-aof
Version:
AI Framework for Onchain Operations and DeFi Interactions
38 lines • 1.43 kB
JavaScript
import { CHAIN_IDS } from 'fuels';
export const getVerifiedAssets = async () => {
const allAssets = (await fetch('https://verified-assets.fuel.network/assets.json').then((res) => res.json()));
return allAssets;
};
export const getAssetIdAndDecimals = async (symbol, assets) => {
const asset = assets.find((asset) => asset.symbol === symbol);
if (!asset) {
throw new Error(`Asset ${symbol} not found`);
}
const networks = asset.networks;
const fuelNetworkIndex = networks.findIndex((network) => network.type === 'fuel' && network.chainId === CHAIN_IDS.fuel.mainnet);
if (fuelNetworkIndex === -1) {
throw new Error(`Asset ${symbol} not found on Fuel`);
}
return {
assetId: asset.networks[fuelNetworkIndex].assetId,
decimals: asset.networks[fuelNetworkIndex].decimals,
};
};
export const getAllVerifiedSymbols = async (assets) => {
return assets.map((asset) => asset.symbol);
};
export const getAllVerifiedFuelAssets = async () => {
const allAssets = await getVerifiedAssets();
const symbols = await getAllVerifiedSymbols(allAssets);
const assets = [];
for await (const symbol of symbols) {
const { assetId, decimals } = await getAssetIdAndDecimals(symbol, allAssets);
assets.push({
symbol,
assetId,
decimals,
});
}
return assets;
};
//# sourceMappingURL=assets.js.map