Use BestChainUtxo rather than AwaitUtxo in the mempool transaction validator #5386
Labels
A-consensus
Area: Consensus rule updates
A-rust
Area: Updates to Rust code
A-state
Area: State / database changes
C-bug
Category: This is a bug
I-consensus
Zebra breaks a Zcash consensus rule
Motivation
The
getblocktemplate
RPC collects the transactions in the mempool into a block.That block must be contextually valid based on the best tip in the state.
We can't use
AwaitUtxo
for validating mempool transactions, because it gets UTXOs from any chain or any queue.Design
Use
BestChainUtxo
rather thanAwaitUtxo
to verify mempool transactions.(Block transactions should still use
AwaitUtxo
.)The text was updated successfully, but these errors were encountered: