usebrk_types::FeeRate;usecrate::types::{SelectedTx, TxIndex};/// A CPFP package - transactions that must be included together.
////// When a child pays for its parent (CPFP), both must be in the same block.
/// The package fee rate is the combined rate of all transactions.
pubstructPackage{/// Transactions in topological order (parents before children)
pubtxs:Vec<SelectedTx>,
/// Combined vsize of all transactions
pubvsize:u64,
/// Package fee rate
pubfee_rate: FeeRate,
}implPackage{pubfnnew(fee_rate: FeeRate)->Self{Self{
txs:Vec::new(),
vsize:0,
fee_rate,}}pubfnadd_tx(&mutself, tx_index: TxIndex, vsize:u64){self.txs.push(SelectedTx {
tx_index,
effective_fee_rate:self.fee_rate,});self.vsize += vsize;}}