Crate revm_primitives

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

AccessList
AccessList as defined in EIP-2930
AccessListItem
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.
FixedBytes
A byte array of fixed length ([u8; N]).
JumpTable
A map of valid jump destinations.
KzgSettings
Stores the setup and parameters needed for computing KZG proofs.
LegacyAnalyzedBytecode
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 Bytecode analysis.
BytecodeDecodeError
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 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.
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 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.