mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-26 00:41:23 +02:00
[validation] Remove conflictedTxs from PerBlockConnectTrace
Since we don't add a vtxConflicted vector to BlockConnected the conflictedTxs member of PerBlockConnectTrace is no longer used.
This commit is contained in:
parent
cdb893443c
commit
5613f9842b
@ -2505,22 +2505,12 @@ static int64_t nTimePostConnect = 0;
|
|||||||
struct PerBlockConnectTrace {
|
struct PerBlockConnectTrace {
|
||||||
CBlockIndex* pindex = nullptr;
|
CBlockIndex* pindex = nullptr;
|
||||||
std::shared_ptr<const CBlock> pblock;
|
std::shared_ptr<const CBlock> pblock;
|
||||||
std::shared_ptr<std::vector<CTransactionRef>> conflictedTxs;
|
PerBlockConnectTrace() {}
|
||||||
PerBlockConnectTrace() : conflictedTxs(std::make_shared<std::vector<CTransactionRef>>()) {}
|
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* Used to track blocks whose transactions were applied to the UTXO state as a
|
* Used to track blocks whose transactions were applied to the UTXO state as a
|
||||||
* part of a single ActivateBestChainStep call.
|
* part of a single ActivateBestChainStep call.
|
||||||
*
|
*
|
||||||
* This class also tracks transactions that are removed from the mempool as
|
|
||||||
* conflicts (per block) and can be used to pass all those transactions
|
|
||||||
* through SyncTransaction.
|
|
||||||
*
|
|
||||||
* This class assumes (and asserts) that the conflicted transactions for a given
|
|
||||||
* block are added via mempool callbacks prior to the BlockConnected() associated
|
|
||||||
* with those transactions. If any transactions are marked conflicted, it is
|
|
||||||
* assumed that an associated block will always be added.
|
|
||||||
*
|
|
||||||
* This class is single-use, once you call GetBlocksConnected() you have to throw
|
* This class is single-use, once you call GetBlocksConnected() you have to throw
|
||||||
* it away and make a new one.
|
* it away and make a new one.
|
||||||
*/
|
*/
|
||||||
@ -2551,16 +2541,12 @@ public:
|
|||||||
// one waiting for the transactions from the next block. We pop
|
// one waiting for the transactions from the next block. We pop
|
||||||
// the last entry here to make sure the list we return is sane.
|
// the last entry here to make sure the list we return is sane.
|
||||||
assert(!blocksConnected.back().pindex);
|
assert(!blocksConnected.back().pindex);
|
||||||
assert(blocksConnected.back().conflictedTxs->empty());
|
|
||||||
blocksConnected.pop_back();
|
blocksConnected.pop_back();
|
||||||
return blocksConnected;
|
return blocksConnected;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NotifyEntryRemoved(CTransactionRef txRemoved, MemPoolRemovalReason reason) {
|
void NotifyEntryRemoved(CTransactionRef txRemoved, MemPoolRemovalReason reason) {
|
||||||
assert(!blocksConnected.back().pindex);
|
assert(!blocksConnected.back().pindex);
|
||||||
if (reason == MemPoolRemovalReason::CONFLICT) {
|
|
||||||
blocksConnected.back().conflictedTxs->emplace_back(std::move(txRemoved));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user