diff --git a/cspell.json b/cspell.json index 5b6df692d4fc..9b52b85672e3 100644 --- a/cspell.json +++ b/cspell.json @@ -25,7 +25,10 @@ "arbitrum", "ARETH", "arweave", + "avalanche", + "AVALANCHE", "avax", + "AVAX", "betanet", "bgcolor", "bignumber", @@ -227,6 +230,8 @@ "timelocked", "Tokelau", "tokenid", + "traderjoe", + "TraderJoe", "Transak", "Trisolaris", "twimg", diff --git a/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx b/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx index bf52e726d24f..943ac79b214c 100644 --- a/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx +++ b/packages/dashboard/src/pages/Labs/components/SwapSettingDialog.tsx @@ -11,6 +11,7 @@ import { useXDaiNetworkTradeProvider, useCeloNetworkTradeProvider, useFantomNetworkTradeProvider, + useAvalancheNetworkTradeProvider, useAuroraNetworkTradeProvider, } from '../../Settings/api' @@ -62,6 +63,10 @@ export default function SwapSettingDialog({ open, onClose }: SettingDialogProps) const celoOptions = [{ label: 'SushiSwap', value: TradeProvider.SUSHISWAP }] + const avalancheOptions = [ + { label: 'TraderJoe', value: TradeProvider.TRADERJOE }, + { label: 'SushiSwap', value: TradeProvider.SUSHISWAP }, + ] const auroraOptions = [ { label: 'DODO', value: TradeProvider.DODO }, { label: 'WannaSwap', value: TradeProvider.WANNASWAP }, @@ -113,6 +118,12 @@ export default function SwapSettingDialog({ open, onClose }: SettingDialogProps) options: fantomOptions, onChange: (value: string) => Services.Settings.setFantomNetworkTradeProvider(Number.parseInt(value, 10)), }, + { + legend: t.labs_settings_swap_network({ network: 'Avalanche' }), + value: useAvalancheNetworkTradeProvider(), + options: avalancheOptions, + onChange: (value: string) => Services.Settings.setAvalancheNetworkTradeProvider(Number.parseInt(value, 10)), + }, { legend: t.labs_settings_swap_network({ network: 'Aurora' }), value: useAuroraNetworkTradeProvider(), diff --git a/packages/dashboard/src/pages/Settings/api.ts b/packages/dashboard/src/pages/Settings/api.ts index 61f45b6c00ca..8761192ecb04 100644 --- a/packages/dashboard/src/pages/Settings/api.ts +++ b/packages/dashboard/src/pages/Settings/api.ts @@ -38,6 +38,11 @@ export const [useFantomNetworkTradeProvider] = createGlobalState( Messages.events.fantomNetworkTradeProviderSettings.on, ) +export const [useAvalancheNetworkTradeProvider] = createGlobalState( + Services.Settings.getAvalancheNetworkTradeProvider, + Messages.events.avalancheNetworkTradeProviderSettings.on, +) + export const [useCeloNetworkTradeProvider] = createGlobalState( Services.Settings.getCeloNetworkTradeProvider, Messages.events.celoNetworkTradeProviderSettings.on, diff --git a/packages/mask/shared/flags.ts b/packages/mask/shared/flags.ts index 8e589c33f4f9..8ecf5965a63a 100644 --- a/packages/mask/shared/flags.ts +++ b/packages/mask/shared/flags.ts @@ -52,6 +52,7 @@ export const Flags = { arbitrum_enabled: true, xdai_enabled: true, fantom_enabled: true, + avalanche_enabled: true, flow_enabled: true, celo_enabled: true, aurora_enabled: true, diff --git a/packages/mask/src/components/shared/ApplicationBoard.tsx b/packages/mask/src/components/shared/ApplicationBoard.tsx index d0797a53a301..4b63a6a85143 100644 --- a/packages/mask/src/components/shared/ApplicationBoard.tsx +++ b/packages/mask/src/components/shared/ApplicationBoard.tsx @@ -92,6 +92,7 @@ const SUPPORTED_CHAIN_ID_LIST = [ ChainId.xDai, ChainId.Celo, ChainId.Fantom, + ChainId.Avalanche, ChainId.Aurora, ] diff --git a/packages/mask/src/extension/background-script/SettingsService.ts b/packages/mask/src/extension/background-script/SettingsService.ts index 738b7466d796..f37ece24c56f 100644 --- a/packages/mask/src/extension/background-script/SettingsService.ts +++ b/packages/mask/src/extension/background-script/SettingsService.ts @@ -17,6 +17,7 @@ import { xdaiNetworkTradeProviderSettings, celoNetworkTradeProviderSettings, fantomNetworkTradeProviderSettings, + avalancheNetworkTradeProviderSettings, auroraNetworkTradeProviderSettings, } from '../../plugins/Trader/settings' import { queryMyPersonas } from './IdentityService' @@ -79,6 +80,9 @@ export const [getxDaiNetworkTradeProvider, setxDaiNetworkTradeProvider] = create export const [getCeloNetworkTradeProvider, setCeloNetworkTradeProvider] = create(celoNetworkTradeProviderSettings) export const [getFantomNetworkTradeProvider, setFantomNetworkTradeProvider] = create(fantomNetworkTradeProviderSettings) +export const [getAvalancheNetworkTradeProvider, setAvalancheNetworkTradeProvider] = create( + avalancheNetworkTradeProviderSettings, +) export const [getAuroraNetworkTradeProvider, setAuroraNetworkTradeProvider] = create(auroraNetworkTradeProviderSettings) diff --git a/packages/mask/src/plugins/EVM/assets/avalanche.png b/packages/mask/src/plugins/EVM/assets/avalanche.png new file mode 100644 index 000000000000..28b409a34a38 Binary files /dev/null and b/packages/mask/src/plugins/EVM/assets/avalanche.png differ diff --git a/packages/mask/src/plugins/EVM/constants.ts b/packages/mask/src/plugins/EVM/constants.ts index 3793c07fda14..37b2823224b4 100644 --- a/packages/mask/src/plugins/EVM/constants.ts +++ b/packages/mask/src/plugins/EVM/constants.ts @@ -147,6 +147,16 @@ export const PLUGIN_NETWORKS: Web3Plugin.NetworkDescriptor[] = [ iconColor: 'rgb(73, 169, 166)', isMainnet: true, }, + { + ID: `${PLUGIN_ID}_avalanche`, + networkSupporterPluginID: PLUGIN_ID, + chainId: ChainId.Avalanche, + type: NetworkType.Avalanche, + name: 'Avalanche', + icon: new URL('./assets/avalanche.png', import.meta.url), + iconColor: 'rgb(73, 169, 166)', + isMainnet: true, + }, { ID: `${PLUGIN_ID}_aurora`, networkSupporterPluginID: PLUGIN_ID, diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/ClaimAllDialog.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/ClaimAllDialog.tsx index e148690d4cc0..391a6f558b8f 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/ClaimAllDialog.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/ClaimAllDialog.tsx @@ -220,6 +220,7 @@ const SUPPORTED_CHAIN_ID_LIST = [ ChainId.Arbitrum, ChainId.xDai, ChainId.Fantom, + ChainId.Avalanche, ] export function ClaimAllDialog(props: ClaimAllDialogProps) { @@ -228,6 +229,7 @@ export function ClaimAllDialog(props: ClaimAllDialogProps) { const DialogRef = useRef(null) const account = useAccount() const currentChainId = useChainId() + const { value: campaignInfos, loading: loadingAirdrop, diff --git a/packages/mask/src/plugins/RedPacket/base.ts b/packages/mask/src/plugins/RedPacket/base.ts index 8770ebd8f402..c94f5bf19f57 100644 --- a/packages/mask/src/plugins/RedPacket/base.ts +++ b/packages/mask/src/plugins/RedPacket/base.ts @@ -24,6 +24,7 @@ export const base: Plugin.Shared.Definition = { ChainId.Arbitrum, ChainId.xDai, ChainId.Fantom, + ChainId.Avalanche, ], }, }, diff --git a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TradeProviderIcon.tsx b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TradeProviderIcon.tsx index 3d979f176744..98f750d69557 100644 --- a/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TradeProviderIcon.tsx +++ b/packages/mask/src/plugins/Trader/SNSAdaptor/trader/TradeProviderIcon.tsx @@ -5,6 +5,7 @@ import { BalancerIcon } from '../../../../resources/BalancerIcon' import { BancorIcon } from '../../../../resources/BancorIcon' import { SashimiSwapIcon } from '../../../../resources/SashimiSwapIcon' import { SushiSwapIcon } from '../../../../resources/SushiSwapIcon' +import { TraderJoeIcon } from '../../../../resources/TraderJoeIcon' import { UniswapIcon } from '../../../../resources/UniswapIcon' import { ZRXIcon } from '../../../../resources/ZRXIcon' import { DODOIcon } from '../../../../resources/DODOIcon' @@ -72,6 +73,8 @@ export function TradeProviderIcon(props: TradeProviderIconProps) { return case TradeProvider.OPENOCEAN: return + case TradeProvider.TRADERJOE: + return case TradeProvider.TRISOLARIS: return default: diff --git a/packages/mask/src/plugins/Trader/apis/trader/index.ts b/packages/mask/src/plugins/Trader/apis/trader/index.ts index 06d5ec04ff5d..4244b136a062 100644 --- a/packages/mask/src/plugins/Trader/apis/trader/index.ts +++ b/packages/mask/src/plugins/Trader/apis/trader/index.ts @@ -44,12 +44,13 @@ export async function getAvailableTraderProviders(chainId: ChainId) { return [TradeProvider.SUSHISWAP] case NetworkType.Fantom: return [TradeProvider.SUSHISWAP] + case NetworkType.Avalanche: + return [TradeProvider.TRADERJOE, TradeProvider.SUSHISWAP] case NetworkType.Aurora: return [TradeProvider.DODO, TradeProvider.WANNASWAP, TradeProvider.TRISOLARIS] case NetworkType.Boba: case NetworkType.Fuse: case NetworkType.Metis: - case NetworkType.Avalanche: case NetworkType.Optimistic: console.error('To be implement network: ', networkType) return [] diff --git a/packages/mask/src/plugins/Trader/apis/trending/hotfix.ts b/packages/mask/src/plugins/Trader/apis/trending/hotfix.ts index 32847f3bd364..45b625a52f49 100644 --- a/packages/mask/src/plugins/Trader/apis/trending/hotfix.ts +++ b/packages/mask/src/plugins/Trader/apis/trending/hotfix.ts @@ -82,6 +82,9 @@ const ID_ADDRESS_MAP: { [NetworkType.Polygon]: { '8536': '0x2B9E7ccDF0F4e5B24757c1E1a80e311E34Cb10c7', // MASK }, + [NetworkType.Avalanche]: { + '5805': '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7', // AVAX + }, }, [DataProvider.COIN_GECKO]: { [NetworkType.Ethereum]: { @@ -90,6 +93,9 @@ const ID_ADDRESS_MAP: { [NetworkType.Polygon]: { 'mask-network': '0x2B9E7ccDF0F4e5B24757c1E1a80e311E34Cb10c7', // MASK }, + [NetworkType.Avalanche]: { + 'avalanche-2': '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7', // AVAX + }, }, [DataProvider.UNISWAP_INFO]: {}, } diff --git a/packages/mask/src/plugins/Trader/constants/0x.ts b/packages/mask/src/plugins/Trader/constants/0x.ts index 60a4a15a19d3..835b0016bb04 100644 --- a/packages/mask/src/plugins/Trader/constants/0x.ts +++ b/packages/mask/src/plugins/Trader/constants/0x.ts @@ -8,6 +8,7 @@ export const ZRX_BASE_URL: Record = { [NetworkType.xDai]: 'https://xdai.api.0x.org/', [NetworkType.Celo]: 'https://celo.api.0x.org/', [NetworkType.Fantom]: 'https://fantom.api.0x.org/', + [NetworkType.Avalanche]: 'https://avalanche.api.0x.org/', [NetworkType.Aurora]: 'https://aurora.api.0x.org/', [NetworkType.Boba]: '', [NetworkType.Fuse]: '', diff --git a/packages/mask/src/plugins/Trader/constants/dodo.ts b/packages/mask/src/plugins/Trader/constants/dodo.ts index cec5fbb10083..ac7b24decf23 100644 --- a/packages/mask/src/plugins/Trader/constants/dodo.ts +++ b/packages/mask/src/plugins/Trader/constants/dodo.ts @@ -10,6 +10,7 @@ export const networkNames: Record = { [NetworkType.xDai]: 'xdai', [NetworkType.Celo]: 'celo', [NetworkType.Fantom]: 'fantom', + [NetworkType.Avalanche]: 'avalanche', [NetworkType.Aurora]: 'aurora', [NetworkType.Boba]: '', [NetworkType.Fuse]: '', diff --git a/packages/mask/src/plugins/Trader/constants/index.ts b/packages/mask/src/plugins/Trader/constants/index.ts index 89995aab8751..f116013912bf 100644 --- a/packages/mask/src/plugins/Trader/constants/index.ts +++ b/packages/mask/src/plugins/Trader/constants/index.ts @@ -9,6 +9,7 @@ export * from './quickswap' export * from './pancakeswap' export * from './dodo' export * from './bancor' +export * from './traderjoe' export * from './wannaswap' export * from './trisolaris' export type { ERC20TokenCustomizedBase, ERC20AgainstToken } from './types' diff --git a/packages/mask/src/plugins/Trader/constants/openocean.ts b/packages/mask/src/plugins/Trader/constants/openocean.ts index 8b5e2313b027..bd8889e3b0ba 100644 --- a/packages/mask/src/plugins/Trader/constants/openocean.ts +++ b/packages/mask/src/plugins/Trader/constants/openocean.ts @@ -10,6 +10,7 @@ export const networkNames: Record = { [NetworkType.xDai]: 'xdai', [NetworkType.Celo]: 'celo', [NetworkType.Fantom]: 'fantom', + [NetworkType.Avalanche]: 'avalanche', [NetworkType.Aurora]: 'aurora', [NetworkType.Boba]: '', [NetworkType.Fuse]: '', diff --git a/packages/mask/src/plugins/Trader/constants/sushiswap.ts b/packages/mask/src/plugins/Trader/constants/sushiswap.ts index ae6db9169262..1d0079039658 100644 --- a/packages/mask/src/plugins/Trader/constants/sushiswap.ts +++ b/packages/mask/src/plugins/Trader/constants/sushiswap.ts @@ -35,4 +35,5 @@ export const SUSHISWAP_BASE_AGAINST_TOKENS: ERC20AgainstToken = { [ChainId.xDai]: [WNATIVE, USDC, USDT, WBTC].map((x) => x[ChainId.xDai]), [ChainId.Celo]: [WNATIVE, CUSD, CEUR].map((x) => x[ChainId.Celo]), [ChainId.Fantom]: [WNATIVE, DAI, USDC, fUSDT, WBTC].map((x) => x[ChainId.Fantom]), + [ChainId.Avalanche]: [WNATIVE, DAI, USDC, WBTC].map((x) => x[ChainId.Avalanche]), } diff --git a/packages/mask/src/plugins/Trader/constants/trader.ts b/packages/mask/src/plugins/Trader/constants/trader.ts index e9cfe78fe1e6..f6108f1044d6 100644 --- a/packages/mask/src/plugins/Trader/constants/trader.ts +++ b/packages/mask/src/plugins/Trader/constants/trader.ts @@ -44,6 +44,10 @@ 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 USDTe = createERC20Tokens('USDT_ADDRESS', 'Tether USD', 'USDT.e', 6) +export const DAIe = createERC20Tokens('DAI_ADDRESS', 'Dai Stablecoin', 'DAI.e ', 18) +export const WBTCe = createERC20Tokens('WBTC_ADDRESS', 'Wrapped BTC', 'WBTCe', 18) +export const USDCe = createERC20Tokens('USDC_ADDRESS', ' USD Coin', 'USDCe', 18) export const WNATIVE = createERC20Tokens( 'WNATIVE_ADDRESS', @@ -67,6 +71,7 @@ export const WNATIVE_ONLY: ERC20AgainstToken = { [ChainId.xDai]: [WNATIVE[ChainId.xDai]], [ChainId.Celo]: [WNATIVE[ChainId.Celo]], [ChainId.Fantom]: [WNATIVE[ChainId.Fantom]], + [ChainId.Avalanche]: [WNATIVE[ChainId.Avalanche]], [ChainId.Aurora]: [WNATIVE[ChainId.Aurora]], [ChainId.Aurora_Testnet]: [WNATIVE[ChainId.Aurora_Testnet]], } diff --git a/packages/mask/src/plugins/Trader/constants/traderjoe.ts b/packages/mask/src/plugins/Trader/constants/traderjoe.ts new file mode 100644 index 000000000000..7a96f94e15eb --- /dev/null +++ b/packages/mask/src/plugins/Trader/constants/traderjoe.ts @@ -0,0 +1,15 @@ +import { ChainId } from '@masknet/web3-shared-evm' +import { ETHER, WNATIVE, WBTCe, DAIe, USDTe, USDCe, WNATIVE_ONLY } from './trader' + +import type { ERC20AgainstToken, ERC20TokenCustomizedBase } from './types' + +/** + * Some tokens can only be swapped via certain pairs, + * so we override the list of bases that are considered for these tokens. + */ +export const TRADERJOE_CUSTOM_BASES: ERC20TokenCustomizedBase = {} + +export const TRADERJOE_BASE_AGAINST_TOKENS: ERC20AgainstToken = { + ...WNATIVE_ONLY, + [ChainId.Avalanche]: [WNATIVE, DAIe, USDTe, USDCe, ETHER, WBTCe].map((x) => x[ChainId.Avalanche]), +} diff --git a/packages/mask/src/plugins/Trader/pipes.ts b/packages/mask/src/plugins/Trader/pipes.ts index b80d631eb395..fa79134e9fad 100644 --- a/packages/mask/src/plugins/Trader/pipes.ts +++ b/packages/mask/src/plugins/Trader/pipes.ts @@ -56,6 +56,7 @@ export const resolveTradeProviderName = createLookupTableResolver { if (currentDataProviderSettings.value === DataProvider.UNISWAP_INFO) currentDataProviderSettings.value = DataProvider.COIN_MARKET_CAP break + case NetworkType.Avalanche: + currentTradeProviderSettings.value = avalancheNetworkTradeProviderSettings.value + if (currentDataProviderSettings.value === DataProvider.UNISWAP_INFO) + currentDataProviderSettings.value = DataProvider.COIN_MARKET_CAP + break case NetworkType.Aurora: currentTradeProviderSettings.value = TradeProvider.DODO if (currentDataProviderSettings.value === DataProvider.UNISWAP_INFO) @@ -96,6 +102,9 @@ currentTradeProviderSettings.addListener((tradeProvider: TradeProvider) => { case NetworkType.Fantom: fantomNetworkTradeProviderSettings.value = tradeProvider break + case NetworkType.Avalanche: + avalancheNetworkTradeProviderSettings.value = tradeProvider + break case NetworkType.Aurora: auroraNetworkTradeProviderSettings.value = tradeProvider break diff --git a/packages/mask/src/plugins/Trader/settings.ts b/packages/mask/src/plugins/Trader/settings.ts index 36da1d506ab8..210caef8d299 100644 --- a/packages/mask/src/plugins/Trader/settings.ts +++ b/packages/mask/src/plugins/Trader/settings.ts @@ -81,6 +81,11 @@ export const fantomNetworkTradeProviderSettings = createGlobalSettings '' }, ) +export const avalancheNetworkTradeProviderSettings = createGlobalSettings( + `${PLUGIN_ID}+avalanche+tradeProvider`, + TradeProvider.TRADERJOE, + { primary: () => '' }, +) export const celoNetworkTradeProviderSettings = createGlobalSettings( `${PLUGIN_ID}+celo+tradeProvider`, @@ -110,6 +115,7 @@ const balancerSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvi const dodoSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+dodo`, '') const bancorSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+bancor`, '') const openoceanSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+openocean`, '') +const traderjoeSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+traderjoe`, '') const trisolarisSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+trisolaris`, '') const wannaswapSettings = createInternalSettings(`${PLUGIN_ID}+tradeProvider+wannaswap`, '') @@ -140,6 +146,8 @@ export function getCurrentTradeProviderGeneralSettings(tradeProvider: TradeProvi return bancorSettings case TradeProvider.OPENOCEAN: return openoceanSettings + case TradeProvider.TRADERJOE: + return traderjoeSettings case TradeProvider.TRISOLARIS: return trisolarisSettings case TradeProvider.WANNASWAP: diff --git a/packages/mask/src/plugins/Trader/trader/0x/useTrade.ts b/packages/mask/src/plugins/Trader/trader/0x/useTrade.ts index 644c1f3228d3..196f03dc4ddb 100644 --- a/packages/mask/src/plugins/Trader/trader/0x/useTrade.ts +++ b/packages/mask/src/plugins/Trader/trader/0x/useTrade.ts @@ -30,6 +30,7 @@ export function getNativeTokenLabel(networkType: NetworkType) { case NetworkType.xDai: case NetworkType.Celo: case NetworkType.Fantom: + case NetworkType.Avalanche: case NetworkType.Aurora: case NetworkType.Boba: case NetworkType.Fuse: diff --git a/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts b/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts index d01fda3f6831..0505d6fdae2d 100644 --- a/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts +++ b/packages/mask/src/plugins/Trader/trader/useAllTradeComputed.ts @@ -27,6 +27,27 @@ import { useNativeTradeGasLimit } from './useNativeTradeGasLimit' import { TargetChainIdContext } from './useTargetChainIdContext' import type { TradeComputed } from '../types' +export function useUniswapV2Hook( + tradeProviders: TradeProvider[], + traderProvider: TradeProvider, + inputAmount_: string, + inputToken?: FungibleTokenDetailed, + outputToken?: FungibleTokenDetailed, +) { + const isTrader = tradeProviders.some((x) => x === traderProvider) + const trader_ = useUniswapV2Trade( + traderProvider, + TradeStrategy.ExactIn, + inputAmount_, + '0', + isTrader ? inputToken : undefined, + isTrader ? outputToken : undefined, + ) + const trader = useUniswapTradeComputed(trader_.value, inputToken, outputToken) + const traderEstimateGas = useUniswapTradeGasLimit(trader, traderProvider) + return { trader_, trader, traderEstimateGas } +} + export function useAllTradeComputed( inputAmount: string, inputToken?: FungibleTokenDetailed, @@ -52,69 +73,42 @@ export function useAllTradeComputed( const nativeTradeGasLimit = useNativeTradeGasLimit(nativeToken, targetChainId) - // uniswap-v2 - const uniswapV2_ = useUniswapV2Trade( - TradeProvider.UNISWAP_V2, - TradeStrategy.ExactIn, - inputAmount_, - '0', - tradeProviders.some((x) => x === TradeProvider.UNISWAP_V2) ? inputToken : undefined, - tradeProviders.some((x) => x === TradeProvider.UNISWAP_V2) ? outputToken : undefined, - ) - const uniswapV2 = useUniswapTradeComputed( - uniswapV2_.value, - tradeProviders.some((x) => x === TradeProvider.UNISWAP_V2) ? inputToken : undefined, - tradeProviders.some((x) => x === TradeProvider.UNISWAP_V2) ? outputToken : undefined, - ) - const uniswapV2EstimateGas = useUniswapTradeGasLimit(uniswapV2, TradeProvider.UNISWAP_V2) + + //uniswap-v2 + + const { + trader_: uniswapV2_, + trader: uniswapV2, + traderEstimateGas: uniswapV2EstimateGas, + } = useUniswapV2Hook(tradeProviders, TradeProvider.UNISWAP_V2, inputAmount_, inputToken, outputToken) // sushi swap - const sushiSwap_ = useUniswapV2Trade( - TradeProvider.SUSHISWAP, - TradeStrategy.ExactIn, - inputAmount_, - '0', - tradeProviders.some((x) => x === TradeProvider.SUSHISWAP) ? inputToken : undefined, - tradeProviders.some((x) => x === TradeProvider.SUSHISWAP) ? outputToken : undefined, - ) - const sushiSwap = useUniswapTradeComputed(sushiSwap_.value, inputToken, outputToken) - const sushiSwapEstimateGas = useUniswapTradeGasLimit(sushiSwap, TradeProvider.SUSHISWAP) + const { + trader_: sushiSwap_, + trader: sushiSwap, + traderEstimateGas: sushiSwapEstimateGas, + } = useUniswapV2Hook(tradeProviders, TradeProvider.SUSHISWAP, inputAmount_, inputToken, outputToken) // sashimi swap - const sashimiSwap_ = useUniswapV2Trade( - TradeProvider.SASHIMISWAP, - TradeStrategy.ExactIn, - inputAmount_, - '0', - tradeProviders.some((x) => x === TradeProvider.SASHIMISWAP) ? inputToken : undefined, - tradeProviders.some((x) => x === TradeProvider.SASHIMISWAP) ? outputToken : undefined, - ) - const sashimiSwap = useUniswapTradeComputed(sashimiSwap_.value, inputToken, outputToken) - const sashimiSwapEstimateGas = useUniswapTradeGasLimit(sashimiSwap, TradeProvider.SASHIMISWAP) + const { + trader_: sashimiSwap_, + trader: sashimiSwap, + traderEstimateGas: sashimiSwapEstimateGas, + } = useUniswapV2Hook(tradeProviders, TradeProvider.SASHIMISWAP, inputAmount_, inputToken, outputToken) // quick swap - const quickSwap_ = useUniswapV2Trade( - TradeProvider.QUICKSWAP, - TradeStrategy.ExactIn, - inputAmount_, - '0', - tradeProviders.some((x) => x === TradeProvider.QUICKSWAP) ? inputToken : undefined, - tradeProviders.some((x) => x === TradeProvider.QUICKSWAP) ? outputToken : undefined, - ) - const quickSwap = useUniswapTradeComputed(quickSwap_.value, inputToken, outputToken) - const quickSwapEstimateGas = useUniswapTradeGasLimit(quickSwap, TradeProvider.QUICKSWAP) + const { + trader_: quickSwap_, + trader: quickSwap, + traderEstimateGas: quickSwapEstimateGas, + } = useUniswapV2Hook(tradeProviders, TradeProvider.QUICKSWAP, inputAmount_, inputToken, outputToken) // pancake swap - const pancakeSwap_ = useUniswapV2Trade( - TradeProvider.PANCAKESWAP, - TradeStrategy.ExactIn, - inputAmount_, - '0', - tradeProviders.some((x) => x === TradeProvider.PANCAKESWAP) ? inputToken : undefined, - tradeProviders.some((x) => x === TradeProvider.PANCAKESWAP) ? outputToken : undefined, - ) - const pancakeSwap = useUniswapTradeComputed(pancakeSwap_.value, inputToken, outputToken) - const pancakeSwapEstimateGas = useUniswapTradeGasLimit(pancakeSwap, TradeProvider.PANCAKESWAP) + const { + trader_: pancakeSwap_, + trader: pancakeSwap, + traderEstimateGas: pancakeSwapEstimateGas, + } = useUniswapV2Hook(tradeProviders, TradeProvider.PANCAKESWAP, inputAmount_, inputToken, outputToken) // uniswap-v3 like providers const uniswapV3_ = useUniswapV3Trade( @@ -188,29 +182,25 @@ export function useAllTradeComputed( ) const openoceanSwapEstimateGas = useOpenOceanTradeGasLimit(openocean as TradeComputed | null) + const { + trader_: traderjoe_, + trader: traderjoe, + traderEstimateGas: traderjoeEstimateGas, + } = useUniswapV2Hook(tradeProviders, TradeProvider.TRADERJOE, inputAmount_, inputToken, outputToken) + // trisolaris - const trisolaris_ = useUniswapV2Trade( - TradeProvider.TRISOLARIS, - TradeStrategy.ExactIn, - inputAmount_, - '0', - tradeProviders.some((x) => x === TradeProvider.TRISOLARIS) ? inputToken : undefined, - tradeProviders.some((x) => x === TradeProvider.TRISOLARIS) ? outputToken : undefined, - ) - const trisolaris = useUniswapTradeComputed(trisolaris_.value, inputToken, outputToken) - const trisolarisEstimateGas = useUniswapTradeGasLimit(trisolaris, TradeProvider.TRISOLARIS) + const { + trader_: trisolaris_, + trader: trisolaris, + traderEstimateGas: trisolarisEstimateGas, + } = useUniswapV2Hook(tradeProviders, TradeProvider.TRISOLARIS, inputAmount_, inputToken, outputToken) // WannaSwap - const wannaswap_ = useUniswapV2Trade( - TradeProvider.WANNASWAP, - TradeStrategy.ExactIn, - inputAmount_, - '0', - tradeProviders.some((x) => x === TradeProvider.WANNASWAP) ? inputToken : undefined, - tradeProviders.some((x) => x === TradeProvider.WANNASWAP) ? outputToken : undefined, - ) - const wannaswap = useUniswapTradeComputed(wannaswap_.value, inputToken, outputToken) - const wannaSwapEstimateGas = useUniswapTradeGasLimit(wannaswap, TradeProvider.WANNASWAP) + const { + trader_: wannaswap_, + trader: wannaswap, + traderEstimateGas: wannaSwapEstimateGas, + } = useUniswapV2Hook(tradeProviders, TradeProvider.WANNASWAP, inputAmount_, inputToken, outputToken) const allTradeResult = [ { provider: TradeProvider.UNISWAP_V2, ...uniswapV2_, value: uniswapV2, gas: uniswapV2EstimateGas }, @@ -224,6 +214,7 @@ export function useAllTradeComputed( { provider: TradeProvider.DODO, ...dodo_, value: dodo, gas: dodoSwapEstimateGas }, { provider: TradeProvider.BANCOR, ...bancor_, value: bancor, gas: bancorSwapEstimateGas }, { provider: TradeProvider.OPENOCEAN, ...openocean_, value: openocean, gas: openoceanSwapEstimateGas }, + { provider: TradeProvider.TRADERJOE, ...traderjoe_, value: traderjoe, gas: traderjoeEstimateGas }, { provider: TradeProvider.WANNASWAP, ...wannaswap_, value: wannaswap, gas: wannaSwapEstimateGas }, { provider: TradeProvider.TRISOLARIS, ...trisolaris_, value: trisolaris, gas: trisolarisEstimateGas }, ] diff --git a/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts b/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts index 824ba21bc05d..1f836fed32da 100644 --- a/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts +++ b/packages/mask/src/plugins/Trader/trader/useGetTradeContext.ts @@ -13,6 +13,8 @@ import { SUSHISWAP_CUSTOM_BASES, UNISWAP_BASE_AGAINST_TOKENS, UNISWAP_CUSTOM_BASES, + TRADERJOE_BASE_AGAINST_TOKENS, + TRADERJOE_CUSTOM_BASES, WANNASWAP_BASE_AGAINST_TOKENS, WANNASWAP_CUSTOM_BASES, TRISOLARIS_BASE_AGAINST_TOKENS, @@ -146,6 +148,18 @@ export function useGetTradeContext(tradeProvider?: TradeProvider) { TYPE: tradeProvider, ROUTER_CONTRACT_ADDRESS: DEX_TRADE.BANCOR_EXCHANGE_PROXY_ADDRESS, } + case TradeProvider.TRADERJOE: + return { + TYPE: tradeProvider, + IS_UNISWAP_V2_LIKE: true, + GRAPH_API: getTraderConstants(chainId).TRADERJOE_THEGRAPH, + INIT_CODE_HASH: getTraderConstants(chainId).TRADERJOE_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).TRADERJOE_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).TRADERJOE_FACTORY_ADDRESS, + AGAINST_TOKENS: TRADERJOE_BASE_AGAINST_TOKENS, + ADDITIONAL_TOKENS: {}, + CUSTOM_TOKENS: TRADERJOE_CUSTOM_BASES, + } default: if (tradeProvider) unreachable(tradeProvider) return null diff --git a/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts b/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts index b492e343f7f5..bf720525389c 100644 --- a/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts +++ b/packages/mask/src/plugins/Trader/trader/useTradeCallback.ts @@ -110,6 +110,8 @@ export function useTradeCallback( return bancor case TradeProvider.OPENOCEAN: return openocean + case TradeProvider.TRADERJOE: + return uniswapV2Like default: if (provider) unreachable(provider) return [] diff --git a/packages/mask/src/plugins/Trader/trader/useTradeContext.ts b/packages/mask/src/plugins/Trader/trader/useTradeContext.ts index 6fd8953b6354..7faeaf313a3e 100644 --- a/packages/mask/src/plugins/Trader/trader/useTradeContext.ts +++ b/packages/mask/src/plugins/Trader/trader/useTradeContext.ts @@ -13,6 +13,8 @@ import { SUSHISWAP_CUSTOM_BASES, UNISWAP_BASE_AGAINST_TOKENS, UNISWAP_CUSTOM_BASES, + TRADERJOE_BASE_AGAINST_TOKENS, + TRADERJOE_CUSTOM_BASES, WANNASWAP_BASE_AGAINST_TOKENS, WANNASWAP_CUSTOM_BASES, TRISOLARIS_CUSTOM_BASES, @@ -148,6 +150,18 @@ export function useTradeContext(tradeProvider: TradeProvider) { TYPE: tradeProvider, ROUTER_CONTRACT_ADDRESS: DEX_TRADE.OPENOCEAN_EXCHANGE_PROXY_ADDRESS, } + case TradeProvider.TRADERJOE: + return { + TYPE: tradeProvider, + IS_UNISWAP_V2_LIKE: true, + GRAPH_API: getTraderConstants(chainId).TRADERJOE_THEGRAPH, + INIT_CODE_HASH: getTraderConstants(chainId).TRADERJOE_INIT_CODE_HASH, + ROUTER_CONTRACT_ADDRESS: getTraderConstants(chainId).TRADERJOE_ROUTER_ADDRESS, + FACTORY_CONTRACT_ADDRESS: getTraderConstants(chainId).TRADERJOE_FACTORY_ADDRESS, + AGAINST_TOKENS: TRADERJOE_BASE_AGAINST_TOKENS, + ADDITIONAL_TOKENS: {}, + CUSTOM_TOKENS: TRADERJOE_CUSTOM_BASES, + } default: unreachable(tradeProvider) } diff --git a/packages/mask/src/plugins/Trader/trending/useCurrentTradeProvider.ts b/packages/mask/src/plugins/Trader/trending/useCurrentTradeProvider.ts index c84086874aaf..709c6988b0bb 100644 --- a/packages/mask/src/plugins/Trader/trending/useCurrentTradeProvider.ts +++ b/packages/mask/src/plugins/Trader/trending/useCurrentTradeProvider.ts @@ -7,6 +7,7 @@ import { xdaiNetworkTradeProviderSettings, celoNetworkTradeProviderSettings, fantomNetworkTradeProviderSettings, + avalancheNetworkTradeProviderSettings, auroraNetworkTradeProviderSettings, } from '../settings' import { ChainId, getNetworkTypeFromChainId, NetworkType } from '@masknet/web3-shared-evm' @@ -23,6 +24,7 @@ export function useCurrentTradeProvider(chainId?: ChainId) { const xdaiNetworkTradeProvider = useValueRef(xdaiNetworkTradeProviderSettings) const celoNetworkTradeProvider = useValueRef(celoNetworkTradeProviderSettings) const fantomNetworkTradeProvider = useValueRef(fantomNetworkTradeProviderSettings) + const avalancheNetworkTradeProvider = useValueRef(avalancheNetworkTradeProviderSettings) const auroraNetworkTradeProvider = useValueRef(auroraNetworkTradeProviderSettings) if (!networkType) return TradeProvider.UNISWAP_V2 @@ -41,6 +43,8 @@ export function useCurrentTradeProvider(chainId?: ChainId) { return celoNetworkTradeProvider case NetworkType.Fantom: return fantomNetworkTradeProvider + case NetworkType.Avalanche: + return avalancheNetworkTradeProvider case NetworkType.Aurora: return auroraNetworkTradeProvider case NetworkType.Boba: diff --git a/packages/mask/src/plugins/Trader/types/trader.ts b/packages/mask/src/plugins/Trader/types/trader.ts index 211c73a9818f..0f9a4fa216fa 100644 --- a/packages/mask/src/plugins/Trader/types/trader.ts +++ b/packages/mask/src/plugins/Trader/types/trader.ts @@ -71,6 +71,7 @@ export enum ZrxTradePool { UniswapV3 = 'Uniswap_V3', WaultSwap = 'WaultSwap', xSigma = 'xSigma', + TraderJoe = 'TraderJoe', Trisolaris = 'Trisolaris', WannaSwap = 'WannaSwap', } diff --git a/packages/mask/src/plugins/Wallet/services/account.ts b/packages/mask/src/plugins/Wallet/services/account.ts index b9b0717a40c4..fd926daa1f66 100644 --- a/packages/mask/src/plugins/Wallet/services/account.ts +++ b/packages/mask/src/plugins/Wallet/services/account.ts @@ -126,6 +126,7 @@ export async function getSupportedNetworks() { Flags.xdai_enabled ? NetworkType.xDai : undefined, Flags.celo_enabled ? NetworkType.Celo : undefined, Flags.fantom_enabled ? NetworkType.Fantom : undefined, + Flags.avalanche_enabled ? NetworkType.Avalanche : undefined, Flags.aurora_enabled ? NetworkType.Aurora : undefined, ].filter(Boolean) as NetworkType[] } diff --git a/packages/mask/src/plugins/Wallet/services/assets.ts b/packages/mask/src/plugins/Wallet/services/assets.ts index 9ef97a86e009..4d809e618815 100644 --- a/packages/mask/src/plugins/Wallet/services/assets.ts +++ b/packages/mask/src/plugins/Wallet/services/assets.ts @@ -106,7 +106,7 @@ export async function getAssetsList( // xdai-assets is not support const scopes = network ? [resolveZerionAssetsScopeName(network)] - : ['assets', 'bsc-assets', 'polygon-assets', 'arbitrum-assets'] + : ['assets', 'bsc-assets', 'polygon-assets', 'arbitrum-assets', 'avalanche-assets'] for (const scope of scopes) { const { meta, payload } = await ZerionAPI.getAssetsList(address, scope) if (meta.status !== 'ok') throw new Error('Fail to load assets.') diff --git a/packages/mask/src/resources/TraderJoeIcon.tsx b/packages/mask/src/resources/TraderJoeIcon.tsx new file mode 100644 index 000000000000..6bd38919d532 --- /dev/null +++ b/packages/mask/src/resources/TraderJoeIcon.tsx @@ -0,0 +1,2704 @@ +import { SvgIconProps, SvgIcon } from '@mui/material' + +const svg = ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +) + +export function TraderJoeIcon(props: SvgIconProps) { + return {svg} +} diff --git a/packages/mask/src/settings/listener.ts b/packages/mask/src/settings/listener.ts index 931e30892e7b..4e6f876e551f 100644 --- a/packages/mask/src/settings/listener.ts +++ b/packages/mask/src/settings/listener.ts @@ -27,6 +27,7 @@ import { xdaiNetworkTradeProviderSettings, celoNetworkTradeProviderSettings, fantomNetworkTradeProviderSettings, + avalancheNetworkTradeProviderSettings, auroraNetworkTradeProviderSettings, } from '../plugins/Trader/settings' import type { InternalSettings } from './createSettings' @@ -57,6 +58,7 @@ export function ToBeListened(): ToBeListedSettings { xdaiNetworkTradeProviderSettings, celoNetworkTradeProviderSettings, fantomNetworkTradeProviderSettings, + avalancheNetworkTradeProviderSettings, auroraNetworkTradeProviderSettings, } } diff --git a/packages/mask/src/utils/native-rpc/Web.ts b/packages/mask/src/utils/native-rpc/Web.ts index ac00aa79f5e1..7115f0750cd2 100644 --- a/packages/mask/src/utils/native-rpc/Web.ts +++ b/packages/mask/src/utils/native-rpc/Web.ts @@ -119,6 +119,8 @@ export const MaskNetworkAPI: MaskNetworkAPIs = { return Services.Settings.getCeloNetworkTradeProvider() case NetworkType.Fantom: return Services.Settings.getxDaiNetworkTradeProvider() + case NetworkType.Avalanche: + return Services.Settings.getAvalancheNetworkTradeProvider() case NetworkType.Aurora: return Services.Settings.getAuroraNetworkTradeProvider() @@ -148,6 +150,8 @@ export const MaskNetworkAPI: MaskNetworkAPIs = { return Services.Settings.setCeloNetworkTradeProvider(provider) case NetworkType.Fantom: return Services.Settings.setFantomNetworkTradeProvider(provider) + case NetworkType.Avalanche: + return Services.Settings.setAvalancheNetworkTradeProvider(provider) case NetworkType.Aurora: return Services.Settings.setAuroraNetworkTradeProvider(provider) case NetworkType.Boba: diff --git a/packages/public-api/src/web.ts b/packages/public-api/src/web.ts index 5bde212caefb..468203a02ac0 100644 --- a/packages/public-api/src/web.ts +++ b/packages/public-api/src/web.ts @@ -193,8 +193,8 @@ export enum NetworkType { xDai = 'xDai', Celo = 'Celo', Fantom = 'Fantom', - Aurora = 'Aurora', Avalanche = 'Avalanche', + Aurora = 'Aurora', Boba = 'Boba', Fuse = 'Fuse', Metis = 'Metis', @@ -221,6 +221,7 @@ export enum TradeProvider { OPENOCEAN = 10, WANNASWAP = 11, TRISOLARIS = 12, + TRADERJOE = 13, } /** Supported language settings */ export enum LanguageOptions { diff --git a/packages/shared-base/src/Messages/Mask.ts b/packages/shared-base/src/Messages/Mask.ts index cbf06df30f59..988dacffd15f 100644 --- a/packages/shared-base/src/Messages/Mask.ts +++ b/packages/shared-base/src/Messages/Mask.ts @@ -34,6 +34,7 @@ export interface MaskSettingsEvents { arbitrumNetworkTradeProviderSettings: TradeProvider xdaiNetworkTradeProviderSettings: TradeProvider fantomNetworkTradeProviderSettings: TradeProvider + avalancheNetworkTradeProviderSettings: TradeProvider celoNetworkTradeProviderSettings: TradeProvider auroraNetworkTradeProviderSettings: TradeProvider } diff --git a/packages/web3-constants/compile-constants.ts b/packages/web3-constants/compile-constants.ts index 1c6364433809..37d1e4aa1e9e 100644 --- a/packages/web3-constants/compile-constants.ts +++ b/packages/web3-constants/compile-constants.ts @@ -55,6 +55,7 @@ compileConstants(path.join(__dirname, 'evm'), [ 'xDai', 'Celo', 'Fantom', + 'Avalanche', 'Aurora', 'Aurora_Testnet', ]) diff --git a/packages/web3-constants/evm/airdrop.json b/packages/web3-constants/evm/airdrop.json index eee0146e37ca..2cd77e13f073 100644 --- a/packages/web3-constants/evm/airdrop.json +++ b/packages/web3-constants/evm/airdrop.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/coingecko.json b/packages/web3-constants/evm/coingecko.json index 108ba53afb0b..264c0b5c005a 100644 --- a/packages/web3-constants/evm/coingecko.json +++ b/packages/web3-constants/evm/coingecko.json @@ -14,6 +14,7 @@ "xDai": "xdai", "Celo": "celo", "Fantom": "fantom", + "Avalanche": "avalanche", "Aurora": "aurora", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "xdai", "Celo": "celo", "Fantom": "fantom", + "Avalanche": "avalanche", "Aurora": "ethereum", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/coinmarketcap.json b/packages/web3-constants/evm/coinmarketcap.json index d5c578f0d2e7..d276f3b41eff 100644 --- a/packages/web3-constants/evm/coinmarketcap.json +++ b/packages/web3-constants/evm/coinmarketcap.json @@ -14,6 +14,7 @@ "xDai": "5601", "Celo": "5567", "Fantom": "3513", + "Avalanche": "5805", "Aurora": "1313161554", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/cryptoartai.json b/packages/web3-constants/evm/cryptoartai.json index 84d1ed2c7470..2728adb63f89 100644 --- a/packages/web3-constants/evm/cryptoartai.json +++ b/packages/web3-constants/evm/cryptoartai.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -50,6 +52,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/debank.json b/packages/web3-constants/evm/debank.json index c511f4a3a22c..190a197e3e6d 100644 --- a/packages/web3-constants/evm/debank.json +++ b/packages/web3-constants/evm/debank.json @@ -14,6 +14,7 @@ "xDai": "xdai", "Celo": "celo", "Fantom": "ftm", + "Avalanche": "avax", "Aurora": "aurora", "Aurora_Testnet": "", "Avalanche": "avax", diff --git a/packages/web3-constants/evm/dhedge.json b/packages/web3-constants/evm/dhedge.json index 029cfbf09d82..4d60e9f2b36d 100644 --- a/packages/web3-constants/evm/dhedge.json +++ b/packages/web3-constants/evm/dhedge.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/ethereum.json b/packages/web3-constants/evm/ethereum.json index 2893a35631f7..695d7d53ccaf 100644 --- a/packages/web3-constants/evm/ethereum.json +++ b/packages/web3-constants/evm/ethereum.json @@ -14,6 +14,7 @@ "xDai": "0x96c7D011cdFD467f551605f0f5Fce279F86F4186", "Celo": "0x8e28F1d64ceD52b9A09aB1AA3071Aa3c05802d1F", "Fantom": "0xc119574d5fb333f5ac018658d4d8b5035e16bf39", + "Avalanche": "0xC119574D5Fb333F5AC018658D4d8b5035E16bf39", "Aurora": "0xC119574D5Fb333F5AC018658D4d8b5035E16bf39", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "0xAb7B1bE4233A04e5C43a810E75657ECED8E5463B", "Celo": "0x072453AdEC16cFC7FB6Af1517c3f25407180cccC", "Fantom": "0x913975af2Bb8a6Be4100D7dc5e9765B77F6A5d6c", + "Avalanche": "0x6cc1b1058F9153358278C35E0b2D382f1585854B", "Aurora": "0x6cc1b1058F9153358278C35E0b2D382f1585854B", "Aurora_Testnet": "" }, @@ -50,6 +52,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -68,6 +71,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/explorer.json b/packages/web3-constants/evm/explorer.json index a4a06690e1bd..f80a6181d5a2 100644 --- a/packages/web3-constants/evm/explorer.json +++ b/packages/web3-constants/evm/explorer.json @@ -14,6 +14,7 @@ "xDai": [], "Celo": [], "Fantom": ["AST4WWPNEYDURUXG2GH32JZMYWEFDP999S"], + "Avalanche": ["JU97281F83YV3WAT6SZ4JF65JG1R5VFCF2"], "Aurora": [], "Aurora_Testnet": [] }, @@ -32,6 +33,7 @@ "xDai": "https://blockscout.com/xdai/mainnet/api", "Celo": "https://explorer.celo.org/api", "Fantom": "https://api.ftmscan.com/api", + "Avalanche": "https://api.snowtrace.io/api", "Aurora": "https://explorer.mainnet.aurora.dev/api", "Aurora_Testnet": "https://explorer.testnet.aurora.dev/api" } diff --git a/packages/web3-constants/evm/gitcoin.json b/packages/web3-constants/evm/gitcoin.json index 92e26081a158..6c6f8c034fb2 100644 --- a/packages/web3-constants/evm/gitcoin.json +++ b/packages/web3-constants/evm/gitcoin.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -50,6 +52,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -68,6 +71,7 @@ "xDai": 5, "Celo": 0, "Fantom": 0, + "Avalanche": 0, "Aurora": 0, "Aurora_Testnet": 0 } diff --git a/packages/web3-constants/evm/good-ghosting.json b/packages/web3-constants/evm/good-ghosting.json index 5ca1473e8cec..445315b89898 100644 --- a/packages/web3-constants/evm/good-ghosting.json +++ b/packages/web3-constants/evm/good-ghosting.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/ito.json b/packages/web3-constants/evm/ito.json index 42d6ebd0c72d..93f0665cf357 100644 --- a/packages/web3-constants/evm/ito.json +++ b/packages/web3-constants/evm/ito.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -50,6 +52,7 @@ "xDai": "0x913975af2Bb8a6Be4100D7dc5e9765B77F6A5d6c", "Celo": "0xaA5bfd7355637eA7405CB194a55303e821c4c569", "Fantom": "", + "Avalanche": "0x2cf91AD8C175305EBe6970Bd8f81231585EFbd77", "Aurora": "0x5de932BD252DD79231C9eDB5F2e30D488B785109", "Aurora_Testnet": "0xdcA6F476EebCDE8FE8b072e3fC80dBC28dC209b3" }, @@ -68,6 +71,7 @@ "xDai": 17865755, "Celo": 10278776, "Fantom": "", + "Avalanche": "", "Aurora": 0, "Aurora_Testnet": 77919102 }, @@ -86,6 +90,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -104,6 +109,7 @@ "xDai": "0x71834a3FDeA3E70F14a93ED85c6be70925D0CAd9", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -122,6 +128,7 @@ "xDai": "https://api.thegraph.com/subgraphs/name/dimensiondev/mask-ito-xdai", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/lbp.json b/packages/web3-constants/evm/lbp.json index 3ea18109a7c6..54c9d099adc1 100644 --- a/packages/web3-constants/evm/lbp.json +++ b/packages/web3-constants/evm/lbp.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/mask-box.json b/packages/web3-constants/evm/mask-box.json index 6462a6eea66c..adca9378a82d 100644 --- a/packages/web3-constants/evm/mask-box.json +++ b/packages/web3-constants/evm/mask-box.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0xf5056B96ab242C566002852d0b98ce0BcDf1af51", "Aurora_Testnet": "0xB4D669bc117735FdA44e90e52795132187705B21" }, @@ -32,6 +33,7 @@ "xDai": 0, "Celo": 0, "Fantom": 0, + "Avalanche": 0, "Aurora": 57259004, "Aurora_Testnet": 77919118 }, @@ -50,6 +52,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -68,6 +71,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -86,6 +90,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/nft-red-packet.json b/packages/web3-constants/evm/nft-red-packet.json index 52907626bbce..20259f2eb84a 100644 --- a/packages/web3-constants/evm/nft-red-packet.json +++ b/packages/web3-constants/evm/nft-red-packet.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "0x96c7D011cdFD467f551605f0f5Fce279F86F4186", "Aurora": "0x05ee315E407C21a594f807D61d6CC11306D1F149", "Aurora_Testnet": "0x97369fEE7db34E0BfE47861f2ec44b4378d13eB4" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "https://api.thegraph.com/subgraphs/name/dimensiondev/mask-nft-red-packet-aurora", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/openocean.json b/packages/web3-constants/evm/openocean.json index dd5de64f9815..631283dc1793 100644 --- a/packages/web3-constants/evm/openocean.json +++ b/packages/web3-constants/evm/openocean.json @@ -14,6 +14,7 @@ "xDai": "0x934B510D4C9103E6a87AEf13b816fb080286D649", "Celo": "0x934B510D4C9103E6a87AEf13b816fb080286D649", "Fantom": "0x934B510D4C9103E6a87AEf13b816fb080286D649", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/opensea-api.json b/packages/web3-constants/evm/opensea-api.json index d2b62bf356ed..5591777db990 100644 --- a/packages/web3-constants/evm/opensea-api.json +++ b/packages/web3-constants/evm/opensea-api.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -50,6 +52,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/pooltogether.json b/packages/web3-constants/evm/pooltogether.json index 617908998037..19a76c95efe8 100644 --- a/packages/web3-constants/evm/pooltogether.json +++ b/packages/web3-constants/evm/pooltogether.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/red-packet.json b/packages/web3-constants/evm/red-packet.json index b8062f747b7c..34ce2b9a7057 100644 --- a/packages/web3-constants/evm/red-packet.json +++ b/packages/web3-constants/evm/red-packet.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -50,6 +52,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -68,6 +71,7 @@ "xDai": "0x54a0A221C25Fc0a347EC929cFC5db0be17fA2a2B", "Celo": "", "Fantom": "", + "Avalanche": "0xF9F7C1496c21bC0180f4B64daBE0754ebFc8A8c0", "Aurora": "0x19f179D7e0D7d9F9d5386afFF64271D98A91615B", "Aurora_Testnet": "0xdB93cCd481012bB5D1E2c8d0aF7C5f2940c00fdC" }, @@ -86,6 +90,7 @@ "xDai": 18101937, "Celo": 0, "Fantom": 0, + "Avalanche": 0, "Aurora": 57552338, "Aurora_Testnet": 77918765 }, @@ -104,6 +109,7 @@ "xDai": "https://api.thegraph.com/subgraphs/name/dimensiondev/mask-red-packet-xdai", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "https://api.thegraph.com/subgraphs/name/dimensiondev/mask-red-packet-aurora", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/rpc.json b/packages/web3-constants/evm/rpc.json index 7c73ce63f750..07e513594db7 100644 --- a/packages/web3-constants/evm/rpc.json +++ b/packages/web3-constants/evm/rpc.json @@ -14,6 +14,7 @@ "xDai": ["https://rpc.xdaichain.com/"], "Celo": ["https://forno.celo.org"], "Fantom": ["https://rpcapi.fantom.network/"], + "Avalanche": ["https://api.avax.network/ext/bc/C/rpc"], "Aurora": ["https://mainnet.aurora.dev"], "Aurora_Testnet": ["https://testnet.aurora.dev"] }, @@ -32,6 +33,7 @@ "xDai": [0, 0, 0, 0], "Celo": [0, 0, 0, 0], "Fantom": [0, 0, 0, 0], + "Avalanche": [0, 0, 0, 0], "Aurora": [0, 0, 0, 0], "Aurora_Testnet": [0, 0, 0, 0] } diff --git a/packages/web3-constants/evm/space-station-galaxy.json b/packages/web3-constants/evm/space-station-galaxy.json index e6d53731ccb0..310813358ae4 100644 --- a/packages/web3-constants/evm/space-station-galaxy.json +++ b/packages/web3-constants/evm/space-station-galaxy.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/token-asset-base-url.json b/packages/web3-constants/evm/token-asset-base-url.json index f109ab50bdea..c9b55ee32bab 100644 --- a/packages/web3-constants/evm/token-asset-base-url.json +++ b/packages/web3-constants/evm/token-asset-base-url.json @@ -41,6 +41,7 @@ "xDai": [], "Celo": [], "Fantom": [], + "Avalanche": [], "Aurora": [], "Aurora_Testnet": [] } diff --git a/packages/web3-constants/evm/token-list.json b/packages/web3-constants/evm/token-list.json index 4f265a782490..4dff0b1296db 100644 --- a/packages/web3-constants/evm/token-list.json +++ b/packages/web3-constants/evm/token-list.json @@ -27,6 +27,9 @@ "xDai": ["https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/100/tokens.json"], "Celo": ["https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/42220/tokens.json"], "Fantom": ["https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/250/tokens.json"], + "Avalanche": [ + "https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/43114/tokens.json" + ], "Aurora": [ "https://raw.githubusercontent.com/DimensionDev/Mask-Token-List/gh-pages/latest/1313161554/tokens.json" ], diff --git a/packages/web3-constants/evm/token.json b/packages/web3-constants/evm/token.json index f177fa4da2d6..7316553c1fce 100644 --- a/packages/web3-constants/evm/token.json +++ b/packages/web3-constants/evm/token.json @@ -14,6 +14,7 @@ "xDai": "0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d", "Celo": "0x471EcE3750Da237f93B8E339c536989b8978a438", "Fantom": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83", + "Avalanche": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7", "Aurora": "0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83", "Celo": "0x2A3684e9Dc20B857375EA04235F2F7edBe818FA7", "Fantom": "0x04068da6c83afcfa0e13ba15a6696662335d5b75", + "Avalanche": "0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664", "Aurora": "0xb12bfca5a55806aaf64e99521918a4bf0fc40802", "Aurora_Testnet": "" }, @@ -50,6 +52,7 @@ "xDai": "0x4ECaBa5870353805a9F068101A40E0f32ed605C6", "Celo": "0xb020d981420744f6b0fedd22bb67cd37ce18a1d5", "Fantom": "", + "Avalanche": "0xc7198437980c041c805A1EDcbA50c1Ce5db95118", "Aurora": "0x4988a896b1227218e4a686fde5eabdcabd91571f", "Aurora_Testnet": "" }, @@ -68,6 +71,7 @@ "xDai": "0x1e37E5b504F7773460d6eB0e24D2e7C223B66EC7", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -86,6 +90,7 @@ "xDai": "0xdd96B45877d0E8361a4DDb732da741e97f3191Ff", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -104,6 +109,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -122,6 +128,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -140,6 +147,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -158,6 +166,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -176,6 +185,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -194,6 +204,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -212,6 +223,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -230,6 +242,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -248,6 +261,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -266,6 +280,7 @@ "xDai": "", "Celo": "", "Fantom": "0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E", + "Avalanche": "0xba7deebbfc5fa1100fb055a87773e1e99cd3507a", "Aurora": "0xe3520349f477a5f6eb06107066048508498a291b", "Aurora_Testnet": "" }, @@ -284,6 +299,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -302,6 +318,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -320,6 +337,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -338,6 +356,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -356,6 +375,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -374,6 +394,7 @@ "xDai": "", "Celo": "", "Fantom": "0x049d68029688eAbF473097a2fC38ef61633A3C7A", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -392,6 +413,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -410,6 +432,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -428,6 +451,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -446,6 +470,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -464,6 +489,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -482,6 +508,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0x7faA64Faf54750a2E3eE621166635fEAF406Ab22", "Aurora_Testnet": "" }, @@ -500,6 +527,7 @@ "xDai": "0x8e5bBbb09Ed1ebdE8674Cda39A0c169401db4252", "Celo": "0xBe50a3013A1c94768A1ABb78c3cB79AB28fc1aCE", "Fantom": "0x321162Cd933E2Be498Cd2267a90534A804051b11", + "Avalanche": "0x50b7545627a5162f82a992c33b87adc75187b218", "Aurora": "0xf4eb217ba2454613b15dbdea6e5f22276410e89e", "Aurora_Testnet": "" }, @@ -518,6 +546,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -536,6 +565,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -554,6 +584,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -572,6 +603,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -590,6 +622,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -608,6 +641,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -626,6 +660,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -644,6 +679,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -662,6 +698,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -680,6 +717,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -698,6 +736,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -716,6 +755,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -734,6 +774,7 @@ "xDai": "", "Celo": "0x765de816845861e75a25fca122bb6898b8b1282a", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -752,6 +793,7 @@ "xDai": "", "Celo": "0x765de816845861e75a25fca122bb6898b8b1282a", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -770,6 +812,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0x802119e4e253D5C19aA06A5d567C5a41596D6803", "Aurora_Testnet": "" }, @@ -788,6 +831,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB", "Aurora": "", "Aurora_Testnet": "" }, @@ -806,6 +850,7 @@ "xDai": "0x0000000000000000000000000000000000000000", "Celo": "0x471ece3750da237f93b8e339c536989b8978a438", "Fantom": "0x0000000000000000000000000000000000000000", + "Avalanche": "0x0000000000000000000000000000000000000000", "Aurora": "0x0000000000000000000000000000000000000000", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/trader.json b/packages/web3-constants/evm/trader.json index 9378c927d852..e265f3961ac0 100644 --- a/packages/web3-constants/evm/trader.json +++ b/packages/web3-constants/evm/trader.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -50,6 +52,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -68,6 +71,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -86,6 +90,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -104,6 +109,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -122,6 +128,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -140,6 +147,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -158,6 +166,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -176,6 +185,7 @@ "xDai": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", "Celo": "0x1421bDe4B10e8dd459b3BCb598810B1337D56842", "Fantom": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", + "Avalanche": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", "Aurora": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506", "Aurora_Testnet": "" }, @@ -194,6 +204,7 @@ "xDai": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", "Celo": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", "Fantom": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", + "Avalanche": "0xc35DADB65012eC5796536bD9864eD8773aBc74C4", "Aurora": "", "Aurora_Testnet": "" }, @@ -212,6 +223,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -230,6 +242,7 @@ "xDai": "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303", "Celo": "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303", "Fantom": "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303", + "Avalanche": "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303", "Aurora": "", "Aurora_Testnet": "" }, @@ -248,6 +261,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -266,6 +280,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -284,6 +299,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -302,6 +318,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -320,6 +337,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -338,6 +356,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -356,6 +375,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -374,6 +394,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -392,6 +413,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -410,6 +432,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -428,6 +451,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -446,6 +470,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -464,6 +489,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -482,6 +508,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -500,6 +527,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -518,6 +546,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", "Aurora_Testnet": "" }, @@ -536,6 +565,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0x335aC99bb3E51BDbF22025f092Ebc1Cf2c5cC619", "Aurora_Testnet": "" }, @@ -554,6 +584,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -572,6 +603,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -590,6 +622,7 @@ "xDai": "0x0000000000000000000000000000000000000000", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -608,6 +641,7 @@ "xDai": "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -626,6 +660,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0xa3a1eF5Ae6561572023363862e238aFA84C72ef5", "Aurora_Testnet": "" }, @@ -644,6 +679,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0x8f1E0Cf0f9f269Bc977C38635E560aa5b0E63323", "Aurora_Testnet": "" }, @@ -662,6 +698,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0x7928D4FeA7b2c90C732c10aFF59cf403f0C38246", "Aurora_Testnet": "" }, @@ -680,6 +717,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -698,6 +736,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0xa06b8b0642cf6a9298322d0c8ac3c68c291ca24dc66245cf23aa2abc33b57e21", "Aurora_Testnet": "" }, @@ -716,6 +755,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0x2CB45Edb4517d5947aFdE3BEAbF95A582506858B", "Aurora_Testnet": "" }, @@ -734,6 +774,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0xc66F594268041dB60507F00703b152492fb176E7", "Aurora_Testnet": "" }, @@ -752,6 +793,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -770,7 +812,84 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "0x754e1d90e536e4c1df81b7f030f47b4ca80c87120e145c294f098c83a6cb5ace", "Aurora_Testnet": "" + }, + "TRADERJOE_ROUTER_ADDRESS": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Avalanche": "0x60aE616a2155Ee3d9A68541Ba4544862310933d4", + "Aurora": "", + "Aurora_Testnet": "" + }, + "TRADERJOE_FACTORY_ADDRESS": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Avalanche": "0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10", + "Aurora": "", + "Aurora_Testnet": "" + }, + "TRADERJOE_THEGRAPH": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Avalanche": "", + "Aurora": "", + "Aurora_Testnet": "" + }, + "TRADERJOE_INIT_CODE_HASH": { + "Mainnet": "", + "Ropsten": "", + "Rinkeby": "", + "Kovan": "", + "Gorli": "", + "BSC": "", + "BSCT": "", + "Matic": "", + "Mumbai": "", + "Arbitrum": "", + "Arbitrum_Rinkeby": "", + "xDai": "", + "Celo": "", + "Fantom": "", + "Avalanche": "0x0bbca9af0511ad1a1da383135cf3a8d2ac620e549ef9f6ae3a4c33c2fed0af91", + "Aurora": "", + "Aurora_Testnet": "" } } diff --git a/packages/web3-constants/evm/trending.json b/packages/web3-constants/evm/trending.json index 645e5397355e..db06b021cf9c 100644 --- a/packages/web3-constants/evm/trending.json +++ b/packages/web3-constants/evm/trending.json @@ -14,6 +14,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" }, @@ -50,6 +52,7 @@ "xDai": "", "Celo": "", "Fantom": "", + "Avalanche": "", "Aurora": "", "Aurora_Testnet": "" } diff --git a/packages/web3-constants/evm/zerion.json b/packages/web3-constants/evm/zerion.json index 9fd0dc3f4800..da43744f6931 100644 --- a/packages/web3-constants/evm/zerion.json +++ b/packages/web3-constants/evm/zerion.json @@ -14,6 +14,7 @@ "xDai": "xdai-assets", "Celo": "celo-assets", "Fantom": "fantom-assets", + "Avalanche": "avalanche-assets", "Aurora": "aurora-assets", "Aurora_Testnet": "" }, @@ -32,6 +33,7 @@ "xDai": "xdai-transactions", "Celo": "celo-transactions", "Fantom": "fantom-transactions", + "Avalanche": "avalanche-transactions", "Aurora": "aurora-transactions", "Aurora_Testnet": "" } diff --git a/packages/web3-shared/evm/assets/chains.json b/packages/web3-shared/evm/assets/chains.json index 22e09db4e3b9..067ed1d3316b 100644 --- a/packages/web3-shared/evm/assets/chains.json +++ b/packages/web3-shared/evm/assets/chains.json @@ -2094,11 +2094,25 @@ "rpc": ["https://api.avax.network/ext/bc/C/rpc"], "faucets": [], "features": [], - "nativeCurrency": { "name": "Avalanche", "symbol": "AVAX", "decimals": 18 }, - "infoURL": "https://cchain.explorer.avax.network/", - "shortName": "Avalanche", + "nativeCurrency": { + "name": "Avalanche", + "symbol": "AVAX", + "decimals": 18, + "logoURI": "https://raw.githubusercontent.com/traderjoe-xyz/joe-tokenlists/main/logos/0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7/logo.png" + }, + "infoURL": "https://snowtrace.io/", + "shortName": "AVAX", "chainId": 43114, - "networkId": 1 + "networkId": 43114, + "explorers": [ + { + "name": "snowtrace", + "url": "https://snowtrace.io/", + "icon": "avalanche", + "standard": "EIP3091", + "logoURI": "https://snowtrace.io/images/svg/brands/main.svg?v=21.12.4.1" + } + ] }, { "name": "Celo Alfajores Testnet", diff --git a/packages/web3-shared/evm/pipes/index.ts b/packages/web3-shared/evm/pipes/index.ts index 80f5ef592c76..e215db7940f1 100644 --- a/packages/web3-shared/evm/pipes/index.ts +++ b/packages/web3-shared/evm/pipes/index.ts @@ -66,6 +66,7 @@ export const resolveNetworkAddressPrefix = createLookupTableResolver [NetworkType.xDai]: 'xDai', [NetworkType.Celo]: 'Celo', [NetworkType.Fantom]: 'Fantom', + [NetworkType.Avalanche]: 'Avalanche', [NetworkType.Aurora]: 'Aurora', }, 'Unknown', @@ -111,6 +113,7 @@ export const resolveChainColor = createLookupTableResolver( [ChainId.xDai]: 'rgb(73, 169, 166)', [ChainId.Celo]: 'rgb(53, 208, 127)', [ChainId.Fantom]: 'rgb(19, 181, 236)', + [ChainId.Avalanche]: 'rgb(19, 181, 236)', [ChainId.Aurora]: 'rgb(112, 212, 74)', [ChainId.Aurora_Testnet]: 'rgb(112, 212, 74)', }, diff --git a/packages/web3-shared/evm/types/index.ts b/packages/web3-shared/evm/types/index.ts index cb8226ccf0bb..62b2e17832c9 100644 --- a/packages/web3-shared/evm/types/index.ts +++ b/packages/web3-shared/evm/types/index.ts @@ -65,7 +65,7 @@ export enum ChainId { // Fantom Fantom = 250, - // Avalanche + //Avalanche Avalanche = 43114, // Aurora @@ -112,8 +112,8 @@ export enum NetworkType { xDai = 'xDai', Celo = 'Celo', Fantom = 'Fantom', - Aurora = 'Aurora', Avalanche = 'Avalanche', + Aurora = 'Aurora', Boba = 'Boba', Fuse = 'Fuse', Metis = 'Metis', diff --git a/packages/web3-shared/evm/utils/chainDetailed.ts b/packages/web3-shared/evm/utils/chainDetailed.ts index ae6dc8be5138..e28e8cf9565a 100644 --- a/packages/web3-shared/evm/utils/chainDetailed.ts +++ b/packages/web3-shared/evm/utils/chainDetailed.ts @@ -93,6 +93,7 @@ export const getChainIdFromNetworkType = createLookupTableResolver