Expand description
Monad-specific EVM implementation.
This crate provides Monad-specific customizations for REVM:
- Gas limit charging (no refunds)
- Custom precompiles (including staking at 0x1000)
- Custom gas costs
- Custom code size limits (128KB max code, 256KB max initcode)
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 tracking.
- memory
- MIP-3: Linear memory cost model with 8 MB pooled limit. MIP-3: Linear memory cost model with 8 MB pooled transaction limit.
- 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
[MonadSpecId]type and its implementation. - staking
- Monad staking precompile (0x1000) - read-only view methods. Monad staking precompile implementation.