Crate reth_primitives

Source
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: Adds proptest and arbitrary support for primitive types.
  • test-utils: Export utilities for testing
  • reth-codec: Enables db codec support for reth types including zstd compression for certain types.

Re-exports§

Modules§

  • The Arbitrary trait crate.
  • Helper function for calculating Merkle proofs and hashes.
  • serde_bincode_compatserde-bincode-compat
    Bincode-compatible serde implementations for commonly used types in Reth.
  • Transaction types.

Macros§

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 ForkIds 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, use SealedHeader::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 to GetPooledTransactions. 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§

Traits§

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).
  • 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.
  • Generates a proptest strategy for constructing an instance of a header which is valid with respect to past and future forks.

Type Aliases§