Module transactions

Module transactions 

Expand description

Transactions management for the p2p network.

Modules§

config
Aggregation on configurable parameters for TransactionsManager.
constants
Default and spec’d bounds.
fetcher
Component responsible for fetching transactions from NewPooledTransactionHashes. TransactionFetcher is responsible for rate limiting and retry logic for fetching transactions. Upon receiving an announcement, functionality of the TransactionFetcher is used for filtering out hashes 1) for which the tx is already known and 2) unknown but the hash is already seen in a previous announcement. The hashes that remain from an announcement are then packed into a request with respect to the EthVersion of the announcement. Any hashes that don’t fit into the request, are buffered in the TransactionFetcher. If on the other hand, space remains, hashes that the peer has previously announced are taken out of buffered hashes to fill the request up. The GetPooledTransactions request is then sent to the peer’s session, this marks the peer as active with respect to MAX_CONCURRENT_TX_REQUESTS_PER_PEER.
policy
Defines the TransactionPolicies trait for aggregating transaction-related policies.

Structs§

PeerMetadata
Tracks a single peer in the context of TransactionsManager.
PendingPoolImportsInfo
Tracks stats about the TransactionsManager.
TransactionFetcherConfig
Configuration for fetching transactions.
TransactionsHandle
Api to interact with TransactionsManager task.
TransactionsManager
Manages transactions on top of the p2p network.
TransactionsManagerConfig
Configuration for managing transactions within the network.

Enums§

NetworkTransactionEvent
All events related to transactions emitted by the network.
TransactionPropagationMode
Determines how new pending transactions are propagated to other peers in full.

Constants§

DEFAULT_SOFT_LIMIT_BYTE_SIZE_POOLED_TRANSACTIONS_RESP_ON_PACK_GET_POOLED_TRANSACTIONS_REQ
Default soft limit for the byte size of a PooledTransactions response on assembling a GetPooledTransactions request. This defaults to less than the SOFT_LIMIT_BYTE_SIZE_POOLED_TRANSACTIONS_RESPONSE, at 2 MiB, used when assembling a PooledTransactions response.
SOFT_LIMIT_BYTE_SIZE_POOLED_TRANSACTIONS_RESPONSE
Soft limit for the byte size of a PooledTransactions response on assembling a GetPooledTransactions request.

Traits§

AnnouncementFilteringPolicy
A policy that defines how to handle incoming transaction announcements, particularly concerning transaction types and other announcement metadata.
TransactionPropagationPolicy
A policy defining which peers pending transactions are gossiped to.

Type Aliases§

PoolImportFuture
The future for importing transactions into the pool.