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::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§
- The
Arbitrary
trait crate. - 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 types.
Macros§
- Macro that defines different variants of a chain specific enum. See
crate::Hardfork
as an example.
Structs§
- An Ethereum account.
- Ethereum full block.
- A response to
GetBlockBodies
, containing bodies if any bodies were found. - Sealed block with senders recovered from transactions.
- Bytecode for an account.
- Ordered list of a chain hardforks that implement
Hardfork
. - A container for pretty-printing a list of hardforks.
- Represents a forward-compatible ENR entry for including the forkid in a node record via EIP-868. Forward compatibility is achieved via EIP-8.
- Temp helper struct for integrating
NodePrimitives
. - Filter that describes the state of blockchain and can be used to check incoming
ForkId
s for compatibility. CRC32
hash of all previous forks starting from genesis block.- A fork identifier as defined by EIP-2124. Serves as the chain compatibility identifier.
- Represents a transition from one fork to another
- A pair of values, one of which is expected and one of which is actual.
- A pair of values, one of which is expected and one of which is actual.
- Describes the current head block.
- Ethereum Block header
- A log consists of an address, and some log data.
- An Ethereum event log object.
- Receipt containing result of transaction execution.
- [
Receipt
] with calculated bloom filter. - A collection of receipts organized as a two-dimensional vector.
- Sealed Ethereum full block.
- Sealed block with senders recovered from transactions.
- A
Header
that is sealed at a precalculated hash, useSealedHeader::unseal()
if you want to modify header. - Account storage entry.
Enums§
- The name of an Ethereum hardfork.
- The condition at which a fork is activated.
- How to filter forks.
- Errors that can occur during header sanity checks.
- Represents error variants that can happen when trying to validate a transaction.
- All possible transactions that can be included in a response to
GetPooledTransactions
. A response toGetPooledTransactions
. This can include either a blob transaction, or a non-4844 signed transaction. - Segment of the data that can be moved to static files.
- Reason for rejecting provided
ForkId
.
Statics§
- Dev hardforks
Traits§
- Extension trait for [
BlockBody
] adding helper methods operating with transactions. - Extension trait for [
reth_primitives_traits::Block
] implementations allowing for conversions into common block parts containers such asSealedBlock
,BlockWithSenders
, etc. - Helper methods for Ethereum forks.
- Generic hardfork trait.
- Generic trait over a set of ordered hardforks
- Configures all the primitive types of the node.
Functions§
- 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. - Compute the logs bloom filter for the given logs.
- Converts a public key into an ethereum address by hashing the encoded public key with keccak256.
- Recover signer from message hash, without ensuring that the signature has a low
s
value. - 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§
- A helepr trait to construct
SealedBlock
from a [reth_primitives_traits::Block
].