Expand description
§revm-primitives
EVM primitive types.
Re-exports§
- pub use eip7702::AuthorizationList;
- pub use eip7702::Eip7702Bytecode;
- pub use eip7702::Eip7702DecodeError;
- pub use eip7702::EIP7702_MAGIC;
- pub use eip7702::EIP7702_MAGIC_BYTES;
- pub use eip7702::EIP7702_MAGIC_HASH;
- pub use kzg::EnvKzgSettings;
- pub use alloy_primitives;
- pub use alloy_primitives::bytes;
- pub use alloy_primitives::hex;
- pub use alloy_primitives::ruint;
- pub use bitvec;
- pub use env::*;
- pub use precompile::*;
- pub use result::*;
- pub use specification::*;
- pub use state::*;
- pub use utilities::*;
Modules§
- db
- eip7702
- env
- eof
- hash_map 
- A hash map implemented with quadratic probing and SIMD lookup.
- hash_set 
- A hash set implemented as a HashMapwhere the value is().
- kzg
- legacy
- map
- Re-exports of map types and utilities.
- precompile
- result
- specification
- state
- utilities
Macros§
- address
- Converts a sequence of string literals containing hex-encoded data
into a new Addressat compile time.
- b256
- Converts a sequence of string literals containing hex-encoded data
into a new B256at compile time.
- bytes
- Converts a sequence of string literals containing hex-encoded data into a
new Bytesat compile time.
- fixed_bytes 
- Converts a sequence of string literals containing hex-encoded data
into a new FixedBytesat compile time.
- hex
- Macro for converting sequence of string literals containing hex-encoded data into an array of bytes.
- spec_to_ generic 
Structs§
- AccessList 
- AccessList as defined in EIP-2930
- AccessList Item 
- A list of addresses and storage keys that the transaction plans to access. Accesses outside the list are possible, but become more expensive.
- Address
- An Ethereum address, 20 bytes in length.
- Authorization
- An unsigned EIP-7702 authorization.
- Bytes
- Wrapper type around bytes::Bytesto support “0x” prefixed hex strings.
- Eof
- EVM Object Format (EOF) container.
- FixedBytes 
- A byte array of fixed length ([u8; N]).
- JumpTable 
- A map of valid jumpdestinations.
- KzgSettings
- Stores the setup and parameters needed for computing KZG proofs.
- LegacyAnalyzed Bytecode 
- Legacy analyzed
- Log
- A log consists of an address, and some log data.
- LogData
- An Ethereum event log object.
- PrimitiveSignature 
- An Ethereum ECDSA signature.
- RecoveredAuthorization 
- A recovered authorization.
- SignedAuthorization 
- A signed EIP-7702 authorization.
Enums§
- Bytecode
- State of the Bytecodeanalysis.
- BytecodeDecode Error 
- EOF decode errors.
- RecoveredAuthority 
- Represents the outcome of an attempt to recover the authority from an authorization.
It can either be valid (containing an Address) or invalid (indicating recovery failure).
- TxKind
- The tofield of a transaction. Either a target address, or empty for a contract creation.
Constants§
- BLOB_BASE_ FEE_ UPDATE_ FRACTION_ CANCUN 
- Controls the maximum rate of change for blob gas price.
- BLOB_BASE_ FEE_ UPDATE_ FRACTION_ ELECTRA 
- Controls the maximum rate of change for blob gas price (Electra). EIP-7691: Blob throughput increase
- BLOCKHASH_SERVE_ WINDOW 
- EIP-2935: Serve historical block hashes from state
- BLOCKHASH_STORAGE_ ADDRESS 
- EIP-2935: Serve historical block hashes from state
- BLOCK_HASH_ HISTORY 
- Number of block hashes that EVM can access in the past (pre-Prague).
- EOF_MAGIC 
- EOF Magic in u16 form.
- EOF_MAGIC_ HASH 
- Hash of EF00 bytes that is used for EXTCODEHASH when called from legacy bytecode.
- GAS_PER_ BLOB 
- Gas consumption of a single data blob (== blob byte size).
- MAX_CODE_ SIZE 
- EIP-170: Contract code size limit
- MAX_INITCODE_ SIZE 
- EIP-3860: Limit and meter initcode
- MIN_BLOB_ GASPRICE 
- Minimum gas price for data blobs.
- PRECOMPILE3 
- The address of precompile 3, which is handled specially in a few places.
- VERSIONED_HASH_ VERSION_ KZG 
- First version of the blob.
Statics§
- EOF_MAGIC_ BYTES 
- EOF magic number in array form.
Type Aliases§
- B256
- 32-byte fixed byte-array type.
- HashMap
- A HashMapusing the default hasher.
- HashSet
- A HashSetusing the default hasher.
- I256
- 256-bit signed integer type, consisting of 4, 64-bit limbs.
- U256
- 256-bit unsigned integer type, consisting of 4, 64-bit limbs.