populate_test_db accepts a coinbase param

Allows user to ask for a test db populated with clean coins
from coinbases. This is useful for testing the wallet behaviour
when some inputs are coinbases.
This commit is contained in:
Daniela Brozzoni 2022-05-25 18:54:40 +01:00
parent bb55923a7d
commit 0e0d5a0e95
No known key found for this signature in database
GPG Key ID: 7DE4F1FDCED0AB87

View File

@ -486,15 +486,23 @@ impl ConfigurableDatabase for MemoryDatabase {
/// don't have `test` set.
macro_rules! populate_test_db {
($db:expr, $tx_meta:expr, $current_height:expr$(,)?) => {{
$crate::populate_test_db!($db, $tx_meta, $current_height, (@coinbase false))
}};
($db:expr, $tx_meta:expr, $current_height:expr, (@coinbase $is_coinbase:expr)$(,)?) => {{
use std::str::FromStr;
use $crate::database::BatchOperations;
let mut db = $db;
let tx_meta = $tx_meta;
let current_height: Option<u32> = $current_height;
let input = if $is_coinbase {
vec![$crate::bitcoin::TxIn::default()]
} else {
vec![]
};
let tx = $crate::bitcoin::Transaction {
version: 1,
lock_time: 0,
input: vec![],
input,
output: tx_meta
.output
.iter()