Expand description
Commonly used types in Reth.
This crate contains Ethereum primitive types and helper functions.
§Feature Flags
alloy-compat
: Adds compatibility conversions for certain alloy types.arbitrary
: Addsproptest
andarbitrary
support for primitive types.test-utils
: Export utilities for testingreth-codec
: Enables db codec support for reth types including zstd compression for certain types.
Re-exports§
pub use transaction::BlobTransaction;
pub use transaction::PooledTransactionsElement;
pub use transaction::PooledTransactionsElementEcRecovered;
pub use transaction::RecoveredTx;
pub use transaction::Transaction;
pub use transaction::TransactionMeta;
pub use transaction::TransactionSigned;
pub use transaction::TransactionSignedEcRecovered;
pub use transaction::TxType;
pub use reth_static_file_types as static_file;
pub use arbitrary;
arbitrary
pub use c_kzg as kzg;
c-kzg
Modules§
- arbitrary
- The
Arbitrary
trait crate. - proofs
- Helper function for calculating Merkle proofs and hashes.
- serde_
bincode_ compat serde-bincode-compat
- Bincode-compatible serde implementations for commonly used types in Reth.
- transaction
- Transaction types.
Macros§
- hardfork
- Macro that defines different variants of a chain specific enum. See
crate::Hardfork
as an example.
Structs§
- Account
- An Ethereum account.
- Block
- Ethereum full block.
- Block
Body - A response to
GetBlockBodies
, containing bodies if any bodies were found. - Block
With Senders - Sealed block with senders recovered from transactions.
- Bytecode
- Bytecode for an account.
- Chain
Hardforks - Ordered list of a chain hardforks that implement
Hardfork
. - Display
Hardforks - A container for pretty-printing a list of hardforks.
- EnrFork
IdEntry - Represents a forward-compatible ENR entry for including the forkid in a node record via EIP-868. Forward compatibility is achieved via EIP-8.
- EthPrimitives
- Temp helper struct for integrating
NodePrimitives
. - Fork
Filter - Filter that describes the state of blockchain and can be used to check incoming
ForkId
s for compatibility. - Fork
Hash CRC32
hash of all previous forks starting from genesis block.- ForkId
- A fork identifier as defined by EIP-2124. Serves as the chain compatibility identifier.
- Fork
Transition - Represents a transition from one fork to another
- GotExpected
- A pair of values, one of which is expected and one of which is actual.
- GotExpected
Boxed - A pair of values, one of which is expected and one of which is actual.
- Head
- Describes the current head block.
- Header
- Ethereum Block header
- Log
- A log consists of an address, and some log data.
- LogData
- An Ethereum event log object.
- Receipt
- Receipt containing result of transaction execution.
- Receipt
With Bloom - [
Receipt
] with calculated bloom filter. - Receipts
- A collection of receipts organized as a two-dimensional vector.
- Sealed
Block - Sealed Ethereum full block.
- Sealed
Block With Senders - Sealed block with senders recovered from transactions.
- Sealed
Header - A
Header
that is sealed at a precalculated hash, useSealedHeader::unseal()
if you want to modify header. - Storage
Entry - Account storage entry.
Enums§
- Ethereum
Hardfork - The name of an Ethereum hardfork.
- Fork
Condition - The condition at which a fork is activated.
- Fork
Filter Key - How to filter forks.
- Header
Error - Errors that can occur during header sanity checks.
- Invalid
Transaction Error - Represents error variants that can happen when trying to validate a transaction.
- Static
File Segment - Segment of the data that can be moved to static files.
- Validation
Error - Reason for rejecting provided
ForkId
.
Statics§
- DEV_
HARDFORKS - Dev hardforks
Traits§
- Block
Body TxExt - Extension trait for [
BlockBody
] adding helper methods operating with transactions. - Block
Ext - Extension trait for [
reth_primitives_traits::Block
] implementations allowing for conversions into common block parts containers such asSealedBlock
,BlockWithSenders
, etc. - Ethereum
Hardforks - Helper methods for Ethereum forks.
- Hardfork
- Generic hardfork trait.
- Hardforks
- Generic trait over a set of ordered hardforks
- Node
Primitives - Configures all the primitive types of the node.
Functions§
- gas_
spent_ by_ transactions - Retrieves gas spent by transactions as a vector of tuples (transaction index, gas used). Retrieves gas spent by transactions as a vector of tuples (transaction index, gas used).
- generate_
valid_ header arbitrary
- Generates a header which is valid with respect to past and future forks. This means, for example, that if the withdrawals root is present, the base fee per gas is also present.
- logs_
bloom - Compute the logs bloom filter for the given logs.
- public_
key_ to_ address - Converts a public key into an ethereum address by hashing the encoded public key with keccak256.
- recover_
signer_ unchecked - Recovers the address of the sender using secp256k1 pubkey recovery.
- sign_
message - Signs message with the given secret key. Returns the corresponding signature.
- valid_
header_ strategy arbitrary
- Generates a proptest strategy for constructing an instance of a header which is valid with respect to past and future forks.
Type Aliases§
- Sealed
Block For - A helepr trait to construct
SealedBlock
from a [reth_primitives_traits::Block
].