From 7e2f5c8f73285bb00c3dd24b0d30690bbe32d518 Mon Sep 17 00:00:00 2001 From: Hom Yan Date: Wed, 16 Mar 2022 13:56:19 +0800 Subject: [PATCH 1/3] chore: migrate ERC20 token creation to web3-shared-evm --- .../plugins/GoodGhosting/UI/GameAction.tsx | 2 +- .../src/plugins/GoodGhosting/constants.ts | 9 --- .../plugins/GoodGhosting/hooks/usePoolData.ts | 10 ++- .../plugins/Trader/constants/pangolindex.ts | 3 +- .../src/plugins/Trader/constants/quickswap.ts | 3 +- .../plugins/Trader/constants/sashimiswap.ts | 3 +- .../src/plugins/Trader/constants/sushiswap.ts | 5 +- .../src/plugins/Trader/constants/trader.ts | 78 ------------------ .../src/plugins/Trader/constants/traderjoe.ts | 3 +- .../plugins/Trader/constants/trisolaris.ts | 3 +- .../src/plugins/Trader/constants/uniswap.ts | 3 +- .../src/plugins/Trader/constants/wannaswap.ts | 3 +- packages/web3-shared/evm/constants/index.ts | 1 + packages/web3-shared/evm/constants/tokens.ts | 80 +++++++++++++++++++ 14 files changed, 100 insertions(+), 106 deletions(-) create mode 100644 packages/web3-shared/evm/constants/tokens.ts diff --git a/packages/mask/src/plugins/GoodGhosting/UI/GameAction.tsx b/packages/mask/src/plugins/GoodGhosting/UI/GameAction.tsx index 17bb54d1dc4c..25f07815dde2 100644 --- a/packages/mask/src/plugins/GoodGhosting/UI/GameAction.tsx +++ b/packages/mask/src/plugins/GoodGhosting/UI/GameAction.tsx @@ -4,6 +4,7 @@ import { TransactionStateType, useChainId, useERC20TokenDetailed, + DAI, } from '@masknet/web3-shared-evm' import { Button, Typography, Link } from '@mui/material' import { makeStyles } from '@masknet/theme' @@ -11,7 +12,6 @@ import { useState } from 'react' import { useI18N } from '../../../utils' import { useJoinGame, useMakeDeposit, useWithdraw } from '../hooks/useGameActions' import type { GoodGhostingInfo } from '../types' -import { DAI } from '../constants' import { GameActionDialog } from './GameActionDialog' import { useGameToken } from '../hooks/usePoolData' import { isGameActionError } from '../utils' diff --git a/packages/mask/src/plugins/GoodGhosting/constants.ts b/packages/mask/src/plugins/GoodGhosting/constants.ts index 830710a8a49d..61088a2d98db 100644 --- a/packages/mask/src/plugins/GoodGhosting/constants.ts +++ b/packages/mask/src/plugins/GoodGhosting/constants.ts @@ -1,15 +1,6 @@ import { PluginId } from '@masknet/plugin-infra' -import { createERC20Tokens, getChainDetailed } from '@masknet/web3-shared-evm' export const PLUGIN_ID = PluginId.GoodGhosting export const PLUGIN_NAME = 'GoodGhosting' export const PLUGIN_ICON = '\u{1F47B}' export const PLUGIN_DESCRIPTION = 'DeFi savings dApp game.' - -export const DAI = createERC20Tokens('DAI_ADDRESS', 'Dai Stablecoin', 'DAI', 18) -export const WETH = createERC20Tokens( - 'WNATIVE_ADDRESS', - (chainId) => `Wrapped ${getChainDetailed(chainId)?.nativeCurrency.name ?? 'Ether'}`, - (chainId) => `W${getChainDetailed(chainId)?.nativeCurrency.symbol ?? 'ETH'}`, - 18, -) diff --git a/packages/mask/src/plugins/GoodGhosting/hooks/usePoolData.ts b/packages/mask/src/plugins/GoodGhosting/hooks/usePoolData.ts index f8f4b3a09f02..9554eac89111 100644 --- a/packages/mask/src/plugins/GoodGhosting/hooks/usePoolData.ts +++ b/packages/mask/src/plugins/GoodGhosting/hooks/usePoolData.ts @@ -1,8 +1,14 @@ -import { useAssets, useChainId, useERC20TokenContract, useERC20TokenDetailed } from '@masknet/web3-shared-evm' +import { + useAssets, + useChainId, + useERC20TokenContract, + useERC20TokenDetailed, + DAI, + WNATIVE as WETH, +} from '@masknet/web3-shared-evm' import { useState } from 'react' import { useAsyncRetry } from 'react-use' import type { AsyncStateRetry } from 'react-use/lib/useAsyncRetry' -import { DAI, WETH } from '../constants' import { useGoodGhostingContract } from '../contracts/useGoodGhostingContract' import { useGoodGhostingIncentiveContract } from '../contracts/useGoodGhostingIncentivesContract' import type { GameAssets, GoodGhostingInfo, LendingPoolData } from '../types' diff --git a/packages/mask/src/plugins/Trader/constants/pangolindex.ts b/packages/mask/src/plugins/Trader/constants/pangolindex.ts index 009fd8235f6f..c725dce7123d 100644 --- a/packages/mask/src/plugins/Trader/constants/pangolindex.ts +++ b/packages/mask/src/plugins/Trader/constants/pangolindex.ts @@ -1,5 +1,4 @@ -import { ChainId } from '@masknet/web3-shared-evm' -import { DAIe, ETHER, PNG, USDCe, USDTe, WBTCe, WNATIVE, WNATIVE_ONLY } from './trader' +import { ChainId, DAIe, ETHER, PNG, USDCe, USDTe, WBTCe, WNATIVE, WNATIVE_ONLY } from '@masknet/web3-shared-evm' import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' /** diff --git a/packages/mask/src/plugins/Trader/constants/quickswap.ts b/packages/mask/src/plugins/Trader/constants/quickswap.ts index 88445c7ac857..d77abe5bf219 100644 --- a/packages/mask/src/plugins/Trader/constants/quickswap.ts +++ b/packages/mask/src/plugins/Trader/constants/quickswap.ts @@ -1,5 +1,4 @@ -import { ChainId } from '@masknet/web3-shared-evm' -import { DAI, ETHER, maUSDC, QUICK, USDC, USDT, WBTC, WNATIVE, WNATIVE_ONLY } from './trader' +import { ChainId, DAI, ETHER, maUSDC, QUICK, USDC, USDT, WBTC, WNATIVE, WNATIVE_ONLY } from '@masknet/web3-shared-evm' import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' /** diff --git a/packages/mask/src/plugins/Trader/constants/sashimiswap.ts b/packages/mask/src/plugins/Trader/constants/sashimiswap.ts index c69fbff8eb8e..d15911950c44 100644 --- a/packages/mask/src/plugins/Trader/constants/sashimiswap.ts +++ b/packages/mask/src/plugins/Trader/constants/sashimiswap.ts @@ -1,5 +1,4 @@ -import { ChainId } from '@masknet/web3-shared-evm' -import { COMP, DAI, MKR, USDC, USDT, WNATIVE, WNATIVE_ONLY } from './trader' +import { ChainId, COMP, DAI, MKR, USDC, USDT, WNATIVE, WNATIVE_ONLY } from '@masknet/web3-shared-evm' import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' /** diff --git a/packages/mask/src/plugins/Trader/constants/sushiswap.ts b/packages/mask/src/plugins/Trader/constants/sushiswap.ts index 1c77a8e30c71..cf063b9a1af6 100644 --- a/packages/mask/src/plugins/Trader/constants/sushiswap.ts +++ b/packages/mask/src/plugins/Trader/constants/sushiswap.ts @@ -1,5 +1,5 @@ -import { ChainId } from '@masknet/web3-shared-evm' import { + ChainId, DAI, MSKA, MSKB, @@ -17,7 +17,8 @@ import { BTCB, CUSD, CEUR, -} from './trader' +} from '@masknet/web3-shared-evm' + import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' /** diff --git a/packages/mask/src/plugins/Trader/constants/trader.ts b/packages/mask/src/plugins/Trader/constants/trader.ts index 6f8cdc2d5594..d1dc1e6dc30f 100644 --- a/packages/mask/src/plugins/Trader/constants/trader.ts +++ b/packages/mask/src/plugins/Trader/constants/trader.ts @@ -1,83 +1,5 @@ -import { ChainId, createERC20Tokens, getChainDetailed } from '@masknet/web3-shared-evm' import { ONE } from '@masknet/web3-shared-base' import BigNumber from 'bignumber.js' -import type { ERC20AgainstToken } from './types' - -export const USDC = createERC20Tokens('USDC_ADDRESS', 'USD Coin', 'USDC', 6) -export const USDCe = createERC20Tokens('USDC_ADDRESS', 'USD Coin', 'USDCe', 6) -export const USDT = createERC20Tokens('USDT_ADDRESS', 'Tether USD', 'USDT', 6) -export const USDTe = createERC20Tokens('USDT_ADDRESS', 'Tether USD', 'USDT.e', 6) -export const fUSDT = createERC20Tokens('fUSDT_ADDRESS', 'Frapped USDT', 'fUSDT', 6) -export const HUSD = createERC20Tokens('HUSD_ADDRESS', 'Huobi USD', 'HUSD', 6) -export const BUSD = createERC20Tokens('BUSD_ADDRESS', 'Huobi USD', 'BUSD', 6) -export const COMP = createERC20Tokens('COMP_ADDRESS', 'Compound', 'COMP', 18) -export const MKR = createERC20Tokens('MKR_ADDRESS', 'Maker', 'MKR', 18) -export const MSKA = createERC20Tokens('MSKA_ADDRESS', 'Mask A', 'MSKA', 18) -export const MSKB = createERC20Tokens('MSKB_ADDRESS', 'Mask B', 'MSKB', 18) -export const MSKC = createERC20Tokens('MSKC_ADDRESS', 'Mask C', 'MSKC', 18) -export const MSKD = createERC20Tokens('MSKD_ADDRESS', 'Mask D', 'MSKD', 18) -export const MSKE = createERC20Tokens('MSKE_ADDRESS', 'Mask E', 'MSKE', 18) -export const DAI = createERC20Tokens('DAI_ADDRESS', 'Dai Stablecoin', 'DAI', 18) -export const DAIe = createERC20Tokens('DAI_ADDRESS', 'Dai Stablecoin', 'DAI.e', 18) -export const AMPL = createERC20Tokens('AMPL_ADDRESS', 'Ampleforth', 'AMPL', 18) -export const OKB = createERC20Tokens('OKB_ADDRESS', 'Ampleforth', 'OKB', 18) -export const UST = createERC20Tokens('UST_ADDRESS', 'Wrapped UST Token', 'UST', 18) -export const EASY = createERC20Tokens('EASY_ADDRESS', 'EASY', 'EASY', 18) -export const eUSDC = createERC20Tokens('eUSDC_ADDRESS', 'Easy USDC', 'eUSDC', 18) -export const eUSDT = createERC20Tokens('eUSDT_ADDRESS', 'Easy USDT', 'eUSDT', 18) -export const eDAI = createERC20Tokens('eDAI_ADDRESS', 'Easy DAI', 'eDAI', 18) -export const sUSD = createERC20Tokens('sUSD_ADDRESS', 'Synth sUSD', 'sUSD', 18) -export const UNITOKEN = createERC20Tokens('UNITOKEN_ADDRESS', 'Uniswap', 'UNI', 18) -export const TT01 = createERC20Tokens('TT01_ADDRESS', 'Test Token 01', 'TT01', 18) -export const TT02 = createERC20Tokens('TT02_ADDRESS', 'Test Token 02', 'TT02', 18) -export const ETHER = createERC20Tokens('ETHER_ADDRESS', 'Ether', 'ETH', 18) -export const QUICK = createERC20Tokens('QUICK_ADDRESS', 'Quickswap', 'QUICK', 18) -export const WANNA = createERC20Tokens('WANNA_ADDRESS', 'Wannaswap', 'WANNA', 18) -export const WBTC = createERC20Tokens('WBTC_ADDRESS', 'Wrapped Bitcoin', 'WBTC', 18) -export const WBTCe = createERC20Tokens('WBTC_ADDRESS', 'Wrapped Bitcoin', 'WBTCe', 18) -export const IGG = createERC20Tokens('IGG_ADDRESS', 'IG Gold', 'IGG', 18) -export const OM = createERC20Tokens('OM_ADDRESS', 'OM Token', 'OM', 18) -export const SUSHI = createERC20Tokens('SUSHI_ADDRESS', 'SushiToken', 'SUSHI', 18) -export const YAM = createERC20Tokens('YAM_ADDRESS', 'YAM', 'YAM', 18) -export const RUNE = createERC20Tokens('RUNE_ADDRESS', 'RUNE.ETH', 'RUNE', 18) -export const YFI = createERC20Tokens('YFI_ADDRESS', 'Yearn', 'YFI', 18) -export const BTCB = createERC20Tokens('BTCB_ADDRESS', 'Binance BTC', 'BTCB', 18) -export const CAKE = createERC20Tokens('CAKE_ADDRESS', 'PancakeSwap Token', 'CAKE', 18) -export const maUSDC = createERC20Tokens('maUSDC_ADDRESS', 'Matic Aave interest bearing USDC', 'maUSDC', 6) -export const NFTX = createERC20Tokens('NFTX_ADDRESS', 'NFTX', 'NFTX', 18) -export const STETH = createERC20Tokens('stETH_ADDRESS', 'stakedETH', 'stETH', 18) -export const CUSD = createERC20Tokens('cUSD_ADDRESS', 'Celo Dollar', 'cUSD', 18) -export const CEUR = createERC20Tokens('cEUR_ADDRESS', 'Celo Euro', 'cEUR', 18) -export const JOE = createERC20Tokens('JOE_ADDRESS', 'JoeToken', 'JOE', 18) -export const PNG = createERC20Tokens('PNG_ADDRESS', 'Pangolin', 'PNG', 18) - -export const WNATIVE = createERC20Tokens( - 'WNATIVE_ADDRESS', - (chainId) => `Wrapped ${getChainDetailed(chainId)?.nativeCurrency.name ?? 'Ether'}`, - (chainId) => `W${getChainDetailed(chainId)?.nativeCurrency.symbol ?? 'ETH'}`, - 18, -) - -export const WNATIVE_ONLY: ERC20AgainstToken = { - [ChainId.Mainnet]: [WNATIVE[ChainId.Mainnet]], - [ChainId.Ropsten]: [WNATIVE[ChainId.Ropsten]], - [ChainId.Rinkeby]: [WNATIVE[ChainId.Rinkeby]], - [ChainId.Kovan]: [WNATIVE[ChainId.Kovan]], - [ChainId.Gorli]: [WNATIVE[ChainId.Gorli]], - [ChainId.BSC]: [WNATIVE[ChainId.BSC]], - [ChainId.BSCT]: [WNATIVE[ChainId.BSCT]], - [ChainId.Matic]: [WNATIVE[ChainId.Matic]], - [ChainId.Mumbai]: [WNATIVE[ChainId.Mumbai]], - [ChainId.Arbitrum]: [WNATIVE[ChainId.Arbitrum]], - [ChainId.Arbitrum_Rinkeby]: [WNATIVE[ChainId.Arbitrum_Rinkeby]], - [ChainId.xDai]: [WNATIVE[ChainId.xDai]], - [ChainId.Avalanche]: [WNATIVE[ChainId.Avalanche]], - [ChainId.Avalanche_Fuji]: [WNATIVE[ChainId.Avalanche_Fuji]], - [ChainId.Celo]: [WNATIVE[ChainId.Celo]], - [ChainId.Fantom]: [WNATIVE[ChainId.Fantom]], - [ChainId.Aurora]: [WNATIVE[ChainId.Aurora]], - [ChainId.Aurora_Testnet]: [WNATIVE[ChainId.Aurora_Testnet]], -} export const BIPS_BASE = new BigNumber(10000) export const ONE_BIPS = ONE.dividedBy(BIPS_BASE) diff --git a/packages/mask/src/plugins/Trader/constants/traderjoe.ts b/packages/mask/src/plugins/Trader/constants/traderjoe.ts index 65e45a755bca..8b5e01bb1ba3 100644 --- a/packages/mask/src/plugins/Trader/constants/traderjoe.ts +++ b/packages/mask/src/plugins/Trader/constants/traderjoe.ts @@ -1,5 +1,4 @@ -import { ChainId } from '@masknet/web3-shared-evm' -import { DAIe, USDCe, USDTe, WBTCe, WNATIVE, WNATIVE_ONLY } from './trader' +import { ChainId, DAIe, USDCe, USDTe, WBTCe, WNATIVE, WNATIVE_ONLY } from '@masknet/web3-shared-evm' import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' /** diff --git a/packages/mask/src/plugins/Trader/constants/trisolaris.ts b/packages/mask/src/plugins/Trader/constants/trisolaris.ts index cee359af11ed..305107345a1f 100644 --- a/packages/mask/src/plugins/Trader/constants/trisolaris.ts +++ b/packages/mask/src/plugins/Trader/constants/trisolaris.ts @@ -1,5 +1,4 @@ -import { ChainId } from '@masknet/web3-shared-evm' -import { DAI, MSKA, MSKB, MSKC, USDC, USDT, WBTC, WNATIVE, WNATIVE_ONLY } from './trader' +import { ChainId, DAI, MSKA, MSKB, MSKC, USDC, USDT, WBTC, WNATIVE, WNATIVE_ONLY } from '@masknet/web3-shared-evm' import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' /** diff --git a/packages/mask/src/plugins/Trader/constants/uniswap.ts b/packages/mask/src/plugins/Trader/constants/uniswap.ts index ae337d9f65e2..01e5d9cba1de 100644 --- a/packages/mask/src/plugins/Trader/constants/uniswap.ts +++ b/packages/mask/src/plugins/Trader/constants/uniswap.ts @@ -1,7 +1,6 @@ -import { ChainId } from '@masknet/web3-shared-evm' +import { ChainId, AMPL, DAI, MSKA, MSKB, MSKC, USDC, USDT, WBTC, WNATIVE, WNATIVE_ONLY } from '@masknet/web3-shared-evm' import { Percent } from '@uniswap/sdk-core' import JSBI from 'jsbi' -import { AMPL, DAI, MSKA, MSKB, MSKC, USDC, USDT, WBTC, WNATIVE, WNATIVE_ONLY } from './trader' import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' /** diff --git a/packages/mask/src/plugins/Trader/constants/wannaswap.ts b/packages/mask/src/plugins/Trader/constants/wannaswap.ts index a94a2186a96b..86802bd2c1fd 100644 --- a/packages/mask/src/plugins/Trader/constants/wannaswap.ts +++ b/packages/mask/src/plugins/Trader/constants/wannaswap.ts @@ -1,5 +1,4 @@ -import { ChainId } from '@masknet/web3-shared-evm' -import { DAI, USDC, USDT, WBTC, WANNA, WNATIVE, WNATIVE_ONLY } from './trader' +import { ChainId, DAI, USDC, USDT, WBTC, WANNA, WNATIVE, WNATIVE_ONLY } from '@masknet/web3-shared-evm' import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' /** diff --git a/packages/web3-shared/evm/constants/index.ts b/packages/web3-shared/evm/constants/index.ts index 4cc715339b32..2a34144ed170 100644 --- a/packages/web3-shared/evm/constants/index.ts +++ b/packages/web3-shared/evm/constants/index.ts @@ -1,2 +1,3 @@ export * from './primitives' export * from './constants' +export * from './tokens' diff --git a/packages/web3-shared/evm/constants/tokens.ts b/packages/web3-shared/evm/constants/tokens.ts new file mode 100644 index 000000000000..486f30fea1ca --- /dev/null +++ b/packages/web3-shared/evm/constants/tokens.ts @@ -0,0 +1,80 @@ +import { ChainId, ChainIdOptionalRecord, ERC20TokenDetailed } from '../types' +import { createERC20Tokens, getChainDetailed } from '../utils' + +export type ERC20AgainstToken = Readonly> + +export const USDC = createERC20Tokens('USDC_ADDRESS', 'USD Coin', 'USDC', 6) +export const USDCe = createERC20Tokens('USDC_ADDRESS', 'USD Coin', 'USDCe', 6) +export const USDT = createERC20Tokens('USDT_ADDRESS', 'Tether USD', 'USDT', 6) +export const USDTe = createERC20Tokens('USDT_ADDRESS', 'Tether USD', 'USDT.e', 6) +export const fUSDT = createERC20Tokens('fUSDT_ADDRESS', 'Frapped USDT', 'fUSDT', 6) +export const HUSD = createERC20Tokens('HUSD_ADDRESS', 'Huobi USD', 'HUSD', 6) +export const BUSD = createERC20Tokens('BUSD_ADDRESS', 'Huobi USD', 'BUSD', 6) +export const COMP = createERC20Tokens('COMP_ADDRESS', 'Compound', 'COMP', 18) +export const MKR = createERC20Tokens('MKR_ADDRESS', 'Maker', 'MKR', 18) +export const MSKA = createERC20Tokens('MSKA_ADDRESS', 'Mask A', 'MSKA', 18) +export const MSKB = createERC20Tokens('MSKB_ADDRESS', 'Mask B', 'MSKB', 18) +export const MSKC = createERC20Tokens('MSKC_ADDRESS', 'Mask C', 'MSKC', 18) +export const MSKD = createERC20Tokens('MSKD_ADDRESS', 'Mask D', 'MSKD', 18) +export const MSKE = createERC20Tokens('MSKE_ADDRESS', 'Mask E', 'MSKE', 18) +export const DAI = createERC20Tokens('DAI_ADDRESS', 'Dai Stablecoin', 'DAI', 18) +export const DAIe = createERC20Tokens('DAI_ADDRESS', 'Dai Stablecoin', 'DAI.e', 18) +export const AMPL = createERC20Tokens('AMPL_ADDRESS', 'Ampleforth', 'AMPL', 18) +export const OKB = createERC20Tokens('OKB_ADDRESS', 'Ampleforth', 'OKB', 18) +export const UST = createERC20Tokens('UST_ADDRESS', 'Wrapped UST Token', 'UST', 18) +export const EASY = createERC20Tokens('EASY_ADDRESS', 'EASY', 'EASY', 18) +export const eUSDC = createERC20Tokens('eUSDC_ADDRESS', 'Easy USDC', 'eUSDC', 18) +export const eUSDT = createERC20Tokens('eUSDT_ADDRESS', 'Easy USDT', 'eUSDT', 18) +export const eDAI = createERC20Tokens('eDAI_ADDRESS', 'Easy DAI', 'eDAI', 18) +export const sUSD = createERC20Tokens('sUSD_ADDRESS', 'Synth sUSD', 'sUSD', 18) +export const UNITOKEN = createERC20Tokens('UNITOKEN_ADDRESS', 'Uniswap', 'UNI', 18) +export const TT01 = createERC20Tokens('TT01_ADDRESS', 'Test Token 01', 'TT01', 18) +export const TT02 = createERC20Tokens('TT02_ADDRESS', 'Test Token 02', 'TT02', 18) +export const ETHER = createERC20Tokens('ETHER_ADDRESS', 'Ether', 'ETH', 18) +export const QUICK = createERC20Tokens('QUICK_ADDRESS', 'Quickswap', 'QUICK', 18) +export const WANNA = createERC20Tokens('WANNA_ADDRESS', 'Wannaswap', 'WANNA', 18) +export const WBTC = createERC20Tokens('WBTC_ADDRESS', 'Wrapped Bitcoin', 'WBTC', 18) +export const WBTCe = createERC20Tokens('WBTC_ADDRESS', 'Wrapped Bitcoin', 'WBTCe', 18) +export const IGG = createERC20Tokens('IGG_ADDRESS', 'IG Gold', 'IGG', 18) +export const OM = createERC20Tokens('OM_ADDRESS', 'OM Token', 'OM', 18) +export const SUSHI = createERC20Tokens('SUSHI_ADDRESS', 'SushiToken', 'SUSHI', 18) +export const YAM = createERC20Tokens('YAM_ADDRESS', 'YAM', 'YAM', 18) +export const RUNE = createERC20Tokens('RUNE_ADDRESS', 'RUNE.ETH', 'RUNE', 18) +export const YFI = createERC20Tokens('YFI_ADDRESS', 'Yearn', 'YFI', 18) +export const BTCB = createERC20Tokens('BTCB_ADDRESS', 'Binance BTC', 'BTCB', 18) +export const CAKE = createERC20Tokens('CAKE_ADDRESS', 'PancakeSwap Token', 'CAKE', 18) +export const maUSDC = createERC20Tokens('maUSDC_ADDRESS', 'Matic Aave interest bearing USDC', 'maUSDC', 6) +export const NFTX = createERC20Tokens('NFTX_ADDRESS', 'NFTX', 'NFTX', 18) +export const STETH = createERC20Tokens('stETH_ADDRESS', 'stakedETH', 'stETH', 18) +export const CUSD = createERC20Tokens('cUSD_ADDRESS', 'Celo Dollar', 'cUSD', 18) +export const CEUR = createERC20Tokens('cEUR_ADDRESS', 'Celo Euro', 'cEUR', 18) +export const JOE = createERC20Tokens('JOE_ADDRESS', 'JoeToken', 'JOE', 18) +export const PNG = createERC20Tokens('PNG_ADDRESS', 'Pangolin', 'PNG', 18) + +export const WNATIVE = createERC20Tokens( + 'WNATIVE_ADDRESS', + (chainId) => `Wrapped ${getChainDetailed(chainId)?.nativeCurrency.name ?? 'Ether'}`, + (chainId) => `W${getChainDetailed(chainId)?.nativeCurrency.symbol ?? 'ETH'}`, + 18, +) + +export const WNATIVE_ONLY: ERC20AgainstToken = { + [ChainId.Mainnet]: [WNATIVE[ChainId.Mainnet]], + [ChainId.Ropsten]: [WNATIVE[ChainId.Ropsten]], + [ChainId.Rinkeby]: [WNATIVE[ChainId.Rinkeby]], + [ChainId.Kovan]: [WNATIVE[ChainId.Kovan]], + [ChainId.Gorli]: [WNATIVE[ChainId.Gorli]], + [ChainId.BSC]: [WNATIVE[ChainId.BSC]], + [ChainId.BSCT]: [WNATIVE[ChainId.BSCT]], + [ChainId.Matic]: [WNATIVE[ChainId.Matic]], + [ChainId.Mumbai]: [WNATIVE[ChainId.Mumbai]], + [ChainId.Arbitrum]: [WNATIVE[ChainId.Arbitrum]], + [ChainId.Arbitrum_Rinkeby]: [WNATIVE[ChainId.Arbitrum_Rinkeby]], + [ChainId.xDai]: [WNATIVE[ChainId.xDai]], + [ChainId.Avalanche]: [WNATIVE[ChainId.Avalanche]], + [ChainId.Avalanche_Fuji]: [WNATIVE[ChainId.Avalanche_Fuji]], + [ChainId.Celo]: [WNATIVE[ChainId.Celo]], + [ChainId.Fantom]: [WNATIVE[ChainId.Fantom]], + [ChainId.Aurora]: [WNATIVE[ChainId.Aurora]], + [ChainId.Aurora_Testnet]: [WNATIVE[ChainId.Aurora_Testnet]], +} From 51eb3e4258e02e0dec29af318803aca0870f70c8 Mon Sep 17 00:00:00 2001 From: Hom Yan Date: Wed, 16 Mar 2022 14:01:53 +0800 Subject: [PATCH 2/3] fix: reference --- packages/mask/src/plugins/Trader/constants/pancakeswap.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/mask/src/plugins/Trader/constants/pancakeswap.ts b/packages/mask/src/plugins/Trader/constants/pancakeswap.ts index 219e2ed1d3da..0479bfcee5db 100644 --- a/packages/mask/src/plugins/Trader/constants/pancakeswap.ts +++ b/packages/mask/src/plugins/Trader/constants/pancakeswap.ts @@ -1,5 +1,4 @@ -import { ChainId } from '@masknet/web3-shared-evm' -import { BTCB, BUSD, DAI, ETHER, UST, WNATIVE, WNATIVE_ONLY } from './trader' +import { ChainId, BTCB, BUSD, DAI, ETHER, UST, WNATIVE, WNATIVE_ONLY } from '@masknet/web3-shared-evm' import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' /** From 34c6b4d6b6fc2784b4970c954a4aba80ba035a67 Mon Sep 17 00:00:00 2001 From: Hom Yan Date: Wed, 16 Mar 2022 14:20:50 +0800 Subject: [PATCH 3/3] fix: reference --- packages/mask/src/plugins/Trader/SNSAdaptor/trader/Trader.tsx | 2 +- packages/mask/src/plugins/Trader/helpers/uniswap.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/Trader.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/Trader.tsx index 7c21529515e5..e6c950b55686 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/Trader.tsx +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/Trader.tsx @@ -14,6 +14,7 @@ import { useFungibleTokenBalance, useTokenConstants, useWallet, + UST, } from '@masknet/web3-shared-evm' import { useRemoteControlledDialog } from '@masknet/shared' import { delay } from '@dimensiondev/kit' @@ -23,7 +24,6 @@ import { TokenPanelType, TradeInfo } from '../../types' import { useI18N } from '../../../../utils' import { TradeForm } from './TradeForm' import { AllProviderTradeActionType, AllProviderTradeContext } from '../../trader/useAllProviderTradeContext' -import { UST } from '../../constants' import { SelectTokenDialogEvent, WalletMessages } from '@masknet/plugin-wallet' import { useUnmount, useUpdateEffect } from 'react-use' import { isTwitter } from '../../../../social-network-adaptor/twitter.com/base' diff --git a/packages/mask/src/plugins/Trader/helpers/uniswap.ts b/packages/mask/src/plugins/Trader/helpers/uniswap.ts index 3ba5a2c945e9..5b559b38eeb4 100644 --- a/packages/mask/src/plugins/Trader/helpers/uniswap.ts +++ b/packages/mask/src/plugins/Trader/helpers/uniswap.ts @@ -9,9 +9,10 @@ import { EthereumTokenType, FungibleTokenDetailed, isSameAddress, + WNATIVE, } from '@masknet/web3-shared-evm' import { pow10, isGreaterThan } from '@masknet/web3-shared-base' -import { ONE_HUNDRED_PERCENT, WNATIVE, ZERO_PERCENT } from '../constants' +import { ONE_HUNDRED_PERCENT, ZERO_PERCENT } from '../constants' export function swapErrorToUserReadableMessage(error: any): string { let reason: string | undefined