bridge_ui: Use new TVL calculation in useTVL hook, 48h transaction count

This commit is contained in:
Kevin Peters 2022-02-25 15:07:59 +00:00 committed by Justin Schuldt
parent 02848a6560
commit 2080c27ef2
7 changed files with 782 additions and 498 deletions

View File

@ -232,7 +232,23 @@ function App() {
<div className={classes.headerImage} />
{["/transfer", "/nft", "/redeem"].includes(pathname) ? (
<Container maxWidth="md" style={{ paddingBottom: 24 }}>
<HeaderText white>Portal Token Bridge</HeaderText>
<HeaderText
white
subtitle={
<>
<Typography>
Portal is a bridge that offers unlimited transfers across
chains for tokens and NFTs wrapped by Wormhole.
</Typography>
<Typography>
Unlike many other bridges, you avoid double wrapping and
never have to retrace your steps.
</Typography>
</>
}
>
Portal Token Bridge
</HeaderText>
<Tabs
value={pathname}
variant="fullWidth"

View File

@ -30,7 +30,7 @@ export default function HeaderText({
children: ReactChild;
white?: boolean;
small?: boolean;
subtitle?: string;
subtitle?: ReactChild;
}) {
const classes = useStyles();
return (
@ -43,7 +43,7 @@ export default function HeaderText({
>
{children}
</Typography>
{subtitle ? <Typography>{subtitle}</Typography> : null}
{subtitle ? <Typography component="div">{subtitle}</Typography> : null}
</div>
);
}

View File

@ -105,7 +105,7 @@ const TransactionMetrics: React.FC<any> = () => {
noWrap
className={classes.totalValue}
>
{numeral(transactionCount.data?.total24h || 0).format("0,0")}
{numeral(transactionCount.data?.total48h || 0).format("0,0")}
</Typography>
</div>
<div className={classes.totalContainer}>

View File

@ -1,46 +1,14 @@
import {
ChainId,
CHAIN_ID_AVAX,
CHAIN_ID_BSC,
CHAIN_ID_ETH,
CHAIN_ID_POLYGON,
CHAIN_ID_SOLANA,
CHAIN_ID_TERRA,
} from "@certusone/wormhole-sdk";
import { formatUnits } from "@ethersproject/units";
import { TOKEN_PROGRAM_ID } from "@solana/spl-token";
import { TokenInfo } from "@solana/spl-token-registry";
import {
AccountInfo,
Connection,
ParsedAccountData,
PublicKey,
} from "@solana/web3.js";
import { ChainId } from "@certusone/wormhole-sdk";
import axios from "axios";
import { useEffect, useMemo, useState } from "react";
import { DataWrapper } from "../store/helpers";
import { useEffect, useState } from "react";
import {
AVAX_TOKEN_BRIDGE_ADDRESS,
BSC_TOKEN_BRIDGE_ADDRESS,
CHAINS_BY_ID,
COVALENT_GET_TOKENS_URL,
ETH_TOKEN_BRIDGE_ADDRESS,
logoOverrides,
POLYGON_TOKEN_BRIDGE_ADDRESS,
SOLANA_HOST,
SOL_CUSTODY_ADDRESS,
TERRA_SWAPRATE_URL,
TERRA_TOKEN_BRIDGE_ADDRESS,
} from "../utils/consts";
import { priceStore, serumMarkets } from "../utils/SolanaPriceStore";
import {
formatNativeDenom,
getNativeTerraIcon,
NATIVE_TERRA_DECIMALS,
} from "../utils/terra";
import useMetadata, { GenericMetadata } from "./useMetadata";
import useSolanaTokenMap from "./useSolanaTokenMap";
import useTerraNativeBalances from "./useTerraNativeBalances";
DataWrapper,
errorDataWrapper,
fetchDataWrapper,
receiveDataWrapper,
} from "../store/helpers";
import { COIN_GECKO_IMAGE_URLS } from "../utils/coinGecko";
import { TVL_URL } from "../utils/consts";
export type TVL = {
logo?: string;
@ -55,470 +23,75 @@ export type TVL = {
decimals?: number;
};
const BAD_PRICES_BY_CHAIN = {
[CHAIN_ID_BSC]: [
"0x04132bf45511d03a58afd4f1d36a29d229ccc574",
"0xa79bd679ce21a2418be9e6f88b2186c9986bbe7d",
"0x931c3987040c90b6db09981c7c91ba155d3fa31f",
"0x8fb1a59ca2d57b51e5971a85277efe72c4492983",
],
[CHAIN_ID_ETH]: [],
[CHAIN_ID_POLYGON]: ["0xd52d9ba6fcbadb1fe1e3aca52cbb72c4d9bbb4ec"],
};
interface LockedAsset {
Symbol: string;
Name: string;
Address: string;
CoinGeckoId: string;
Amount: number;
Notional: number;
TokenPrice: number;
}
const calcEvmTVL = (covalentReport: any, chainId: ChainId): TVL[] => {
const output: TVL[] = [];
if (!covalentReport?.data?.items?.length) {
return [];
}
interface LockedAssets {
[tokenAddress: string]: LockedAsset;
}
covalentReport.data.items.forEach((item: any) => {
if (item.balance > 0 && item.contract_address) {
const hasUnreliablePrice =
BAD_PRICES_BY_CHAIN[chainId]?.includes(item.contract_address) ||
item.quote_rate > 1000000;
output.push({
logo:
logoOverrides.get(item.contract_address) ||
item.logo_url ||
undefined,
symbol: item.contract_ticker_symbol || undefined,
name: item.contract_name || undefined,
amount: formatUnits(item.balance, item.contract_decimals),
totalValue: hasUnreliablePrice ? 0 : item.quote,
quotePrice: hasUnreliablePrice ? 0 : item.quote_rate,
assetAddress: item.contract_address,
originChainId: chainId,
originChain: CHAINS_BY_ID[chainId].name,
decimals: item.contract_decimals,
interface ChainsAssets {
[chainId: string]: LockedAssets;
}
interface NotionalTvl {
Last24HoursChange: ChainsAssets;
AllTime: ChainsAssets;
}
const createTVLArray = (notionalTvl: NotionalTvl) => {
const tvl: TVL[] = [];
for (const [chainId, chainAssets] of Object.entries(notionalTvl.AllTime)) {
if (chainId === "*") continue;
for (const [tokenAddress, lockedAsset] of Object.entries(chainAssets)) {
if (tokenAddress === "*") continue;
tvl.push({
logo: COIN_GECKO_IMAGE_URLS[lockedAsset.CoinGeckoId],
symbol: lockedAsset.Symbol,
name: lockedAsset.Name,
amount: lockedAsset.Amount.toString(),
totalValue: lockedAsset.Notional,
quotePrice: lockedAsset.TokenPrice,
assetAddress: tokenAddress,
originChainId: +chainId as ChainId,
originChain: chainId.toString(),
});
}
});
return output;
};
const calcSolanaTVL = (
accounts:
| { pubkey: PublicKey; account: AccountInfo<ParsedAccountData> }[]
| undefined,
metaData: DataWrapper<Map<string, GenericMetadata>>,
solanaPrices: DataWrapper<Map<string, number | undefined>>
) => {
const output: TVL[] = [];
if (
!accounts ||
!accounts.length ||
metaData.isFetching ||
metaData.error ||
!metaData.data ||
solanaPrices.isFetching ||
!solanaPrices.data
) {
return output;
}
accounts.forEach((item) => {
const genericMetadata = metaData.data?.get(
item.account.data.parsed?.info?.mint?.toString()
);
const mint = item.account.data.parsed?.info?.mint?.toString();
const price = solanaPrices?.data?.get(mint);
output.push({
logo: genericMetadata?.logo || undefined,
symbol: genericMetadata?.symbol || undefined,
name: genericMetadata?.tokenName || undefined,
amount: item.account.data.parsed?.info?.tokenAmount?.uiAmount || "0", //Should always be defined.
totalValue: price
? parseFloat(
item.account.data.parsed?.info?.tokenAmount?.uiAmount || "0"
) * price
: undefined,
quotePrice: price,
assetAddress: mint,
originChainId: CHAIN_ID_SOLANA,
originChain: "Solana",
decimals: item.account.data.parsed?.info?.tokenAmount?.decimals,
});
});
return output;
return tvl;
};
const useTerraTVL = () => {
const { isLoading: isTerraNativeLoading, balances: terraNativeBalances } =
useTerraNativeBalances(TERRA_TOKEN_BRIDGE_ADDRESS);
const [terraSwaprates, setTerraSwaprates] = useState<any[]>([]);
const useTVL = () => {
const [tvl, setTvl] = useState<DataWrapper<TVL[]>>(fetchDataWrapper());
useEffect(() => {
let cancelled = false;
(async () => {
try {
const result = await axios.get(TERRA_SWAPRATE_URL);
if (!cancelled && result && result.data) {
setTerraSwaprates(result.data);
axios
.get<NotionalTvl>(TVL_URL)
.then((response) => {
if (!cancelled) {
setTvl(receiveDataWrapper(createTVLArray(response.data)));
}
} catch (e) {}
})();
})
.catch((error) => {
console.log(error);
if (!cancelled) {
setTvl(errorDataWrapper(error));
}
});
return () => {
cancelled = true;
};
}, []);
const terraTVL = useMemo(() => {
const arr: TVL[] = [];
if (terraNativeBalances) {
const denoms = Object.keys(terraNativeBalances);
denoms.forEach((denom) => {
const amount = formatUnits(
terraNativeBalances[denom],
NATIVE_TERRA_DECIMALS
);
const symbol = formatNativeDenom(denom);
let matchingSwap = undefined;
let quotePrice = 0;
let totalValue = 0;
try {
matchingSwap = terraSwaprates.find((swap) => swap.denom === denom);
quotePrice =
denom === "uusd"
? 1
: matchingSwap
? 1 / Number(matchingSwap.swaprate)
: 0;
totalValue =
denom === "uusd"
? Number(
formatUnits(terraNativeBalances[denom], NATIVE_TERRA_DECIMALS)
)
: matchingSwap
? Number(amount) / Number(matchingSwap.swaprate)
: 0;
} catch (e) {}
arr.push({
amount,
assetAddress: denom,
originChain: CHAINS_BY_ID[CHAIN_ID_TERRA].name,
originChainId: CHAIN_ID_TERRA,
quotePrice,
totalValue,
logo: getNativeTerraIcon(symbol),
symbol,
decimals: NATIVE_TERRA_DECIMALS,
});
});
}
return arr;
}, [terraNativeBalances, terraSwaprates]);
return useMemo(
() => ({ terraTVL, isLoading: isTerraNativeLoading }),
[isTerraNativeLoading, terraTVL]
);
};
const useSolanaPrices = (
mintAddresses: string[],
tokenMap: DataWrapper<TokenInfo[]>
) => {
const [isLoading, setIsLoading] = useState(false);
const [priceMap, setPriceMap] = useState<Map<
string,
number | undefined
> | null>(null);
const [error] = useState("");
useEffect(() => {
let cancelled = false;
if (!mintAddresses || !mintAddresses.length || !tokenMap.data) {
return;
}
const relevantMarkets: {
publicKey?: PublicKey;
name: string;
deprecated?: boolean;
mintAddress: string;
}[] = [];
mintAddresses.forEach((address) => {
const tokenInfo = tokenMap.data?.find((x) => x.address === address);
const relevantMarket = tokenInfo && serumMarkets[tokenInfo.symbol];
if (relevantMarket) {
relevantMarkets.push({ ...relevantMarket, mintAddress: address });
}
});
setIsLoading(true);
const priceMap: Map<string, number | undefined> = new Map();
const connection = new Connection(SOLANA_HOST);
const promises: Promise<void>[] = [];
//Load all the revelevant markets into the priceMap
relevantMarkets.forEach((market) => {
const marketName: string = market.name;
promises.push(
priceStore
.getPrice(connection, marketName)
.then((result) => {
priceMap.set(market.mintAddress, result);
})
.catch((e) => {
//Do nothing, we just won't load this price.
return Promise.resolve();
})
);
});
Promise.all(promises).then(() => {
//By this point all the relevant markets are loaded.
if (!cancelled) {
setPriceMap(priceMap);
setIsLoading(false);
}
});
return () => {
cancelled = true;
return;
};
}, [mintAddresses, tokenMap.data]);
return useMemo(() => {
return {
isFetching: isLoading,
data: priceMap || null,
error: error,
receivedAt: null,
};
}, [error, priceMap, isLoading]);
};
const useTVL = (): DataWrapper<TVL[]> => {
const [ethCovalentData, setEthCovalentData] = useState(undefined);
const [ethCovalentIsLoading, setEthCovalentIsLoading] = useState(false);
const [ethCovalentError, setEthCovalentError] = useState("");
const [bscCovalentData, setBscCovalentData] = useState(undefined);
const [bscCovalentIsLoading, setBscCovalentIsLoading] = useState(false);
const [bscCovalentError, setBscCovalentError] = useState("");
const [polygonCovalentData, setPolygonCovalentData] = useState(undefined);
const [polygonCovalentIsLoading, setPolygonCovalentIsLoading] =
useState(false);
const [polygonCovalentError, setPolygonCovalentError] = useState("");
const [avaxCovalentData, setAvaxCovalentData] = useState(undefined);
const [avaxCovalentIsLoading, setAvaxCovalentIsLoading] = useState(false);
const [avaxCovalentError, setAvaxCovalentError] = useState("");
const [solanaCustodyTokens, setSolanaCustodyTokens] = useState<
{ pubkey: PublicKey; account: AccountInfo<ParsedAccountData> }[] | undefined
>(undefined);
const [solanaCustodyTokensLoading, setSolanaCustodyTokensLoading] =
useState(false);
const [solanaCustodyTokensError, setSolanaCustodyTokensError] = useState("");
const mintAddresses = useMemo(() => {
const addresses: string[] = [];
solanaCustodyTokens?.forEach((item) => {
const mintKey = item.account.data.parsed?.info?.mint?.toString();
if (mintKey) {
addresses.push(mintKey);
}
});
return addresses;
}, [solanaCustodyTokens]);
const solanaMetadata = useMetadata(CHAIN_ID_SOLANA, mintAddresses);
const solanaTokenMap = useSolanaTokenMap();
const solanaPrices = useSolanaPrices(mintAddresses, solanaTokenMap);
const { isLoading: isTerraLoading, terraTVL } = useTerraTVL();
const solanaTVL = useMemo(
() => calcSolanaTVL(solanaCustodyTokens, solanaMetadata, solanaPrices),
[solanaCustodyTokens, solanaMetadata, solanaPrices]
);
const ethTVL = useMemo(
() => calcEvmTVL(ethCovalentData, CHAIN_ID_ETH),
[ethCovalentData]
);
const bscTVL = useMemo(
() => calcEvmTVL(bscCovalentData, CHAIN_ID_BSC),
[bscCovalentData]
);
const polygonTVL = useMemo(
() => calcEvmTVL(polygonCovalentData, CHAIN_ID_POLYGON),
[polygonCovalentData]
);
const avaxTVL = useMemo(
() => calcEvmTVL(avaxCovalentData, CHAIN_ID_AVAX),
[avaxCovalentData]
);
useEffect(() => {
let cancelled = false;
setEthCovalentIsLoading(true);
axios
.get(
COVALENT_GET_TOKENS_URL(CHAIN_ID_ETH, ETH_TOKEN_BRIDGE_ADDRESS, false)
)
.then(
(results) => {
if (!cancelled) {
setEthCovalentData(results.data);
setEthCovalentIsLoading(false);
}
},
(error) => {
if (!cancelled) {
setEthCovalentError("Unable to retrieve Ethereum TVL.");
setEthCovalentIsLoading(false);
}
}
);
}, []);
useEffect(() => {
let cancelled = false;
setBscCovalentIsLoading(true);
axios
.get(
COVALENT_GET_TOKENS_URL(CHAIN_ID_BSC, BSC_TOKEN_BRIDGE_ADDRESS, false)
)
.then(
(results) => {
if (!cancelled) {
setBscCovalentData(results.data);
setBscCovalentIsLoading(false);
}
},
(error) => {
if (!cancelled) {
setBscCovalentError("Unable to retrieve BSC TVL.");
setBscCovalentIsLoading(false);
}
}
);
}, []);
useEffect(() => {
let cancelled = false;
setPolygonCovalentIsLoading(true);
axios
.get(
COVALENT_GET_TOKENS_URL(
CHAIN_ID_POLYGON,
POLYGON_TOKEN_BRIDGE_ADDRESS,
false
)
)
.then(
(results) => {
if (!cancelled) {
setPolygonCovalentData(results.data);
setPolygonCovalentIsLoading(false);
}
},
(error) => {
if (!cancelled) {
setPolygonCovalentError("Unable to retrieve Polygon TVL.");
setPolygonCovalentIsLoading(false);
}
}
);
}, []);
useEffect(() => {
let cancelled = false;
setAvaxCovalentIsLoading(true);
axios
.get(
COVALENT_GET_TOKENS_URL(CHAIN_ID_AVAX, AVAX_TOKEN_BRIDGE_ADDRESS, false)
)
.then(
(results) => {
if (!cancelled) {
setAvaxCovalentData(results.data);
setAvaxCovalentIsLoading(false);
}
},
(error) => {
if (!cancelled) {
setAvaxCovalentError("Unable to retrieve Avax TVL.");
setAvaxCovalentIsLoading(false);
}
}
);
}, []);
useEffect(() => {
let cancelled = false;
const connection = new Connection(SOLANA_HOST, "confirmed");
setSolanaCustodyTokensLoading(true);
connection
.getParsedTokenAccountsByOwner(new PublicKey(SOL_CUSTODY_ADDRESS), {
programId: TOKEN_PROGRAM_ID,
})
.then(
(results) => {
if (!cancelled) {
setSolanaCustodyTokens(results.value);
setSolanaCustodyTokensLoading(false);
}
},
(error) => {
if (!cancelled) {
setSolanaCustodyTokensLoading(false);
setSolanaCustodyTokensError(
"Unable to retrieve Solana locked tokens."
);
}
}
);
}, []);
return useMemo(() => {
const tvlArray = [
...ethTVL,
...bscTVL,
...polygonTVL,
...avaxTVL,
...solanaTVL,
...terraTVL,
];
return {
isFetching:
ethCovalentIsLoading ||
bscCovalentIsLoading ||
polygonCovalentIsLoading ||
avaxCovalentIsLoading ||
solanaCustodyTokensLoading ||
isTerraLoading,
error:
ethCovalentError ||
bscCovalentError ||
polygonCovalentError ||
avaxCovalentError ||
solanaCustodyTokensError,
receivedAt: null,
data: tvlArray,
};
}, [
ethCovalentError,
ethCovalentIsLoading,
bscCovalentError,
bscCovalentIsLoading,
polygonCovalentError,
polygonCovalentIsLoading,
polygonTVL,
avaxCovalentError,
avaxCovalentIsLoading,
avaxTVL,
ethTVL,
bscTVL,
solanaTVL,
solanaCustodyTokensError,
solanaCustodyTokensLoading,
isTerraLoading,
terraTVL,
]);
return tvl;
};
export default useTVL;

View File

@ -9,24 +9,29 @@ import {
export type TransactionCount = {
totalAllTime: number;
total24h: number;
total48h: number;
mostRecent: any; //This will be a signedVAA
};
const mergeResults = (totals: any, recents: any): TransactionCount | null => {
let totalAllTime = 0;
let total24h = 0;
let total48h = 0;
const lastDays = Object.values(totals?.DailyTotals || {});
const lastTwoDays: any = lastDays.slice(lastDays.length - 2);
VAA_EMITTER_ADDRESSES.forEach((address: string) => {
let totalAll = (totals?.TotalCount && totals.TotalCount[address]) || 0;
let total24 = (totals?.LastDayCount && totals.LastDayCount[address]) || 0;
let total48 =
lastTwoDays.length === 2
? (lastTwoDays[0][address] || 0) + (lastTwoDays[1][address] || 0)
: 0;
totalAllTime += totalAll;
total24h += total24;
total48h += total48;
});
return {
totalAllTime,
total24h,
total48h,
mostRecent: null,
};
};

View File

@ -0,0 +1,684 @@
export type CoinGeckoIdToImageUrl = {
[id: string]: string;
};
export const COIN_GECKO_IMAGE_URLS: CoinGeckoIdToImageUrl = {
"yearn-finance":
"https://assets.coingecko.com/coins/images/11849/small/yfi-192x192.png?1598325330",
partneroid:
"https://assets.coingecko.com/coins/images/21381/small/144531867-a8016f41-3b31-4d6f-97a1-372a58d48626.png?1639034184",
metaseer:
"https://assets.coingecko.com/coins/images/17443/small/metas.PNG?1627863142",
only1:
"https://assets.coingecko.com/coins/images/17501/small/like-token.png?1628036165",
floof:
"https://assets.coingecko.com/coins/images/19810/small/FLOOF_logo_200x200.png?1635917291",
"nole-npc":
"https://assets.coingecko.com/coins/images/19981/small/1EXEFTo6_400x400.jpg?1640251890",
"solareum-wallet":
"https://assets.coingecko.com/coins/images/20958/small/xsb-200.png?1638141904",
"synthetify-token":
"https://assets.coingecko.com/coins/images/14835/small/synthetify_token.png?1618611507",
mim: "https://assets.coingecko.com/coins/images/19927/small/13988.png?1636323160",
raydium:
"https://assets.coingecko.com/coins/images/13928/small/PSigc4ie_400x400.jpg?1612875614",
mixmarvel:
"https://assets.coingecko.com/coins/images/8222/small/8878caf93b1e3b6cfb3b414bda3b5250.png?1613945432",
ariadne:
"https://assets.coingecko.com/coins/images/19401/small/Frame_5_%287%29_%281%29.png?1635176608",
apyswap:
"https://assets.coingecko.com/coins/images/14163/small/apys.png?1635831990",
xhashtag:
"https://assets.coingecko.com/coins/images/20912/small/xtag.png?1637922382",
"socean-staked-sol":
"https://assets.coingecko.com/coins/images/18468/small/biOTzfxE_400x400.png?1633662119",
"bamboo-coin":
"https://assets.coingecko.com/coins/images/19620/small/FC0hnduacAAHYFC.png?1635496724",
"waggle-network":
"https://assets.coingecko.com/coins/images/18696/small/waggle.PNG?1633750177",
hapi: "https://assets.coingecko.com/coins/images/14298/small/R9i2HjAL_400x400.jpg?1615332438",
sail: "https://assets.coingecko.com/coins/images/16657/small/SAIL.png?1624608515",
"lido-staked-sol":
"https://assets.coingecko.com/coins/images/18369/small/logo_-_2021-09-15T100934.765.png?1631671781",
solrazr:
"https://assets.coingecko.com/coins/images/18390/small/Sol-Razr-Logo-TICKER.png?1631759669",
samoyedcoin:
"https://assets.coingecko.com/coins/images/15051/small/IXeEj5e.png?1619560738",
babytigergold:
"https://assets.coingecko.com/coins/images/22811/small/logo_babytiger.png?1642658264",
"rope-token":
"https://assets.coingecko.com/coins/images/14661/small/rope-v6.png?1619606776",
"usd-coin":
"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",
"grape-2":
"https://assets.coingecko.com/coins/images/18149/small/fRsuAlcV_400x400.png?1632437325",
"terra-luna":
"https://assets.coingecko.com/coins/images/8284/small/luna1557227471663.png?1567147072",
"tiger-coin":
"https://assets.coingecko.com/coins/images/22681/small/tigerlogo.png?1642407729",
bitcoin:
"https://assets.coingecko.com/coins/images/1/small/bitcoin.png?1547033579",
"woof-token":
"https://assets.coingecko.com/coins/images/18319/small/woof-logo-svg-true-solana-radient-blackinside.png?1637655115",
bilira:
"https://assets.coingecko.com/coins/images/10119/small/JBs9jiXO_400x400.jpg?1642668342",
sushi:
"https://assets.coingecko.com/coins/images/12271/small/512x512_Logo_no_chop.png?1606986688",
"star-atlas":
"https://assets.coingecko.com/coins/images/17659/small/Icon_Reverse.png?1628759092",
aurory:
"https://assets.coingecko.com/coins/images/19324/small/logo.png?1635076945",
"avalanche-2":
"https://assets.coingecko.com/coins/images/12559/small/coin-round-red.png?1604021818",
ethereum:
"https://assets.coingecko.com/coins/images/279/small/ethereum.png?1595348880",
"battle-of-guardians-share":
"https://assets.coingecko.com/coins/images/22285/small/K3hU77wS_400x400.jpg?1641365642",
bitsong:
"https://assets.coingecko.com/coins/images/5041/small/logo_-_2021-01-10T210801.390.png?1610284134",
"blocto-token":
"https://assets.coingecko.com/coins/images/18657/small/BLT_token.png?1633082645",
"wrapped-usdt":
"https://assets.coingecko.com/coins/images/19507/small/wusdt.png?1635315186",
renbtc:
"https://assets.coingecko.com/coins/images/11370/small/Bitcoin.jpg?1628072791",
"gari-network":
"https://assets.coingecko.com/coins/images/22615/small/gari.png?1642313087",
chainlink:
"https://assets.coingecko.com/coins/images/877/small/chainlink-new-logo.png?1547034700",
cashcow:
"https://assets.coingecko.com/coins/images/19388/small/cropped-cropped-CashCowToken_08.png?1635148053",
"3x-long-ethereum-token":
"https://assets.coingecko.com/coins/images/10163/small/683JEXMN_400x400_%281%29.png?1576504568",
defil:
"https://assets.coingecko.com/coins/images/17708/small/defillogo200200.png?1629080381",
tether:
"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",
"ptokens-btc":
"https://assets.coingecko.com/coins/images/10805/small/J51iIea.png?1583891599",
cropperfinance:
"https://assets.coingecko.com/coins/images/17883/small/copperfinance.PNG?1629708744",
aldrin:
"https://assets.coingecko.com/coins/images/16849/small/Aldrin.png?1629959768",
"woo-network":
"https://assets.coingecko.com/coins/images/12921/small/w2UiemF__400x400.jpg?1603670367",
bonfida:
"https://assets.coingecko.com/coins/images/13395/small/fida-dark.png?1608112224",
victorum:
"https://assets.coingecko.com/coins/images/17391/small/Victorum-logo200X200.png?1627525058",
"bull-coin":
"https://assets.coingecko.com/coins/images/15975/small/bull_ms.94cd70ff.png?1622525834",
"twirl-governance-token":
"https://assets.coingecko.com/coins/images/16725/small/Yn1ebvX.png?1624850650",
monkeyball:
"https://assets.coingecko.com/coins/images/20841/small/monkeyball.png?1639023123",
sypool:
"https://assets.coingecko.com/coins/images/18518/small/sypool.PNG?1632268218",
"foxy-equilibrium":
"https://assets.coingecko.com/coins/images/17303/small/cmc200x200.png?1627268759",
"squirrel-finance":
"https://assets.coingecko.com/coins/images/12415/small/transparent_logo200.png?1599690422",
genopets:
"https://assets.coingecko.com/coins/images/20360/small/gene-token.png?1636945172",
goosefx:
"https://assets.coingecko.com/coins/images/19793/small/0Kjm9f4.png?1635906737",
"solape-token":
"https://assets.coingecko.com/coins/images/16930/small/128px-coin.png?1625753550",
"galaxy-war":
"https://assets.coingecko.com/coins/images/22166/small/e2x7gMJ4_400x400.jpg?1641166277",
"1safu":
"https://assets.coingecko.com/coins/images/22792/small/145941796-8f7716f4-66bc-4a38-9ad5-441525c3b5b2.png?1642581127",
"solpad-finance":
"https://assets.coingecko.com/coins/images/16368/small/solpad.PNG?1623820231",
dexlab:
"https://assets.coingecko.com/coins/images/17276/small/4_Secondary_GradientSymbol_DarkLogo.png?1643018984",
"solanasail-governance-token":
"https://assets.coingecko.com/coins/images/17658/small/logo_GSAIL.png?1628758657",
"parasol-finance":
"https://assets.coingecko.com/coins/images/21551/small/icon.png?1642584584",
meanfi:
"https://assets.coingecko.com/coins/images/21557/small/89934951.png?1639466364",
marinade:
"https://assets.coingecko.com/coins/images/18867/small/MNDE.png?1643187748",
"mango-markets":
"https://assets.coingecko.com/coins/images/14773/small/token-mango.png?1628171237",
blockasset:
"https://assets.coingecko.com/coins/images/21332/small/blockasset.PNG?1638947864",
"parrot-protocol":
"https://assets.coingecko.com/coins/images/18443/small/PRT.png?1634698095",
tudabirds:
"https://assets.coingecko.com/coins/images/22839/small/_TOvRxfx_400x400.jpg?1642745695",
serum:
"https://assets.coingecko.com/coins/images/11970/small/serum-logo.png?1597121577",
"sunny-aggregator":
"https://assets.coingecko.com/coins/images/18039/small/90dbe787-8e5f-473c-b923-fe138a7a30ea.png?1630314924",
saber:
"https://assets.coingecko.com/coins/images/17162/small/oYs_YFz8_400x400.jpg?1626678457",
"wrapped-solana":
"https://assets.coingecko.com/coins/images/21629/small/solana.jpg?1639626543",
"step-finance":
"https://assets.coingecko.com/coins/images/14988/small/step.png?1619274762",
zoints:
"https://assets.coingecko.com/coins/images/20376/small/logo_-_2021-11-15T121641.242.png?1636949811",
allbridge:
"https://assets.coingecko.com/coins/images/18690/small/abr.png?1640742053",
"solchicks-token":
"https://assets.coingecko.com/coins/images/20978/small/chicks.png?1638162821",
aave: "https://assets.coingecko.com/coins/images/12645/small/AAVE.png?1601374110",
kin: "https://assets.coingecko.com/coins/images/959/small/kin.png?1586917032",
msol: "https://assets.coingecko.com/coins/images/17752/small/mSOL.png?1644541955",
orca: "https://assets.coingecko.com/coins/images/17547/small/Orca_Logo.png?1628781615",
solanium:
"https://assets.coingecko.com/coins/images/15816/small/token-icon.png?1621981387",
"tiki-token":
"https://assets.coingecko.com/coins/images/16427/small/60cbd8fd912298ca60e1fd7e_logo_TIKI_200_square.png?1623995319",
"coin-discovery":
"https://assets.coingecko.com/coins/images/18839/small/IdvWAhot_400x400.jpg?1633572605",
"huobi-btc":
"https://assets.coingecko.com/coins/images/12407/small/Unknown-5.png?1599624896",
rai: "https://assets.coingecko.com/coins/images/14004/small/RAI-logo-coin.png?1613592334",
"coin-capsule":
"https://assets.coingecko.com/coins/images/15921/small/e55393fa-7b4d-40f5-9f36-9a8a6bdcb570.png?1622430581",
"wrapped-ecomi":
"https://assets.coingecko.com/coins/images/14675/small/ecomi.jpg?1617689100",
tomoe:
"https://assets.coingecko.com/coins/images/12646/small/tomoe_logo.png?1601377449",
math: "https://assets.coingecko.com/coins/images/11335/small/2020-05-19-token-200.png?1589940590",
"spell-token":
"https://assets.coingecko.com/coins/images/15861/small/abracadabra-3.png?1622544862",
"mirror-protocol":
"https://assets.coingecko.com/coins/images/13295/small/mirror_logo_transparent.png?1611554658",
"governance-ohm":
"https://assets.coingecko.com/coins/images/21129/small/token_wsOHM_logo.png?1638764900",
wasder:
"https://assets.coingecko.com/coins/images/15374/small/wasderlogo200x200.png?1620691729",
"basic-attention-token":
"https://assets.coingecko.com/coins/images/677/small/basic-attention-token.png?1547034427",
decentraland:
"https://assets.coingecko.com/coins/images/878/small/decentraland-mana.png?1550108745",
"1inch":
"https://assets.coingecko.com/coins/images/13469/small/1inch-token.png?1608803028",
gala: "https://assets.coingecko.com/coins/images/12493/small/GALA-COINGECKO.png?1600233435",
audius:
"https://assets.coingecko.com/coins/images/12913/small/AudiusCoinLogo_2x.png?1603425727",
ageur:
"https://assets.coingecko.com/coins/images/19479/small/agEUR.png?1635283566",
usdk: "https://assets.coingecko.com/coins/images/8824/small/usdk.png?1563418517",
bancor:
"https://assets.coingecko.com/coins/images/736/small/bancor-bnt.png?1628822309",
uniswap:
"https://assets.coingecko.com/coins/images/12504/small/uniswap-uni.png?1600306604",
ovr: "https://assets.coingecko.com/coins/images/13429/small/ovr_logo.png?1608518911",
augur:
"https://assets.coingecko.com/coins/images/309/small/REP.png?1596339859",
"wrapped-bitcoin":
"https://assets.coingecko.com/coins/images/7598/small/wrapped_bitcoin_wbtc.png?1548822744",
jpyc: "https://assets.coingecko.com/coins/images/17277/small/WoZ8rruL_400x400.png?1627016492",
"ufo-gaming":
"https://assets.coingecko.com/coins/images/16801/small/ufo.png?1644048038",
"dds-store":
"https://assets.coingecko.com/coins/images/13946/small/11qbAbzb_400x400.png?1613172588",
"hlth-token":
"https://assets.coingecko.com/coins/images/18637/small/hlth.png?1639728357",
aleph:
"https://assets.coingecko.com/coins/images/11676/small/Monochram-aleph.png?1608483725",
hex: "https://assets.coingecko.com/coins/images/10103/small/HEX-logo.png?1575942673",
"cream-2":
"https://assets.coingecko.com/coins/images/11976/small/Cream.png?1596593418",
throne:
"https://assets.coingecko.com/coins/images/16965/small/aXhD3i_g_400x400.jpg?1625804145",
"angle-protocol":
"https://assets.coingecko.com/coins/images/19060/small/ANGLE_Token_Logo.png?1635281291",
rune: "https://assets.coingecko.com/coins/images/15606/small/rune-200x200.png?1621315121",
"akita-inu":
"https://assets.coingecko.com/coins/images/14115/small/logo_%282%29.png?1644913173",
ramp: "https://assets.coingecko.com/coins/images/12837/small/RAMP-Logo-v2-1000pxsq.png?1617952606",
"frax-share":
"https://assets.coingecko.com/coins/images/13423/small/frax_share.png?1608478989",
chiliz:
"https://assets.coingecko.com/coins/images/8834/small/Chiliz.png?1561970540",
parsiq:
"https://assets.coingecko.com/coins/images/11973/small/DsNgK0O.png?1596590280",
"elite-swap":
"https://assets.coingecko.com/coins/images/13715/small/logo_-_2021-01-20T105016.992.png?1611111027",
kleekai:
"https://assets.coingecko.com/coins/images/15548/small/Klee-Kai-Logo.png?1628258448",
olympus:
"https://assets.coingecko.com/coins/images/14483/small/token_OHM_%281%29.png?1628311611",
"the-sandbox":
"https://assets.coingecko.com/coins/images/12129/small/sandbox_logo.jpg?1597397942",
opendao:
"https://assets.coingecko.com/coins/images/21956/small/fo42wXI6_400x400.jpg?1640373810",
chain:
"https://assets.coingecko.com/coins/images/19678/small/Chain_icon.png?1635741399",
civic:
"https://assets.coingecko.com/coins/images/788/small/Civic-logo-blue.png?1636393120",
"hot-cross":
"https://assets.coingecko.com/coins/images/15706/small/Hotcross.png?1632197570",
"pax-gold":
"https://assets.coingecko.com/coins/images/9519/small/paxg.PNG?1568542565",
"gemma-extending-tech":
"https://assets.coingecko.com/coins/images/12226/small/200.png?1643188059",
"the-4th-pillar":
"https://assets.coingecko.com/coins/images/3434/small/four-ticker-2021-256x256.png?1617702287",
ridotto:
"https://assets.coingecko.com/coins/images/18671/small/200x200_%2832%29.png?1632875527",
chronobank:
"https://assets.coingecko.com/coins/images/604/small/time-32x32.png?1627130666",
hxro: "https://assets.coingecko.com/coins/images/7805/small/Hxro_Profile_Transparent.png?1622443308",
fantom:
"https://assets.coingecko.com/coins/images/4001/small/Fantom.png?1558015016",
"binance-usd":
"https://assets.coingecko.com/coins/images/9576/small/BUSD.png?1568947766",
"ftx-token":
"https://assets.coingecko.com/coins/images/9026/small/F.png?1609051564",
vlaunch:
"https://assets.coingecko.com/coins/images/20838/small/vlaunch_22.png?1637738535",
contentos:
"https://assets.coingecko.com/coins/images/8379/small/4036.png?1561085375",
"lido-dao":
"https://assets.coingecko.com/coins/images/13573/small/Lido_DAO.png?1609873644",
"jokermanor-metaverse":
"https://assets.coingecko.com/coins/images/20556/small/14732.png?1637208904",
"pancake-games":
"https://assets.coingecko.com/coins/images/20217/small/6oc-L2UC_400x400.png?1636671365",
launchpool:
"https://assets.coingecko.com/coins/images/14041/small/dGUvV0HQ_400x400.jpg?1613976219",
pixelverse:
"https://assets.coingecko.com/coins/images/19934/small/pixelverse.PNG?1636325521",
"poolz-finance":
"https://assets.coingecko.com/coins/images/13679/small/poolz_logo.png?1610806091",
dai: "https://assets.coingecko.com/coins/images/9956/small/4943.png?1636636734",
million:
"https://assets.coingecko.com/coins/images/16825/small/logo200x200.png?1625834139",
gene: "https://assets.coingecko.com/coins/images/14145/small/logo.a60a0c80_%281%29.png?1614653629",
"render-token":
"https://assets.coingecko.com/coins/images/11636/small/rndr.png?1638840934",
"nord-finance":
"https://assets.coingecko.com/coins/images/13630/small/nord.jpg?1610465136",
"genaro-network":
"https://assets.coingecko.com/coins/images/1361/small/genaro-network.png?1547035387",
"bird-money":
"https://assets.coingecko.com/coins/images/13260/small/favicon-180x180.png?1611546646",
"anchor-beth-token":
"https://assets.coingecko.com/coins/images/21002/small/bETH.png?1638187691",
xsgd: "https://assets.coingecko.com/coins/images/12832/small/StraitsX_Singapore_Dollar_%28XSGD%29_Token_Logo.png?1633936813",
"orion-money":
"https://assets.coingecko.com/coins/images/18630/small/YtrqPIWc.png?1632710781",
xdefi:
"https://assets.coingecko.com/coins/images/19524/small/xdefi.png?1637917251",
"metaverse-index":
"https://assets.coingecko.com/coins/images/14684/small/MVI_logo.png?1617776444",
"dogelon-mars":
"https://assets.coingecko.com/coins/images/14962/small/6GxcPRo3_400x400.jpg?1619157413",
"xcad-network":
"https://assets.coingecko.com/coins/images/15857/small/xcad.PNG?1622164789",
sarcophagus:
"https://assets.coingecko.com/coins/images/15091/small/E2S2-CcUcAAyNxD.jpeg?1622519884",
xsigma:
"https://assets.coingecko.com/coins/images/14090/small/logo_128.png?1619775781",
hedget:
"https://assets.coingecko.com/coins/images/12453/small/Hedget.png?1599944809",
constitutiondao:
"https://assets.coingecko.com/coins/images/20612/small/GN_UVm3d_400x400.jpg?1637294355",
"matic-network":
"https://assets.coingecko.com/coins/images/4713/small/matic-token-icon.png?1624446912",
"wrapped-steth":
"https://assets.coingecko.com/coins/images/18834/small/wstETH.png?1633565443",
polkastarter:
"https://assets.coingecko.com/coins/images/12648/small/polkastarter.png?1609813702",
frax: "https://assets.coingecko.com/coins/images/13422/small/frax_logo.png?1608476506",
upbots:
"https://assets.coingecko.com/coins/images/12476/small/UBXT.png?1600132967",
"keep-network":
"https://assets.coingecko.com/coins/images/3373/small/IuNzUb5b_400x400.jpg?1589526336",
"reserve-rights-token":
"https://assets.coingecko.com/coins/images/8365/small/rsr.png?1637983320",
"swag-finance":
"https://assets.coingecko.com/coins/images/12805/small/photo_2020-10-14_23.17.02.jpeg?1602688642",
opium:
"https://assets.coingecko.com/coins/images/13758/small/opium-token-black_%281%29.png?1611767960",
akropolis:
"https://assets.coingecko.com/coins/images/3328/small/Akropolis.png?1547037929",
swipe:
"https://assets.coingecko.com/coins/images/9368/small/swipe.png?1566792311",
dydx: "https://assets.coingecko.com/coins/images/17500/small/hjnIm9bV.jpg?1628009360",
"shiba-inu":
"https://assets.coingecko.com/coins/images/11939/small/shiba.png?1622619446",
"magic-internet-money":
"https://assets.coingecko.com/coins/images/16786/small/mimlogopng.png?1624979612",
artem:
"https://assets.coingecko.com/coins/images/21998/small/ARTM_Logo_MAIN_%281%29.png?1644469331",
"binance-wrapped-btc":
"https://assets.coingecko.com/coins/images/14867/small/binance-btc_32.png?1618814666",
gaj: "https://assets.coingecko.com/coins/images/15257/small/logo200x200.png?1629887093",
quiztok:
"https://assets.coingecko.com/coins/images/8208/small/QTCON.png?1587543372",
"bxmi-token":
"https://assets.coingecko.com/coins/images/20859/small/1QE9Pge.png?1637803118",
"redfox-labs-2":
"https://assets.coingecko.com/coins/images/12956/small/rfox.png?1642926902",
"wrapped-ust":
"https://assets.coingecko.com/coins/images/15462/small/ust.png?1620910058",
lunachow:
"https://assets.coingecko.com/coins/images/18805/small/J-MwYfhD_400x400.jpg?1633475157",
terrausd:
"https://assets.coingecko.com/coins/images/12681/small/UST.png?1601612407",
"celsius-degree-token":
"https://assets.coingecko.com/coins/images/3263/small/CEL_logo.png?1609598753",
"my-neighbor-alice":
"https://assets.coingecko.com/coins/images/14375/small/alice_logo.jpg?1615782968",
"yield-optimization-platform":
"https://assets.coingecko.com/coins/images/13678/small/J7zykPx.jpg?1610802162",
"staked-ether":
"https://assets.coingecko.com/coins/images/13442/small/steth_logo.png?1608607546",
"lua-token":
"https://assets.coingecko.com/coins/images/12627/small/Screenshot_2020-09-28_at_6.24.59_PM.jpg?1601288721",
"amy-finance":
"https://assets.coingecko.com/coins/images/18719/small/9oSy6bTl_400x400.png?1633127387",
binancecoin:
"https://assets.coingecko.com/coins/images/825/small/bnb-icon2_2x.png?1644979850",
"axie-infinity":
"https://assets.coingecko.com/coins/images/13029/small/axie_infinity_logo.png?1604471082",
"ethernity-chain":
"https://assets.coingecko.com/coins/images/14238/small/ethernity_logo.png?1615189750",
"perpetual-protocol":
"https://assets.coingecko.com/coins/images/12381/small/60d18e06844a844ad75901a9_mark_only_03.png?1628674771",
"compound-governance-token":
"https://assets.coingecko.com/coins/images/10775/small/COMP.png?1592625425",
weth: "https://assets.coingecko.com/coins/images/2518/small/weth.png?1628852295",
"ethereum-name-service":
"https://assets.coingecko.com/coins/images/19785/small/acatxTm8_400x400.jpg?1635850140",
erc20:
"https://assets.coingecko.com/coins/images/1141/small/0c213e0a1ee44bd8a3c952ffc5bc5a45.png?1628771346",
"chain-games":
"https://assets.coingecko.com/coins/images/12257/small/chain-logo-centered-500x500.png?1599617244",
"interest-bearing-bitcoin":
"https://assets.coingecko.com/coins/images/15500/small/ibbtc.png?1621077589",
"free-novak":
"https://assets.coingecko.com/coins/images/23370/small/logo_%282%29.png?1643955421",
"the-graph":
"https://assets.coingecko.com/coins/images/13397/small/Graph_Token.png?1608145566",
"vega-protocol":
"https://assets.coingecko.com/coins/images/15870/small/vega.PNG?1622178218",
"smooth-love-potion":
"https://assets.coingecko.com/coins/images/10366/small/SLP.png?1578640057",
torg: "https://assets.coingecko.com/coins/images/17596/small/TORG_Logo_200x200.png?1628586056",
"terra-virtua-kolect":
"https://assets.coingecko.com/coins/images/13330/small/CoinGLogo.png?1607507042",
"wrapped-terra":
"https://assets.coingecko.com/coins/images/13628/small/wluna.png?1610448334",
"zam-io":
"https://assets.coingecko.com/coins/images/19522/small/zam.png?1635324134",
covalent:
"https://assets.coingecko.com/coins/images/14168/small/covalent-cqt.png?1624545218",
ampleforth:
"https://assets.coingecko.com/coins/images/4708/small/Ampleforth.png?1561684250",
"shield-finance":
"https://assets.coingecko.com/coins/images/15813/small/3FYKlPka_400x400.png?1621980007",
cindicator:
"https://assets.coingecko.com/coins/images/1006/small/cindicator.png?1547034913",
"curve-dao-token":
"https://assets.coingecko.com/coins/images/12124/small/Curve.png?1597369484",
"safe-coin":
"https://assets.coingecko.com/coins/images/4938/small/safe-coin-logo.png?1547040363",
adapad:
"https://assets.coingecko.com/coins/images/18273/small/EhSqPTtG_400x400.jpg?1631181091",
"crowny-token":
"https://assets.coingecko.com/coins/images/14958/small/crowny-icon-rounded_2x.png?1619147225",
"gera-coin":
"https://assets.coingecko.com/coins/images/13686/small/GeraCoin_Logo-icon-1000px.png?1610919942",
husd: "https://assets.coingecko.com/coins/images/9567/small/HUSD.jpg?1568889385",
"feisty-doge-nft":
"https://assets.coingecko.com/coins/images/17834/small/doge-fractionalized.png?1629390495",
curate:
"https://assets.coingecko.com/coins/images/13327/small/400x400_%281%29_%283%29_%282%29.png?1613998208",
banana:
"https://assets.coingecko.com/coins/images/17521/small/bananaa.png?1628091607",
"injective-protocol":
"https://assets.coingecko.com/coins/images/12882/small/Secondary_Symbol.png?1628233237",
pillar:
"https://assets.coingecko.com/coins/images/809/small/v2logo-1.png?1624906282",
bitspawn:
"https://assets.coingecko.com/coins/images/16513/small/token_logo.png?1631603192",
defire:
"https://assets.coingecko.com/coins/images/15722/small/defire.PNG?1621635373",
nftlaunch:
"https://assets.coingecko.com/coins/images/18140/small/nftl.PNG?1630652662",
pontoon:
"https://assets.coingecko.com/coins/images/19575/small/pontoon.PNG?1635467899",
chronologic:
"https://assets.coingecko.com/coins/images/951/small/Chronologic-network.png?1547034815",
everid:
"https://assets.coingecko.com/coins/images/5209/small/Everest.jpg?1628042930",
botxcoin:
"https://assets.coingecko.com/coins/images/6827/small/botx.jpg?1548317786",
"ice-token":
"https://assets.coingecko.com/coins/images/14586/small/ice.png?1617188825",
charli3:
"https://assets.coingecko.com/coins/images/15052/small/Charli3-Profile-Icon-1.png?1642643567",
"rally-2":
"https://assets.coingecko.com/coins/images/12843/small/image.png?1611212077",
enjincoin:
"https://assets.coingecko.com/coins/images/1102/small/enjin-coin-logo.png?1547035078",
"frontier-token":
"https://assets.coingecko.com/coins/images/12479/small/frontier_logo.png?1600145472",
essentia:
"https://assets.coingecko.com/coins/images/2483/small/Essentia-token.jpg?1547036604",
orbs: "https://assets.coingecko.com/coins/images/4630/small/Orbs.jpg?1547039896",
"nexus-governance-token":
"https://assets.coingecko.com/coins/images/19080/small/aK3V5I56_400x400.jpg?1634304970",
playnity:
"https://assets.coingecko.com/coins/images/21479/small/ply.png?1639651574",
starterra:
"https://assets.coingecko.com/coins/images/17715/small/starterra-logo.png?1629084125",
"mirrored-tesla":
"https://assets.coingecko.com/coins/images/13644/small/mirror_logo_transparent.png?1611565294",
"anchor-protocol":
"https://assets.coingecko.com/coins/images/14420/small/anchor_protocol_logo.jpg?1615965420",
"mirrored-amazon":
"https://assets.coingecko.com/coins/images/13646/small/mirror_logo_transparent.png?1611565645",
bitlocus:
"https://assets.coingecko.com/coins/images/20913/small/btl.png?1637922710",
"mirrored-spdr-s-p-500":
"https://assets.coingecko.com/coins/images/21088/small/mir.png?1638323591",
"mirrored-airbnb":
"https://assets.coingecko.com/coins/images/14022/small/mirror_logo_transparent.png?1613719600",
anchorust:
"https://assets.coingecko.com/coins/images/21097/small/aust.png?1638324579",
"mirrored-netflix":
"https://assets.coingecko.com/coins/images/13643/small/mirror_logo_transparent.png?1611565277",
"pylon-protocol":
"https://assets.coingecko.com/coins/images/16859/small/pylon_logo.png?1625466331",
"mirrored-apple":
"https://assets.coingecko.com/coins/images/13514/small/mirror_logo_transparent.png?1611564758",
secret:
"https://assets.coingecko.com/coins/images/11871/small/Secret.png?1595520186",
"ethereum-meta":
"https://assets.coingecko.com/coins/images/6586/small/ethereum-meta.png?1548125409",
cake: "https://assets.coingecko.com/coins/images/21639/small/cake.png?1639630973",
"radio-caca":
"https://assets.coingecko.com/coins/images/17841/small/ez44_BSs_400x400.jpg?1629464170",
"polychain-monsters":
"https://assets.coingecko.com/coins/images/14604/small/polkamon.png?1617238350",
"panda-dao":
"https://assets.coingecko.com/coins/images/14295/small/logo_Panda_Dao.png?1617277854",
lasereyes:
"https://assets.coingecko.com/coins/images/22597/small/lsr.png?1643524878",
"wall-street-bets-dapp":
"https://assets.coingecko.com/coins/images/15093/small/Pe1mrDu.png?1629882480",
"binance-eth":
"https://assets.coingecko.com/coins/images/13804/small/Binnace.png?1611997829",
soldoge:
"https://assets.coingecko.com/coins/images/19746/small/2L4aX1r.png?1635822424",
"odin-protocol":
"https://assets.coingecko.com/coins/images/14934/small/ODIN_iso_black.png?1619076975",
recharge:
"https://assets.coingecko.com/coins/images/18120/small/thecharge.PNG?1630559768",
mysterium:
"https://assets.coingecko.com/coins/images/757/small/mysterium.png?1547034503",
"plant-vs-undead-token":
"https://assets.coingecko.com/coins/images/17461/small/token-200x200.png?1627883446",
insurace:
"https://assets.coingecko.com/coins/images/14226/small/insur.png?1615124622",
cardano:
"https://assets.coingecko.com/coins/images/975/small/cardano.png?1547034860",
echoin:
"https://assets.coingecko.com/coins/images/9354/small/L32_KzNQ_400x400.jpg?1566513096",
solana:
"https://assets.coingecko.com/coins/images/4128/small/solana.png?1640133422",
litecoin:
"https://assets.coingecko.com/coins/images/2/small/litecoin.png?1547033580",
wolfsafepoorpeople:
"https://assets.coingecko.com/coins/images/17090/small/wspplogo.png?1626187594",
"spongebob-square":
"https://assets.coingecko.com/coins/images/22772/small/Spnge.png?1642576286",
"globaltrustfund-token":
"https://assets.coingecko.com/coins/images/11817/small/gtf.png?1594679456",
"trust-wallet-token":
"https://assets.coingecko.com/coins/images/11085/small/Trust.png?1588062702",
"crypto-fight-club":
"https://assets.coingecko.com/coins/images/21695/small/zGwwAgL.png?1639721544",
ztcoin:
"https://assets.coingecko.com/coins/images/6566/small/ztcoin.jpg?1547042777",
wraith:
"https://assets.coingecko.com/coins/images/18099/small/LOGOTRANS-1.png?1630475109",
investin:
"https://assets.coingecko.com/coins/images/15588/small/ivn_logo.png?1621267247",
psyoptions:
"https://assets.coingecko.com/coins/images/22784/small/download.png?1642580392",
polkadot:
"https://assets.coingecko.com/coins/images/12171/small/polkadot.png?1639712644",
"binance-bitcoin":
"https://assets.coingecko.com/coins/images/14108/small/Binance-bitcoin.png?1617332330",
shirtum:
"https://assets.coingecko.com/coins/images/16955/small/4fWlpC0.png?1625794164",
"planet-finance":
"https://assets.coingecko.com/coins/images/15710/small/aqua-icon.png?1621583770",
"musk-metaverse":
"https://assets.coingecko.com/coins/images/21822/small/Logo-Symbol-kh-ng-n-n.png?1640075758",
"oly-sport":
"https://assets.coingecko.com/coins/images/19930/small/oly_sport.PNG?1636323685",
"wrapped-avax":
"https://assets.coingecko.com/coins/images/15075/small/wrapped-avax.png?1629873618",
safemoon:
"https://assets.coingecko.com/coins/images/14362/small/174x174-white.png?1617174846",
hashpanda:
"https://assets.coingecko.com/coins/images/15903/small/logo_-_2021-05-31T060013.983.png?1622412025",
benqi:
"https://assets.coingecko.com/coins/images/16362/small/GergDDN3_400x400.jpg?1644984441",
"vent-finance":
"https://assets.coingecko.com/coins/images/17925/small/Artboard_29.png?1629804982",
gemguardian:
"https://assets.coingecko.com/coins/images/18614/small/gemg.PNG?1632697389",
nuls: "https://assets.coingecko.com/coins/images/1053/small/Nuls.png?1556868153",
openocean:
"https://assets.coingecko.com/coins/images/17014/small/ooe_log.png?1626074195",
synchrony:
"https://assets.coingecko.com/coins/images/19308/small/SYNCHRONY-LOGO.png?1634973091",
biswap:
"https://assets.coingecko.com/coins/images/16845/small/biswap.png?1625388985",
iotex:
"https://assets.coingecko.com/coins/images/3334/small/iotex-logo.png?1547037941",
"dogemon-go":
"https://assets.coingecko.com/coins/images/17480/small/dogemongo.PNG?1627950869",
nothing:
"https://assets.coingecko.com/coins/images/16090/small/Gecko-200x200.png?1624544349",
coin98:
"https://assets.coingecko.com/coins/images/17117/small/logo.png?1626412904",
"numbers-protocol":
"https://assets.coingecko.com/coins/images/20495/small/5J3RAUO2_400x400.jpg?1637131666",
maticverse:
"https://assets.coingecko.com/coins/images/18403/small/A0782-F05-535-C-45-C8-BE4-F-FEBB4-B8-B5933.jpg?1631792934",
dogecoin:
"https://assets.coingecko.com/coins/images/5/small/dogecoin.png?1547792256",
wbnb: "https://assets.coingecko.com/coins/images/12591/small/binance-coin-logo.png?1600947313",
idefiyieldprotocol:
"https://assets.coingecko.com/coins/images/21976/small/i-DYP-Logo-1.png?1640570294",
catzcoin:
"https://assets.coingecko.com/coins/images/15519/small/MX0hFr7.jpeg?1621118815",
"lucky-lion":
"https://assets.coingecko.com/coins/images/18712/small/lucky-token-200px.png?1633079262",
infinitup:
"https://assets.coingecko.com/coins/images/18890/small/fc_qo2M7_400x400.jpg?1633749805",
"baby-doge-coin":
"https://assets.coingecko.com/coins/images/16125/small/Baby_Doge.png?1623044048",
"safuyield-protocol":
"https://assets.coingecko.com/coins/images/17021/small/safuyield.png?1626098281",
"biconomy-exchange-token":
"https://assets.coingecko.com/coins/images/18198/small/mGky0OOh_400x400.jpg?1630965301",
"green-shiba-inu":
"https://assets.coingecko.com/coins/images/15649/small/inu-logo-new-200x200.png?1625578449",
"beefy-finance":
"https://assets.coingecko.com/coins/images/12704/small/token.png?1601876182",
"orion-protocol":
"https://assets.coingecko.com/coins/images/11841/small/orion_logo.png?1594943318",
catecoin:
"https://assets.coingecko.com/coins/images/15364/small/logo.png?1620647627",
rougecoin:
"https://assets.coingecko.com/coins/images/14621/small/rougecoin.png?1617265377",
"token-pocket":
"https://assets.coingecko.com/coins/images/7603/small/_E6sbg1g_400x400.jpg?1548828066",
starlaunch:
"https://assets.coingecko.com/coins/images/20109/small/OP3eksDQ_400x400.png?1636513478",
ontology:
"https://assets.coingecko.com/coins/images/3447/small/ONT.png?1583481820",
chi: "https://assets.coingecko.com/coins/images/20130/small/sIuRXww.png?1636528063",
wmatic:
"https://assets.coingecko.com/coins/images/14073/small/matic.png?1628852392",
"aave-polygon-usdc":
"https://assets.coingecko.com/coins/images/17249/small/amUSDC_2x.png?1626941306",
"data-economy-index":
"https://assets.coingecko.com/coins/images/18500/small/data_32.png?1632209427",
ispolink:
"https://assets.coingecko.com/coins/images/15283/small/isolink.PNG?1620352267",
celo: "https://assets.coingecko.com/coins/images/11090/small/icon-celo-CELO-color-500.png?1592293590",
"saitama-inu":
"https://assets.coingecko.com/coins/images/16353/small/Capture.PNG?1632126703",
"true-usd":
"https://assets.coingecko.com/coins/images/3449/small/tusd.png?1618395665",
"eagonswap-token":
"https://assets.coingecko.com/coins/images/20431/small/IMG-20210912-WA0003.jpg?1637035180",
easyfi:
"https://assets.coingecko.com/coins/images/12742/small/Logo_Icon.png?1624471467",
streamr:
"https://assets.coingecko.com/coins/images/17869/small/DATA_new_symbol_3x.png?1629692324",
"internet-node-token":
"https://assets.coingecko.com/coins/images/2519/small/int-logo-red-transparent_200x200.png?1617251612",
"0xmonero":
"https://assets.coingecko.com/coins/images/11035/small/0xmnr.PNG?1587357680",
one: "https://assets.coingecko.com/coins/images/4960/small/Screenshot_39.png?1561103318",
"gaia-everworld":
"https://assets.coingecko.com/coins/images/19629/small/gaia_icon_new.png?1637559277",
quick:
"https://assets.coingecko.com/coins/images/13970/small/1_pOU6pBMEmiL-ZJVb0CYRjQ.png?1613386659",
"tixl-new":
"https://assets.coingecko.com/coins/images/12432/small/Tixl-Logo-200-transparent.png?1610248504",
"hakka-finance":
"https://assets.coingecko.com/coins/images/12163/small/Hakka-icon.png?1597746776",
"aurora-dao":
"https://assets.coingecko.com/coins/images/2565/small/logomark-purple-286x286.png?1638362736",
mimatic:
"https://assets.coingecko.com/coins/images/15264/small/mimatic-red.png?1620281018",
sifchain:
"https://assets.coingecko.com/coins/images/14044/small/EROWAN.png?1614656300",
"polygon-ecosystem-index":
"https://assets.coingecko.com/coins/images/19270/small/amun-peco.png?1634868167",
"iron-titanium-token":
"https://assets.coingecko.com/coins/images/16031/small/titan.png?1636080284",
boozedoge:
"https://assets.coingecko.com/coins/images/18852/small/Booze-Logo-CMC.png?1633592459",
banano:
"https://assets.coingecko.com/coins/images/6226/small/banano-transparent.png?1619589798",
tryhards:
"https://assets.coingecko.com/coins/images/18624/small/Q22nU_z4_400x400.jpg?1632702444",
"dragons-quick":
"https://assets.coingecko.com/coins/images/15185/small/quickswap.png?1620044811",
"wrapped-memory":
"https://assets.coingecko.com/coins/images/22392/small/wmemo.png?1641792100",
joe: "https://assets.coingecko.com/coins/images/17569/small/joe_200x200.png?1628497750",
livepeer:
"https://assets.coingecko.com/coins/images/7137/small/logo-circle-green.png?1619593365",
"celer-network":
"https://assets.coingecko.com/coins/images/4379/small/Celr.png?1554705437",
};

View File

@ -497,6 +497,8 @@ export const COVALENT_GET_TOKENS_URL = (
nft ? "&nft=true" : ""
}${noNftMetadata ? "&no-nft-fetch=true" : ""}`;
};
export const TVL_URL =
"https://europe-west3-wormhole-315720.cloudfunctions.net/mainnet-notionaltvl";
export const TERRA_SWAPRATE_URL =
"https://fcd.terra.dev/v1/market/swaprate/uusd";
@ -813,6 +815,10 @@ export const VAA_EMITTER_ADDRESSES = [
`${CHAIN_ID_BSC}:0000000000000000000000005a58505a96d1dbf8df91cb21b54419fc36e93fde`, //bsc nft
`${CHAIN_ID_POLYGON}:0000000000000000000000005a58505a96d1dbf8df91cb21b54419fc36e93fde`, //Polygon
`${CHAIN_ID_POLYGON}:00000000000000000000000090bbd86a6fe93d3bc3ed6335935447e75fab7fcf`, //Polygon nft
`${CHAIN_ID_AVAX}:0000000000000000000000000e082f06ff657d94310cb8ce8b0d9a04541d8052`, //AVAX
`${CHAIN_ID_AVAX}:000000000000000000000000f7b6737ca9c4e08ae573f75a97b73d7a813f5de5`, //AVAX nft
`${CHAIN_ID_OASIS}:0000000000000000000000005848c791e09901b40a9ef749f2a6735b418d7564`, //OASIS
`${CHAIN_ID_OASIS}:00000000000000000000000004952D522Ff217f40B5Ef3cbF659EcA7b952a6c1`, //OASIS nft
];
export const WORMHOLE_EXPLORER_BASE = "https://wormholenetwork.com/en/explorer";