Expand description
Monad-specific EVM implementation.
This crate provides Monad-specific customizations for REVM:
- Full gas-limit charging without refunds
- Monad opcode gas and bytecode size limits
- MIP-3 memory pricing and feature-gated pooled memory limits
- Per-frame Monad hardfork instruction and precompile selection
- Repriced and Monad-specific protocol precompiles
Re-exports§
pub use cfg::MonadCfgEnv;pub use cfg::MONAD_MAX_CODE_SIZE;pub use cfg::MONAD_MAX_INITCODE_SIZE;pub use chain::MonadChainContext;pub use evm::MonadEvm;pub use journal::MonadJournal;pub use journal::MonadJournalTr;pub use api::*;pub use spec::*;
Modules§
- api
- API module for building and executing Monad EVM.
- cfg
- Configuration module for Monad-specific settings. Monad-specific EVM configuration.
- chain
- Monad chain context used for reserve-balance decisions. Monad-specific chain context.
- evm
- EVM type aliases and builders for Monad.
- handler
- Handler customizations for Monad execution. Monad handler implementation.
- instructions
- Monad-specific instruction set with custom gas costs.
- journal
- Monad journal wrapper with reserve-balance tracking. Monad journal wrapper with reserve-balance and page-access tracking.
- memory
- MIP-3 linear memory costs with a feature-gated 8 MiB pooled limit. MIP-3 linear memory costs with a feature-gated 8 MiB pooled transaction limit.
- page
- MIP-8 page-based storage access tracking and gas accounting. Helpers for MIP-8 page-based storage access tracking.
- page_
opcode - MIP-8 storage opcode overrides. MIP-8 storage opcode handlers.
- precompiles
- Monad precompiles with custom gas pricing. Contains Monad specific precompiles.
- reserve_
balance - Monad reserve-balance precompile (0x1001). Reserve-balance precompile.
- spec
- Monad specification identifiers and hardfork definitions.
Contains the
MonadHardforktype and its implementation. - staking
- Monad staking precompile (0x1000). Monad staking precompile implementation.