pub enum Chain {
Ethereum,
Arbitrum,
Optimism,
Polygon,
Base,
Bsc,
Sonic,
Avalanche,
Celo,
HyperEvm,
}Expand description
EVM chains supported by waterpump-evm facades.
Variants are curated to chains where at least one facade has a
V3ProtocolConfig. Chain IDs match the canonical EIP-155 values.
Variants§
Ethereum
Ethereum mainnet (chain ID 1).
Arbitrum
Arbitrum One (chain ID 42161).
Optimism
Optimism (chain ID 10).
Polygon
Polygon PoS (chain ID 137).
Base
Base (chain ID 8453).
Bsc
BNB Smart Chain (chain ID 56).
Sonic
Sonic (chain ID 146). Home of Shadow Exchange (R14 / R7 Slice C).
Avalanche
Avalanche C-Chain (chain ID 43114).
Celo
Celo (chain ID 42220).
HyperEvm
HyperEVM mainnet (chain ID 999). Home of Project X — R26 / spec
docs/superpowers/specs/2026-05-12-r26-hyperevm-prjx-design.md.
Implementations§
Source§impl Chain
impl Chain
Sourcepub const fn name(self) -> &'static str
pub const fn name(self) -> &'static str
Human-readable lower-snake-case name (matches CLI value name).
Sourcepub const fn wrapped_native(self) -> Option<Address>
pub const fn wrapped_native(self) -> Option<Address>
Canonical wrapped-native ERC20 for this chain.
Returns None for chains where the native token is already
ERC20-compatible (e.g., Celo’s CELO).
Each Some(...) value is source-verified — see commit body for the
cast-call / on-chain-fixture provenance trail. Spec §2 documents
why wrapped-native is a chain property (not a V3ProtocolConfig
property): a single facade CONFIG serves multiple chains with
different WETH addresses (Uniswap V3 mainnet CONFIG → 5 chains →
5 different WETHs).