Rollup aware chains objects extending wagmi
A simple drop in replacement for wagmis existing chain object
The source code is very small just 1 file src/rollupChains.ts. But this simple abstraction can really clean up your code significantly if your DAPP is multichain
npm
npm i @roninjin10/rollup-chains
pnpm
pnpm i @roninjin10/rollup-chains
yarn
yarn add @roninjin10/rollup-chains
Use just like @wagmi/chains but with some extra rollup properties
// import {mainnet, optimism} from 'wagmi/chains'
import { mainnet, optimism } from "@roninjin10/rollup-chains";
// the extend wagmi interface
mainnet.id
optimism.rpcUrls
// with added rollup specific properties
mainnet.l1 // returns mainnet
mainnet.l2 // returns optimism
optimism.12 // returns optimism
optimism.l1 // returns mainnet
optimism.isL2 // returns true
optimism.isL2 // returns false
Instead of writing bugprone and unergonomic code like this
const currentChainId = connectChain.id
const l1ChainId = connectedChain.id === 1 ? 1 : connectedChain.id === 10 ? 1 : connectedChain.id === 5 ? 5 : connectedChain.id === 420 ? 5 ...
Or needing to add helper functions simply swap these chains in for wagmi chains to get rollup aware chains!
const currentChainId = connectedChain.id;
// this will return the l1 chain regardless of if user is connected to testnet, mainnet, l1, or l2
const l1ChainId = connectedChain.l1.id;