mod tx_entry;
pub use tx_entry::TxEntry;
use brk_types::{MempoolInfo, Timestamp, Txid};
use crate::stores::{AddrTracker, OutpointSpends, TxGraveyard, TxStore};
#[derive(Default)]
pub struct State {
pub info: MempoolInfo,
pub txs: TxStore,
pub addrs: AddrTracker,
pub outpoint_spends: OutpointSpends,
pub graveyard: TxGraveyard,
}
impl State {
pub fn first_seen(&self, txid: &Txid) -> Option<Timestamp> {
if let Some(e) = self.txs.entry(txid) {
return Some(e.first_seen);
}
self.graveyard.get_vanished(txid).map(|t| t.entry.first_seen)
}
}