mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 02:25:40 +01:00
Merge bitcoin/bitcoin#25213: fuzz: fix crash at coinselection, add missing fee rate.
c97e961d46
fuzz: coinselection, add missing fee rate. (furszy) Pull request description: Fixing https://github.com/bitcoin/bitcoin/pull/25083#issuecomment-1136774756. Without the fee rate, 'GroupOutputs' will crash at group insertion time `OutputGroup::Insert` because now `output.GetEffectiveValue()` asserts that the value exists. ACKs for top commit: achow101: ACKc97e961d46
ishaanam: ACKc97e961d46
Xekyo: ACKc97e961d46
brunoerg: ACKc97e961d46
Tree-SHA512: f495886a5078842103e0f05a9018d7cb491967d8362f893dd7b21132b98e94321df860c50acb69e84d7232779f5915322ca6b5f99908e05e0480012580ee9d5d
This commit is contained in:
commit
192d639a6b
@ -14,13 +14,13 @@
|
||||
|
||||
namespace wallet {
|
||||
|
||||
static void AddCoin(const CAmount& value, int n_input, int n_input_bytes, int locktime, std::vector<COutput>& coins)
|
||||
static void AddCoin(const CAmount& value, int n_input, int n_input_bytes, int locktime, std::vector<COutput>& coins, CFeeRate fee_rate)
|
||||
{
|
||||
CMutableTransaction tx;
|
||||
tx.vout.resize(n_input + 1);
|
||||
tx.vout[n_input].nValue = value;
|
||||
tx.nLockTime = locktime; // all transactions get different hashes
|
||||
coins.emplace_back(COutPoint(tx.GetHash(), n_input), tx.vout.at(n_input), /*depth=*/0, n_input_bytes, /*spendable=*/true, /*solvable=*/true, /*safe=*/true, /*time=*/0, /*from_me=*/true);
|
||||
coins.emplace_back(COutPoint(tx.GetHash(), n_input), tx.vout.at(n_input), /*depth=*/0, n_input_bytes, /*spendable=*/true, /*solvable=*/true, /*safe=*/true, /*time=*/0, /*from_me=*/true, fee_rate);
|
||||
}
|
||||
|
||||
// Randomly distribute coins to instances of OutputGroup
|
||||
@ -70,7 +70,7 @@ FUZZ_TARGET(coinselection)
|
||||
if (total_balance + amount >= MAX_MONEY) {
|
||||
break;
|
||||
}
|
||||
AddCoin(amount, n_input, n_input_bytes, ++next_locktime, utxo_pool);
|
||||
AddCoin(amount, n_input, n_input_bytes, ++next_locktime, utxo_pool, coin_params.m_effective_feerate);
|
||||
total_balance += amount;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user