From 624ae9501089f718eb2128e162f4cdda035ff406 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Fri, 24 May 2024 19:21:50 +0200 Subject: [PATCH 1/3] use blockscout as default block explorer --- .../views/nft/mint/NFTMintIndex.tsx | 2 +- src/config/development.tsx | 30 +++++++------ src/config/production.tsx | 25 ++++++++--- src/config/utils.tsx | 44 +++++++++++++++++++ src/content/FAQ.tsx | 4 +- 5 files changed, 82 insertions(+), 23 deletions(-) create mode 100644 src/config/utils.tsx diff --git a/src/components/views/nft/mint/NFTMintIndex.tsx b/src/components/views/nft/mint/NFTMintIndex.tsx index a1d10a620d..352948b1c6 100644 --- a/src/components/views/nft/mint/NFTMintIndex.tsx +++ b/src/components/views/nft/mint/NFTMintIndex.tsx @@ -139,7 +139,7 @@ export const NFTMintIndex = () => { { {' '} (e.g.,{' '} ){' '} From 18d9752c484f8f970613f0efa86e82e7c1d5b4b1 Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Fri, 13 Dec 2024 18:34:38 +0100 Subject: [PATCH 2/3] add new chains --- src/config/chains.tsx | 74 ++++++++++++++++++++++++++++++++++++++ src/config/development.tsx | 23 ++++++------ src/config/production.tsx | 25 +++++++------ src/config/utils.tsx | 44 ----------------------- 4 files changed, 101 insertions(+), 65 deletions(-) create mode 100644 src/config/chains.tsx delete mode 100644 src/config/utils.tsx diff --git a/src/config/chains.tsx b/src/config/chains.tsx new file mode 100644 index 0000000000..93ebc25844 --- /dev/null +++ b/src/config/chains.tsx @@ -0,0 +1,74 @@ +import { + celoAlfajores, + gnosis, + goerli, + sepolia, + optimismSepolia, + polygon, + arbitrumSepolia, + celo, + classic, + mainnet, + optimism, + arbitrum, + base, + baseSepolia, + polygonZkEvm, + polygonZkEvmCardona, +} from '@wagmi/core/chains'; +import { type Chain } from 'viem'; + +const EXPLORER_URLS: Record = { + [polygon.id]: 'https://polygon.blockscout.com', + [goerli.id]: 'https://eth-goerli.blockscout.com', + [gnosis.id]: 'https://gnosis.blockscout.com', + [optimismSepolia.id]: 'https://optimism-sepolia.blockscout.com', + [celoAlfajores.id]: 'https://explorer.celo.org/alfajores', + [arbitrumSepolia.id]: 'https://sepolia-explorer.arbitrum.io', + [celo.id]: 'https://explorer.celo.org/mainnet', + [classic.id]: 'https://etc.blockscout.com', + [mainnet.id]: 'https://eth.blockscout.com', + [optimism.id]: 'https://optimism.blockscout.com', + [arbitrum.id]: 'https://arbitrum.blockscout.com', + [sepolia.id]: 'https://eth-sepolia.blockscout.com', + [base.id]: 'https://base.blockscout.com', + [baseSepolia.id]: 'https://base-sepolia.blockscout.com', + [polygonZkEvm.id]: 'https://zkevm.blockscout.com', + [polygonZkEvmCardona.id]: 'https://explorer-ui.cardona.zkevm-rpc.com', +}; + +function updateBlockExplorers(chain: Chain): Chain { + if (!EXPLORER_URLS[chain.id]) { + return chain; + } + return { + ...chain, + blockExplorers: { + default: { + name: 'Blockscout', + url: EXPLORER_URLS[chain.id], + }, + }, + }; +} + +const chains: Record = { + celoAlfajores: updateBlockExplorers(celoAlfajores), + gnosis: updateBlockExplorers(gnosis), + goerli: updateBlockExplorers(goerli), + sepolia: updateBlockExplorers(sepolia), + optimismSepolia: updateBlockExplorers(optimismSepolia), + polygon: updateBlockExplorers(polygon), + arbitrumSepolia: updateBlockExplorers(arbitrumSepolia), + celo: updateBlockExplorers(celo), + classic: updateBlockExplorers(classic), + mainnet: updateBlockExplorers(mainnet), + optimism: updateBlockExplorers(optimism), + arbitrum: updateBlockExplorers(arbitrum), + base: updateBlockExplorers(base), + baseSepolia: updateBlockExplorers(baseSepolia), + polygonZkEvm: updateBlockExplorers(polygonZkEvm), + polygonZkEvmCardona: updateBlockExplorers(polygonZkEvmCardona), +}; + +export default chains; diff --git a/src/config/development.tsx b/src/config/development.tsx index 0cb620561b..8d89c124de 100644 --- a/src/config/development.tsx +++ b/src/config/development.tsx @@ -1,14 +1,4 @@ import React from 'react'; -import { - celoAlfajores, - gnosis, - sepolia, - optimismSepolia, - polygon, - arbitrumSepolia, - baseSepolia, - polygonZkEvmCardona, -} from 'wagmi/chains'; import { WalletAdapterNetwork } from '@solana/wallet-adapter-base'; import { type Chain } from 'viem'; import { @@ -32,6 +22,19 @@ import IconArbitrum from '@/components/Icons/Arbitrum'; import IconStellar from '@/components/Icons/Stellar'; import { IconClassic } from '@/components/Icons/Classic'; +import chains from './chains'; + +const { + celoAlfajores, + gnosis, + sepolia, + optimismSepolia, + polygon, + arbitrumSepolia, + baseSepolia, + polygonZkEvmCardona, +} = chains; + const BASE_ROUTE = process.env.NEXT_PUBLIC_BASE_ROUTE || 'https://impact-graph.serve.giveth.io'; diff --git a/src/config/production.tsx b/src/config/production.tsx index 5a8deca43c..9ed93bb3a0 100644 --- a/src/config/production.tsx +++ b/src/config/production.tsx @@ -1,14 +1,3 @@ -import { - celo, - classic, - gnosis, - mainnet, - optimism, - polygon, - arbitrum, - base, - polygonZkEvm, -} from '@wagmi/core/chains'; import { WalletAdapterNetwork } from '@solana/wallet-adapter-base'; import React from 'react'; import { type Chain } from 'viem'; @@ -32,6 +21,20 @@ import IconArbitrum from '@/components/Icons/Arbitrum'; import IconZKEVM from '@/components/Icons/ZKEVM'; import IconStellar from '@/components/Icons/Stellar'; +import chains from './chains'; + +const { + celo, + classic, + gnosis, + mainnet, + optimism, + polygon, + arbitrum, + base, + polygonZkEvm, +} = chains; + const GNOSIS_GIV_TOKEN_ADDRESS = '0x4f4F9b8D5B4d0Dc10506e5551B0513B61fD59e75'; const OPTIMISM_GIV_TOKEN_ADDRESS = '0x528CDc92eAB044E1E39FE43B9514bfdAB4412B98'; const ZKEVM_GIV_TOKEN_ADDRESS = '0xddAFB91475bBf6210a151FA911AC8fdA7dE46Ec2'; diff --git a/src/config/utils.tsx b/src/config/utils.tsx deleted file mode 100644 index 3b78c773e0..0000000000 --- a/src/config/utils.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { - celoAlfajores, - gnosis, - goerli, - optimismSepolia, - polygon, - arbitrumSepolia, - celo, - classic, - mainnet, - optimism, - arbitrum, -} from '@wagmi/core/chains'; -import { type Chain } from 'viem'; - -const EXPLORER_URLS = { - [63]: 'https://etc-mordor.blockscout.com', // Ethereum Classic Mordor - [polygon.id]: 'https://polygon.blockscout.com', - [goerli.id]: 'https://eth-goerli.blockscout.com', - [gnosis.id]: 'https://gnosis.blockscout.com', - [optimismSepolia.id]: 'https://optimism-sepolia.blockscout.com', - [celoAlfajores.id]: 'https://explorer.celo.org/alfajores', - [arbitrumSepolia.id]: 'https://sepolia-explorer.arbitrum.io', - [celo.id]: 'https://explorer.celo.org/mainnet', - [classic.id]: 'https://etc.blockscout.com', - [mainnet.id]: 'https://eth.blockscout.com', - [optimism.id]: 'https://optimism.blockscout.com', - [arbitrum.id]: 'https://arbitrum.blockscout.com', -}; - -export function updateBlockExplorers(chain: Chain) { - if (!EXPLORER_URLS[chain.id]) { - return chain; - } - return { - ...chain, - blockExplorers: { - default: { - name: 'Blockscout', - url: EXPLORER_URLS[chain.id], - }, - }, - }; -} From a204f95ea3bfd716c80017a7759ca3a4b11a0b7f Mon Sep 17 00:00:00 2001 From: Max Alekseenko Date: Fri, 13 Dec 2024 18:41:31 +0100 Subject: [PATCH 3/3] code improvement --- src/config/chains.tsx | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/src/config/chains.tsx b/src/config/chains.tsx index 93ebc25844..e761108d15 100644 --- a/src/config/chains.tsx +++ b/src/config/chains.tsx @@ -52,23 +52,25 @@ function updateBlockExplorers(chain: Chain): Chain { }; } -const chains: Record = { - celoAlfajores: updateBlockExplorers(celoAlfajores), - gnosis: updateBlockExplorers(gnosis), - goerli: updateBlockExplorers(goerli), - sepolia: updateBlockExplorers(sepolia), - optimismSepolia: updateBlockExplorers(optimismSepolia), - polygon: updateBlockExplorers(polygon), - arbitrumSepolia: updateBlockExplorers(arbitrumSepolia), - celo: updateBlockExplorers(celo), - classic: updateBlockExplorers(classic), - mainnet: updateBlockExplorers(mainnet), - optimism: updateBlockExplorers(optimism), - arbitrum: updateBlockExplorers(arbitrum), - base: updateBlockExplorers(base), - baseSepolia: updateBlockExplorers(baseSepolia), - polygonZkEvm: updateBlockExplorers(polygonZkEvm), - polygonZkEvmCardona: updateBlockExplorers(polygonZkEvmCardona), -}; +const chains: Record = Object.fromEntries( + Object.entries({ + celoAlfajores, + gnosis, + goerli, + sepolia, + optimismSepolia, + polygon, + arbitrumSepolia, + celo, + classic, + mainnet, + optimism, + arbitrum, + base, + baseSepolia, + polygonZkEvm, + polygonZkEvmCardona, + }).map(([key, chain]) => [key, updateBlockExplorers(chain)]), +); export default chains;