use brk_types::{Sats, VSize};
use smallvec::SmallVec;
use crate::types::{PoolIndex, TxIndex};
pub struct TxNode {
pub tx_index: TxIndex,
pub pool_index: PoolIndex,
pub fee: Sats,
pub vsize: VSize,
pub parents: SmallVec<[PoolIndex; 4]>,
pub children: SmallVec<[PoolIndex; 8]>,
pub ancestor_fee: Sats,
pub ancestor_vsize: VSize,
pub selected: bool,
pub generation: u32,
}
impl TxNode {
pub fn new(
tx_index: TxIndex,
pool_index: PoolIndex,
fee: Sats,
vsize: VSize,
ancestor_fee: Sats,
ancestor_vsize: VSize,
) -> Self {
Self {
tx_index,
pool_index,
fee,
vsize,
parents: SmallVec::new(),
children: SmallVec::new(),
ancestor_fee,
ancestor_vsize,
selected: false,
generation: 0,
}
}
}