144 lines
3.7 KiB
JavaScript
144 lines
3.7 KiB
JavaScript
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;
|
|
}
|