import { connect, disconnect, reconnect, watchConnection } from '@wagmi/core' import { Buffer } from 'buffer' import './style.css' import { config } from './wagmi' globalThis.Buffer = Buffer document.querySelector('#app')!.innerHTML = `

Connection

status:
addresses:
chainId:

Connect

${config.connectors .map( (connector) => ``, ) .join('')}
` setupApp(document.querySelector('#app')!) function setupApp(element: HTMLDivElement) { const connectElement = element.querySelector('#connect') const buttons = element.querySelectorAll('.connect') for (const button of buttons) { const connector = config.connectors.find( (connector) => connector.uid === button.id, )! button.addEventListener('click', async () => { try { const errorElement = element.querySelector('#error') if (errorElement) errorElement.remove() await connect(config, { connector }) } catch (error) { const errorElement = document.createElement('div') errorElement.id = 'error' errorElement.innerText = (error as Error).message connectElement?.appendChild(errorElement) } }) } watchConnection(config, { onChange(connection) { const connectionElement = element.querySelector('#connection')! connectionElement.innerHTML = `

Connection

status: ${connection.status}
addresses: ${ connection.addresses ? JSON.stringify(connection.addresses) : '' }
chainId: ${connection.chainId ?? ''}
${ connection.status === 'connected' ? `` : '' } ` const disconnectButton = element.querySelector('#disconnect') if (disconnectButton) disconnectButton.addEventListener('click', () => disconnect(config)) }, }) reconnect(config) .then(() => {}) .catch(() => {}) }