sc_transaction_pool/
lib.rs1#![recursion_limit = "256"]
22#![warn(missing_docs)]
23#![warn(unused_extern_crates)]
24
25mod builder;
26mod common;
27mod fork_aware_txpool;
28mod graph;
29mod single_state_txpool;
30
31use common::{api, enactment_state};
32use std::sync::Arc;
33
34pub use api::FullChainApi;
35pub use builder::{
36 Builder, ClientForTransactionPool, FullClientTransactionPool, TransactionPoolHandle,
37 TransactionPoolOptions, TransactionPoolType,
38};
39pub use common::{error, notification_future};
40pub use fork_aware_txpool::{ForkAwareTxPool, ForkAwareTxPoolTask};
41pub use graph::{
42 base_pool::{Limit as PoolLimit, TimedTransactionSource, Transaction},
43 ChainApi, Options, Pool, ValidateTransactionPriority,
44};
45use single_state_txpool::prune_known_txs_for_block;
46pub use single_state_txpool::{BasicPool, RevalidationType};
47
48type BoxedReadyIterator<Hash, Data> = Box<
49 dyn sc_transaction_pool_api::ReadyTransactions<
50 Item = Arc<graph::base_pool::Transaction<Hash, Data>>,
51 > + Send,
52>;
53
54type ReadyIteratorFor<PoolApi> =
55 BoxedReadyIterator<graph::ExtrinsicHash<PoolApi>, graph::ExtrinsicFor<PoolApi>>;
56
57pub const LOG_TARGET: &str = "txpool";
62const LOG_TARGET_STAT: &str = "txpoolstats";