Skip to main content

Crate chaincodec_evm

Crate chaincodec_evm 

Source
Expand description

§chaincodec-evm

EVM ABI decoder implementing the ChainDecoder trait. Handles Ethereum, Arbitrum, Base, Polygon, Optimism and any EVM-compatible chain.

§Implementation notes

  • Uses alloy-core for ABI decode (replaces the legacy ethabi)
  • Topics[0] → event signature fingerprint (keccak256)
  • Topics[1..] → indexed parameters (each 32 bytes, ABI-encoded)
  • data → non-indexed parameters (ABI-encoded tuple)

Re-exports§

pub use call_decoder::EvmCallDecoder;
pub use decoder::EvmDecoder;
pub use encoder::EvmEncoder;
pub use eip712::Eip712Parser;
pub use eip712::TypedData;
pub use proxy::classify_from_storage;
pub use proxy::detect_eip1167_clone;
pub use proxy::ProxyInfo;
pub use proxy::ProxyKind;

Modules§

batch
Rayon-powered batch decode helpers specific to the EVM decoder. The main batch logic lives in EvmDecoder::decode_batch, but this module exposes chunk-level utilities for the higher-level batch engine.
call_decoder
EVM function-call and constructor calldata decoder.
decoder
EvmDecoder — the ChainDecoder implementation for all EVM chains.
eip712
EIP-712 Typed Structured Data decoder.
encoder
ABI encoder — the inverse of the ABI decoder.
fingerprint
EVM event fingerprint computation.
normalizer
Converts alloy-core DynSolValue → ChainCodec NormalizedValue.
proxy
EVM proxy contract pattern detection and resolution.