/** * MultiChainAdmin Component - Multi-chain admin management */ import { useState } from 'react' import { useChainId, useSwitchChain } from 'wagmi' import { CONTRACT_ADDRESSES } from '../../config/contracts' import toast from 'react-hot-toast' import { chain138 } from '../../config/networks' interface ChainConfig { chainId: number name: string contractAddresses: { mainnetTether?: string transactionMirror?: string } } const CHAIN_CONFIGS: ChainConfig[] = [ { chainId: 1, name: 'Ethereum Mainnet', contractAddresses: { mainnetTether: CONTRACT_ADDRESSES.mainnet.MAINNET_TETHER, transactionMirror: CONTRACT_ADDRESSES.mainnet.TRANSACTION_MIRROR, }, }, { chainId: chain138.id, name: chain138.name, contractAddresses: {}, }, ] export default function MultiChainAdmin() { const chainId = useChainId() const { switchChain } = useSwitchChain() const [selectedChain, setSelectedChain] = useState(chainId) // Note: address removed from here but may be used in future for permission checks const currentChain = CHAIN_CONFIGS.find((c) => c.chainId === chainId) const targetChain = CHAIN_CONFIGS.find((c) => c.chainId === selectedChain) const handleSwitchChain = () => { if (selectedChain !== chainId) { switchChain({ chainId: selectedChain }) toast(`Switching to ${targetChain?.name}...`, { icon: '🔄' }) } } return (

Multi-Chain Admin

Manage admin contracts across multiple chains.

{currentChain?.name || 'Unknown'}

Chain ID: {chainId}

{selectedChain !== chainId && ( )}

Chain Configurations

{CHAIN_CONFIGS.map((chain) => (

{chain.name}

Chain ID: {chain.chainId}

{chain.chainId === chainId && ( Active )}
{chain.contractAddresses.mainnetTether && (

MainnetTether:

{chain.contractAddresses.mainnetTether}

)} {chain.contractAddresses.transactionMirror && (

TransactionMirror:

{chain.contractAddresses.transactionMirror}

)}
))}
) }