diff --git a/crates/mempool/src/mempool.rs b/crates/mempool/src/mempool.rs index 53f0e894..cf87dbf3 100644 --- a/crates/mempool/src/mempool.rs +++ b/crates/mempool/src/mempool.rs @@ -85,6 +85,11 @@ impl Mempool { Ok(()) } + + #[cfg(test)] + pub(crate) fn _tx_pool(&self) -> &TransactionPool { + &self.tx_pool + } } /// Provides a lightweight representation of a transaction for mempool usage (e.g., excluding diff --git a/crates/mempool/src/mempool_test.rs b/crates/mempool/src/mempool_test.rs index 623d63b0..7ce46d1c 100644 --- a/crates/mempool/src/mempool_test.rs +++ b/crates/mempool/src/mempool_test.rs @@ -1,3 +1,5 @@ +use std::collections::HashMap; + use assert_matches::assert_matches; use itertools::{enumerate, zip_eq}; use pretty_assertions::assert_eq; @@ -52,6 +54,21 @@ fn mempool() -> Mempool { Mempool::empty() } +// TODO(Ayelet): replace with MempoolState checker. +#[track_caller] +fn _check_mempool_state_eq( + mempool: &Mempool, + expected_txs: &[ThinTransaction], + expected_queue: &[ThinTransaction], +) { + check_mempool_queue_eq(mempool, expected_queue); + + let expected_txs: HashMap<_, _> = + expected_txs.iter().cloned().map(|tx| (tx.tx_hash, tx)).collect(); + + assert_eq!(mempool._tx_pool()._tx_pool(), &expected_txs); +} + // Asserts that the transactions in the mempool are in ascending order as per the expected // transactions. #[track_caller] diff --git a/crates/mempool/src/transaction_pool.rs b/crates/mempool/src/transaction_pool.rs index ba1a2552..68b8dd49 100644 --- a/crates/mempool/src/transaction_pool.rs +++ b/crates/mempool/src/transaction_pool.rs @@ -70,6 +70,11 @@ impl TransactionPool { ) -> Option<&TransactionReference> { self.txs_by_account.get(address, nonce) } + + #[cfg(test)] + pub(crate) fn _tx_pool(&self) -> &HashMap { + &self.tx_pool + } } #[derive(Debug, Default)]