crate::ix!();
pub fn add_coins(
cache: &mut CoinsViewCache,
tx: &Transaction,
n_height: i32,
check_for_overwrite: Option<bool>) {
let check_for_overwrite: bool = check_for_overwrite.unwrap_or(false);
let coinbase = tx.is_coinbase();
let txid = tx.get_hash();
for i in 0..tx.vout.len() {
let outpoint = OutPoint::new(txid,i as u32);
let overwrite: bool = match check_for_overwrite {
true => cache.have_coin(&outpoint),
false => coinbase,
};
cache.add_coin(
&outpoint,
Coin {
out: tx.vout[i].clone(),
bits: CoinBitfield::from_fields(
n_height,
coinbase
)
},
overwrite
);
}
}