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
HashMap
where 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
Address
at compile time. - b256
- Converts a sequence of string literals containing hex-encoded data
into a new
B256
at compile time. - bytes
- Converts a sequence of string literals containing hex-encoded data into a
new
Bytes
at compile time. - fixed_
bytes - Converts a sequence of string literals containing hex-encoded data
into a new
FixedBytes
at compile time. - hex
- Macro for converting sequence of string literals containing hex-encoded data into an array of bytes.
- spec_
to_ generic
Structs§
- Access
List - AccessList as defined in EIP-2930
- Access
List 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::Bytes
to support “0x” prefixed hex strings. - Eof
- EVM Object Format (EOF) container.
- Fixed
Bytes - A byte array of fixed length (
[u8; N]
). - Jump
Table - A map of valid
jump
destinations. - KzgSettings
- Stores the setup and parameters needed for computing KZG proofs.
- Legacy
Analyzed Bytecode - Legacy analyzed
- Log
- A log consists of an address, and some log data.
- LogData
- An Ethereum event log object.
- Primitive
Signature - An Ethereum ECDSA signature.
- Recovered
Authorization - A recovered authorization.
- Signed
Authorization - A signed EIP-7702 authorization.
Enums§
- Bytecode
- State of the
Bytecode
analysis. - Bytecode
Decode Error - EOF decode errors.
- Recovered
Authority - 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
to
field 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.
- PRECOMPIL
E3 - 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
HashMap
using the default hasher. - HashSet
- A
HashSet
using 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.