import { DAI_ADDRESSES, FTSO_ADDRESSES, STNK_ADDRESSES, GHST_ADDRESSES, FTSO_DAI_LP_ADDRESSES, } from "../constants/addresses"; import { abi as DaiAbi } from "../abi/Reserve.json"; import { abi as FatsoAbi } from "../abi/Fatso.json"; import { abi as StinkyAbi } from "../abi/Stinky.json"; import { abi as GhostAbi } from "../abi/Ghost.json"; import { abi as Erc20Abi } from "../abi/ERC20.json"; export const getTokenAbi = (name) => { let abi = Erc20Abi; switch (name?.toUpperCase()) { case "GDAI": abi = DaiAbi; break; case "FTSO": abi = FatsoAbi; break; case "STNK": abi = StinkyAbi; break; case "GHST": abi = GhostAbi; break; } return abi; } export const getTokenDecimals = (name) => { let decimals = 18; switch (name?.toUpperCase()) { case "GDAI": decimals = 18; break; case "FTSO": decimals = 9; break; case "STNK": decimals = 9; break; case "GHST": decimals = 18; break; } return decimals; } export const getTokenAddress = (chainId, name) => { let address = name; switch (name?.toUpperCase()) { case "GDAI": address = DAI_ADDRESSES[chainId]; break; case "FTSO": address = FTSO_ADDRESSES[chainId]; break; case "STNK": address = STNK_ADDRESSES[chainId]; break; case "GHST": address = GHST_ADDRESSES[chainId]; break; case "DAI_FTSO": address = FTSO_DAI_LP_ADDRESSES[chainId]; break; } return address; } export const getTokenIcons = (chainId, address) => { let icons = [""]; switch (address) { case DAI_ADDRESSES[chainId]: icons = ["GDAI"]; break; case FTSO_ADDRESSES[chainId]: icons = ["FTSO"]; break; case STNK_ADDRESSES[chainId]: icons = "STNK"; break; case GHST_ADDRESSES[chainId]: icons = ["GHST"]; break; case FTSO_DAI_LP_ADDRESSES[chainId]: icons = ["FTSO", "GDAI"]; break; } return icons; } export const getTokenName = (chainId, address) => { let name = ""; switch (address) { case DAI_ADDRESSES[chainId]: name = "gDAI"; break; case FTSO_ADDRESSES[chainId]: name = "FTSO"; break; case STNK_ADDRESSES[chainId]: name = "STNK"; break; case GHST_ADDRESSES[chainId]: name = "GHST"; break; case FTSO_DAI_LP_ADDRESSES[chainId]: name = "UNI-V2"; break; } return name; } export const getBondNameDisplayName = (chainId, tokenAddress) => { let bondName = ""; switch (tokenAddress) { case DAI_ADDRESSES[chainId]: bondName = "FTSO/gDAI"; break; case FTSO_DAI_LP_ADDRESSES[chainId]: bondName = "LP FTSO/gDAI" break; } return bondName; } export const getTokenPurchaseLink = (chainId, tokenAddress) => { let purchaseUrl = "https://app.dao.ghostchain.io/#/dex/uniswap"; switch (tokenAddress) { case DAI_ADDRESSES[chainId]: purchaseUrl = "https://app.dao.ghostchain.io/#/faucet"; break; case FTSO_DAI_LP_ADDRESSES[chainId]: purchaseUrl += `?pool=true&from=${DAI_ADDRESSES[chainId]}&to=${FTSO_ADDRESSES[chainId]}`; break; } return purchaseUrl; }