import { useEffect } from "react"; import { formatEther, type Address } from "viem"; import { useBalance, useBlockNumber, useConnect, useConnection, useConnectors, useDisconnect } from "wagmi"; function WalletDetails({ address }: { address: Address }) { const { data: blockNumber } = useBlockNumber({ watch: true }); const { data: balance, isPending, error, refetch: refetchBalance } = useBalance({ address }); const { mutate: disconnect } = useDisconnect(); useEffect(() => { refetchBalance(); }, [blockNumber]); return (

You are connected

Your address is: {address}

{isPending &&

Loading balance...

} {error &&

An error occurred.

} {blockNumber &&

Block number: {blockNumber.toLocaleString()}

} {balance &&

Balance: {formatEther(balance.value)} ETH

}
) } function ConnectWallet() { const connectors = useConnectors(); const { mutate: connect } = useConnect(); return (

Connect your wallet

Choose an option from the list below:

{connectors.map(connector => ( ))}
) } export function StatusPage() { const { address, isConnected } = useConnection(); return (
{isConnected && address ? ( ) : ( )}
); }