# Packages
Package blobpool implements the EIP-4844 blob transaction pool.
Package legacypool implements the normal EVM execution transaction pool.
Package locals implements tracking for "local" transactions.
# Functions
New creates a new transaction pool to gather, sort and filter inbound transactions from the network.
ValidateTransaction is a helper method to check whether a transaction is valid according to the consensus rules, but does not check state-dependent validation (balance, nonce, etc).
ValidateTransactionWithState is a helper method to check whether a transaction is valid according to the pool's internal state checks (balance, nonce, gaps).
# Variables
ErrAccountLimitExceeded is returned if a transaction would exceed the number allowed by a pool for a single account.
ErrAlreadyKnown is returned if the transactions is already contained within the pool.
ErrAlreadyReserved is returned if the sender address has a pending transaction in a different subpool.
ErrAuthorityNonce is returned if a transaction has an authorization with a nonce that is not currently valid for the authority.
ErrAuthorityReserved is returned if a transaction has an authorization signed by an address which already has in-flight transactions known to the pool.
ErrFutureReplacePending is returned if a future transaction replaces a pending one.
ErrGasLimit is returned if a transaction's requested gas limit exceeds the maximum allowance of the current block.
ErrInvalidSender is returned if the transaction contains an invalid signature.
ErrNegativeValue is a sanity error to ensure no one is able to specify a transaction with a negative value.
ErrOversizedData is returned if the input data of a transaction is greater than some meaningful limit a user might use.
ErrReplaceUnderpriced is returned if a transaction is attempted to be replaced with a different one without the required price bump.
ErrUnderpriced is returned if a transaction's gas price is below the minimum configured for the transaction pool.
# Structs
LazyTransaction contains a small subset of the transaction properties that is enough for the miner and other APIs to handle large batches of transactions; and supports pulling up the entire transaction when really needed.
PendingFilter is a collection of filter rules to allow retrieving a subset of transactions for announcement or mining.
TxPool is an aggregator for various transaction specific pools, collectively tracking all the transactions deemed interesting by the node.
ValidationOptions define certain differences between transaction validation across the different pools without having to duplicate those checks.
ValidationOptionsWithState define certain differences between stateful transaction validation across the different pools without having to duplicate those checks.
# Interfaces
BlockChain defines the minimal set of methods needed to back a tx pool with a chain.
LazyResolver is a minimal interface needed for a transaction pool to satisfy resolving lazy transactions.
SubPool represents a specialized transaction pool that lives on its own (e.g.
# Type aliases
AddressReserver is passed by the main transaction pool to subpools, so they may request (and relinquish) exclusive access to certain addresses.
TxStatus is the current status of a transaction as seen by the pool.
ValidationFunction is an method type which the pools use to perform the tx-validations which do not require state access.