From 42ed7b81adb0df69a55ee7ed985b0c526ac2aeab Mon Sep 17 00:00:00 2001 From: John Feras Date: Wed, 17 Jan 2024 12:37:35 -0500 Subject: [PATCH] Switched to use env vars for RPC URLs instead of infura URLs --- frontend/src/components/models.ts | 22 +++++++++++++++------- frontend/src/utils/address.ts | 26 ++++++++++++++++++++++++-- frontend/src/utils/constants.ts | 4 ++++ frontend/src/utils/payment-links.ts | 3 ++- 4 files changed, 45 insertions(+), 10 deletions(-) diff --git a/frontend/src/components/models.ts b/frontend/src/components/models.ts index ad0da1395..8b1800a39 100644 --- a/frontend/src/components/models.ts +++ b/frontend/src/components/models.ts @@ -2,7 +2,15 @@ import { BigNumber } from 'src/utils/ethers'; import { JsonRpcSigner, Web3Provider } from 'src/utils/ethers'; import type { TokenList, TokenInfo } from '@uniswap/token-lists/dist/types'; import { UmbraLogger } from 'components/logger'; -import { ETH_NETWORK_LOGO } from 'src/utils/constants'; +import { + ETH_NETWORK_LOGO, + MAINNET_RPC_URL, + POLYGON_RPC_URL, + OPTIMISM_RPC_URL, + SEPOLIA_RPC_URL, + ARBITRUM_ONE_RPC_URL, + GNOSIS_CHAIN_RPC_URL, +} from 'src/utils/constants'; export type { TokenList, TokenInfo } from '@uniswap/token-lists/dist/types'; export { BigNumber } from 'src/utils/ethers'; @@ -50,7 +58,7 @@ export const supportedChains: Array = [ decimals: 18, logoURI: ETH_NETWORK_LOGO, }, - rpcUrls: [`https://mainnet.infura.io/v3/${String(process.env.INFURA_ID)}`], + rpcUrls: [MAINNET_RPC_URL], blockExplorerUrls: ['https://etherscan.io'], iconUrls: [ETH_NETWORK_LOGO], logoURI: ETH_NETWORK_LOGO, @@ -65,7 +73,7 @@ export const supportedChains: Array = [ decimals: 18, logoURI: ETH_NETWORK_LOGO, }, - rpcUrls: [`https://sepolia.infura.io/v3/${String(process.env.INFURA_ID)}`], + rpcUrls: [SEPOLIA_RPC_URL], blockExplorerUrls: ['https://sepolia.etherscan.io'], iconUrls: [ETH_NETWORK_LOGO], logoURI: ETH_NETWORK_LOGO, @@ -80,7 +88,7 @@ export const supportedChains: Array = [ decimals: 18, logoURI: ETH_NETWORK_LOGO, }, - rpcUrls: ['https://mainnet.optimism.io', `https://optimism-mainnet.infura.io/v3/${String(process.env.INFURA_ID)}`], + rpcUrls: ['https://mainnet.optimism.io', OPTIMISM_RPC_URL], blockExplorerUrls: ['https://optimistic.etherscan.io'], iconUrls: ['/networks/optimism.svg'], logoURI: '/networks/optimism.svg', @@ -95,7 +103,7 @@ export const supportedChains: Array = [ decimals: 18, logoURI: 'https://docs.gnosischain.com/img/tokens/xdai.png', }, - rpcUrls: ['https://rpc.ankr.com/gnosis'], + rpcUrls: ['https://rpc.ankr.com/gnosis', GNOSIS_CHAIN_RPC_URL], blockExplorerUrls: ['https://gnosisscan.io'], iconUrls: ['/networks/gnosis.svg'], logoURI: '/networks/gnosis.svg', @@ -110,7 +118,7 @@ export const supportedChains: Array = [ decimals: 18, logoURI: '/tokens/polygon.png', }, - rpcUrls: ['https://polygon-rpc.com/', `https://polygon-mainnet.infura.io/v3/${String(process.env.INFURA_ID)}`], + rpcUrls: ['https://polygon-rpc.com/', POLYGON_RPC_URL], blockExplorerUrls: ['https://polygonscan.com'], iconUrls: ['/networks/polygon.svg'], logoURI: '/networks/polygon.svg', @@ -125,7 +133,7 @@ export const supportedChains: Array = [ decimals: 18, logoURI: ETH_NETWORK_LOGO, }, - rpcUrls: ['https://arb1.arbitrum.io/rpc', `https://arbitrum-mainnet.infura.io/v3/${String(process.env.INFURA_ID)}`], + rpcUrls: ['https://arb1.arbitrum.io/rpc', ARBITRUM_ONE_RPC_URL], blockExplorerUrls: ['https://arbiscan.io'], iconUrls: ['/networks/arbitrum.svg'], logoURI: '/networks/arbitrum.svg', diff --git a/frontend/src/utils/address.ts b/frontend/src/utils/address.ts index c6ba05974..f0605f340 100644 --- a/frontend/src/utils/address.ts +++ b/frontend/src/utils/address.ts @@ -16,7 +16,13 @@ import { import { getChainById, jsonFetch } from 'src/utils/utils'; import { tc } from '../boot/i18n'; import Resolution from '@unstoppabledomains/resolution'; -import { MAINNET_PROVIDER, POLYGON_PROVIDER, MULTICALL_ABI, MULTICALL_ADDRESS } from 'src/utils/constants'; +import { + MAINNET_PROVIDER, + POLYGON_PROVIDER, + MULTICALL_ABI, + MULTICALL_ADDRESS, + MAINNET_RPC_URL, +} from 'src/utils/constants'; import { AddressZero, defaultAbiCoder } from 'src/utils/ethers'; import { UmbraApi } from 'src/utils/umbra-api'; @@ -49,7 +55,23 @@ export const lookupEnsName = async (address: string, provider: Provider | Static export const lookupCnsName = async (address: string) => { try { // Send request to get names - const resolution = Resolution.infura(String(process.env.INFURA_ID)); + + const resolution = new Resolution({ + sourceConfig: { + uns: { + locations: { + Layer1: { + url: MAINNET_RPC_URL, + network: 'mainnet', + }, + Layer2: { + url: '', + network: '', + }, + }, + }, + }, + }); const domain = await resolution.reverse(address); return domain; } catch (err) { diff --git a/frontend/src/utils/constants.ts b/frontend/src/utils/constants.ts index 12074ca68..1be1d2ab3 100644 --- a/frontend/src/utils/constants.ts +++ b/frontend/src/utils/constants.ts @@ -4,6 +4,10 @@ export const MAINNET_RPC_URL = String(process.env.MAINNET_RPC_URL); export const MAINNET_PROVIDER = new StaticJsonRpcProvider(MAINNET_RPC_URL); export const POLYGON_RPC_URL = String(process.env.POLYGON_RPC_URL); export const POLYGON_PROVIDER = new StaticJsonRpcProvider(POLYGON_RPC_URL); +export const OPTIMISM_RPC_URL = String(process.env.OPTIMISM_RPC_URL); +export const ARBITRUM_ONE_RPC_URL = String(process.env.ARBITRUM_ONE_RPC_URL); +export const SEPOLIA_RPC_URL = String(process.env.SEPOLIA_RPC_URL); +export const GNOSIS_CHAIN_RPC_URL = String(process.env.GNOSIS_CHAIN_RPC_URL); console.log(`MAINNET_RPC_URL ${MAINNET_RPC_URL}`); diff --git a/frontend/src/utils/payment-links.ts b/frontend/src/utils/payment-links.ts index 080ec9047..05e463af1 100644 --- a/frontend/src/utils/payment-links.ts +++ b/frontend/src/utils/payment-links.ts @@ -5,12 +5,13 @@ import { providerExport as provider, relayerExport as relayer, tokensExport as t import { notifyUser } from 'src/utils/alerts'; import { BigNumber, StaticJsonRpcProvider } from 'src/utils/ethers'; import { UmbraApi } from 'src/utils/umbra-api'; +import { MAINNET_RPC_URL } from 'src/utils/constants'; /** * @notice Returns a provider, falling back to a mainnet provider if user's wallet is not connected */ function getProvider() { - return provider || new StaticJsonRpcProvider(`https://mainnet.infura.io/v3/${String(process.env.INFURA_ID)}`); + return provider || new StaticJsonRpcProvider(MAINNET_RPC_URL); } /**