mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-14 12:43:40 +02:00
Merge #10537: Few Minor per-utxo assert-semantics re-adds and tweak
9417d7a33Be much more agressive in AccessCoin docs. (Matt Corallo)f58349ca8Restore some assert semantics in sigop cost calculations (Matt Corallo)3533fb4d3Return a bool in SpendCoin to restore pre-per-utxo assert semantics (Matt Corallo)ec1271f2bRemove useless mapNextTx lookup in CTxMemPool::TrimToSize. (Matt Corallo) Tree-SHA512: 158a4bce063eac93e1d50709500a10a7cb1fb3271f10ed445d701852fce713e2bf0da3456088e530ab005f194ef4a2adf0c7cb23226b160cecb37a79561f29ca
This commit is contained in:
commit
b3eb0d6485
5 changed files with 22 additions and 13 deletions
|
|
@ -1125,7 +1125,8 @@ void UpdateCoins(const CTransaction& tx, CCoinsViewCache& inputs, CTxUndo &txund
|
|||
txundo.vprevout.reserve(tx.vin.size());
|
||||
for (const CTxIn &txin : tx.vin) {
|
||||
txundo.vprevout.emplace_back();
|
||||
inputs.SpendCoin(txin.prevout, &txundo.vprevout.back());
|
||||
bool is_spent = inputs.SpendCoin(txin.prevout, &txundo.vprevout.back());
|
||||
assert(is_spent);
|
||||
}
|
||||
}
|
||||
// add outputs
|
||||
|
|
@ -1370,8 +1371,8 @@ static DisconnectResult DisconnectBlock(const CBlock& block, const CBlockIndex*
|
|||
if (!tx.vout[o].scriptPubKey.IsUnspendable()) {
|
||||
COutPoint out(hash, o);
|
||||
Coin coin;
|
||||
view.SpendCoin(out, &coin);
|
||||
if (tx.vout[o] != coin.out) {
|
||||
bool is_spent = view.SpendCoin(out, &coin);
|
||||
if (!is_spent || tx.vout[o] != coin.out) {
|
||||
fClean = false; // transaction output mismatch
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue