mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-15 12:51:00 +02:00
Merge dd5f5713bc into merged_master (Bitcoin PR bitcoin/bitcoin#28391)
This commit is contained in:
commit
d55f2b27cb
14 changed files with 113 additions and 94 deletions
|
|
@ -241,7 +241,7 @@ void BlockAssembler::onlyUnconfirmed(CTxMemPool::setEntries& testSet)
|
|||
{
|
||||
for (CTxMemPool::setEntries::iterator iit = testSet.begin(); iit != testSet.end(); ) {
|
||||
// Only test txs not already in the block
|
||||
if (inBlock.count(*iit)) {
|
||||
if (inBlock.count((*iit)->GetSharedTx()->GetHash())) {
|
||||
testSet.erase(iit++);
|
||||
} else {
|
||||
iit++;
|
||||
|
|
@ -282,7 +282,7 @@ void BlockAssembler::AddToBlock(CTxMemPool::txiter iter)
|
|||
++nBlockTx;
|
||||
nBlockSigOpsCost += iter->GetSigOpCost();
|
||||
nFees += iter->GetFee();
|
||||
inBlock.insert(iter);
|
||||
inBlock.insert(iter->GetSharedTx()->GetHash());
|
||||
|
||||
bool fPrintPriority = gArgs.GetBoolArg("-printpriority", DEFAULT_PRINTPRIORITY);
|
||||
if (fPrintPriority) {
|
||||
|
|
@ -351,7 +351,7 @@ void BlockAssembler::addPackageTxs(const CTxMemPool& mempool, int& nPackagesSele
|
|||
// because some of their txs are already in the block
|
||||
indexed_modified_transaction_set mapModifiedTx;
|
||||
// Keep track of entries that failed inclusion, to avoid duplicate work
|
||||
CTxMemPool::setEntries failedTx;
|
||||
std::set<Txid> failedTx;
|
||||
|
||||
CTxMemPool::indexed_transaction_set::index<confidential_score>::type::iterator mi = mempool.mapTx.get<confidential_score>().begin();
|
||||
CTxMemPool::txiter iter;
|
||||
|
|
@ -379,7 +379,7 @@ void BlockAssembler::addPackageTxs(const CTxMemPool& mempool, int& nPackagesSele
|
|||
if (mi != mempool.mapTx.get<confidential_score>().end()) {
|
||||
auto it = mempool.mapTx.project<0>(mi);
|
||||
assert(it != mempool.mapTx.end());
|
||||
if (mapModifiedTx.count(it) || inBlock.count(it) || failedTx.count(it)) {
|
||||
if (mapModifiedTx.count(it) || inBlock.count(it->GetSharedTx()->GetHash()) || failedTx.count(it->GetSharedTx()->GetHash())) {
|
||||
++mi;
|
||||
continue;
|
||||
}
|
||||
|
|
@ -419,7 +419,7 @@ void BlockAssembler::addPackageTxs(const CTxMemPool& mempool, int& nPackagesSele
|
|||
|
||||
// We skip mapTx entries that are inBlock, and mapModifiedTx shouldn't
|
||||
// contain anything that is inBlock.
|
||||
assert(!inBlock.count(iter));
|
||||
assert(!inBlock.count(iter->GetSharedTx()->GetHash()));
|
||||
|
||||
uint64_t packageSize = iter->GetSizeWithAncestors();
|
||||
CAmount packageFees = iter->GetModFeesWithAncestors();
|
||||
|
|
@ -449,7 +449,7 @@ void BlockAssembler::addPackageTxs(const CTxMemPool& mempool, int& nPackagesSele
|
|||
// we must erase failed entries so that we can consider the
|
||||
// next best entry on the next loop iteration
|
||||
mapModifiedTx.get<confidential_score>().erase(modit);
|
||||
failedTx.insert(iter);
|
||||
failedTx.insert(iter->GetSharedTx()->GetHash());
|
||||
}
|
||||
|
||||
++nConsecutiveFailed;
|
||||
|
|
@ -471,7 +471,7 @@ void BlockAssembler::addPackageTxs(const CTxMemPool& mempool, int& nPackagesSele
|
|||
if (!TestPackageTransactions(ancestors)) {
|
||||
if (fUsingModified) {
|
||||
mapModifiedTx.get<confidential_score>().erase(modit);
|
||||
failedTx.insert(iter);
|
||||
failedTx.insert(iter->GetSharedTx()->GetHash());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue