Skip to main content

Crate monad_revm

Crate monad_revm 

Source
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.