Update to Core 0.13.2
This commit is contained in:
@@ -23,10 +23,10 @@ using namespace std;
|
||||
CTxMemPoolEntry::CTxMemPoolEntry(const CTransaction& _tx, const CAmount& _nFee,
|
||||
int64_t _nTime, double _entryPriority, unsigned int _entryHeight,
|
||||
bool poolHasNoInputsOf, CAmount _inChainInputValue,
|
||||
bool _spendsCoinbase, int64_t _sigOpsCost, LockPoints lp):
|
||||
bool _spendsCoinbase, int64_t _sigOpsCount, LockPoints lp):
|
||||
tx(std::make_shared<CTransaction>(_tx)), nFee(_nFee), nTime(_nTime), entryPriority(_entryPriority), entryHeight(_entryHeight),
|
||||
hadNoDependencies(poolHasNoInputsOf), inChainInputValue(_inChainInputValue),
|
||||
spendsCoinbase(_spendsCoinbase), sigOpCost(_sigOpsCost), lockPoints(lp)
|
||||
spendsCoinbase(_spendsCoinbase), sigOpCount(_sigOpsCount), lockPoints(lp)
|
||||
{
|
||||
nTxSize = ::GetSerializeSize(_tx, SER_NETWORK, PROTOCOL_VERSION);
|
||||
nModSize = _tx.CalculateModifiedSize(nTxSize);
|
||||
@@ -43,7 +43,7 @@ CTxMemPoolEntry::CTxMemPoolEntry(const CTransaction& _tx, const CAmount& _nFee,
|
||||
nCountWithAncestors = 1;
|
||||
nSizeWithAncestors = nTxSize;
|
||||
nModFeesWithAncestors = nFee;
|
||||
nSigOpCostWithAncestors = sigOpCost;
|
||||
nSigOpCountWithAncestors = sigOpCount;
|
||||
}
|
||||
|
||||
CTxMemPoolEntry::CTxMemPoolEntry(const CTxMemPoolEntry& other)
|
||||
@@ -112,7 +112,7 @@ void CTxMemPool::UpdateForDescendants(txiter updateIt, cacheMap &cachedDescendan
|
||||
modifyCount++;
|
||||
cachedDescendants[updateIt].insert(cit);
|
||||
// Update ancestor state for each descendant
|
||||
mapTx.modify(cit, update_ancestor_state(updateIt->GetTxSize(), updateIt->GetModifiedFee(), 1, updateIt->GetSigOpCost()));
|
||||
mapTx.modify(cit, update_ancestor_state(updateIt->GetTxSize(), updateIt->GetModifiedFee(), 1, updateIt->GetSigOpCount()));
|
||||
}
|
||||
}
|
||||
mapTx.modify(updateIt, update_descendant_state(modifySize, modifyFee, modifyCount));
|
||||
@@ -248,13 +248,13 @@ void CTxMemPool::UpdateEntryForAncestors(txiter it, const setEntries &setAncesto
|
||||
int64_t updateCount = setAncestors.size();
|
||||
int64_t updateSize = 0;
|
||||
CAmount updateFee = 0;
|
||||
int64_t updateSigOpsCost = 0;
|
||||
int64_t updateSigOpsCount = 0;
|
||||
BOOST_FOREACH(txiter ancestorIt, setAncestors) {
|
||||
updateSize += ancestorIt->GetTxSize();
|
||||
updateFee += ancestorIt->GetModifiedFee();
|
||||
updateSigOpsCost += ancestorIt->GetSigOpCost();
|
||||
updateSigOpsCount += ancestorIt->GetSigOpCount();
|
||||
}
|
||||
mapTx.modify(it, update_ancestor_state(updateSize, updateFee, updateCount, updateSigOpsCost));
|
||||
mapTx.modify(it, update_ancestor_state(updateSize, updateFee, updateCount, updateSigOpsCount));
|
||||
}
|
||||
|
||||
void CTxMemPool::UpdateChildrenForRemoval(txiter it)
|
||||
@@ -283,7 +283,7 @@ void CTxMemPool::UpdateForRemoveFromMempool(const setEntries &entriesToRemove, b
|
||||
setDescendants.erase(removeIt); // don't update state for self
|
||||
int64_t modifySize = -((int64_t)removeIt->GetTxSize());
|
||||
CAmount modifyFee = -removeIt->GetModifiedFee();
|
||||
int modifySigOps = -removeIt->GetSigOpCost();
|
||||
int modifySigOps = -removeIt->GetSigOpCount();
|
||||
BOOST_FOREACH(txiter dit, setDescendants) {
|
||||
mapTx.modify(dit, update_ancestor_state(modifySize, modifyFee, -1, modifySigOps));
|
||||
}
|
||||
@@ -339,8 +339,8 @@ void CTxMemPoolEntry::UpdateAncestorState(int64_t modifySize, CAmount modifyFee,
|
||||
nModFeesWithAncestors += modifyFee;
|
||||
nCountWithAncestors += modifyCount;
|
||||
assert(int64_t(nCountWithAncestors) > 0);
|
||||
nSigOpCostWithAncestors += modifySigOps;
|
||||
assert(int(nSigOpCostWithAncestors) >= 0);
|
||||
nSigOpCountWithAncestors += modifySigOps;
|
||||
assert(int(nSigOpCountWithAncestors) >= 0);
|
||||
}
|
||||
|
||||
CTxMemPool::CTxMemPool(const CFeeRate& _minReasonableRelayFee) :
|
||||
@@ -667,7 +667,7 @@ void CTxMemPool::check(const CCoinsViewCache *pcoins) const
|
||||
bool fDependsWait = false;
|
||||
setEntries setParentCheck;
|
||||
int64_t parentSizes = 0;
|
||||
int64_t parentSigOpCost = 0;
|
||||
int64_t parentSigOpCount = 0;
|
||||
BOOST_FOREACH(const CTxIn &txin, tx.vin) {
|
||||
// Check that every mempool transaction's inputs refer to available coins, or other mempool tx's.
|
||||
indexed_transaction_set::const_iterator it2 = mapTx.find(txin.prevout.hash);
|
||||
@@ -677,7 +677,7 @@ void CTxMemPool::check(const CCoinsViewCache *pcoins) const
|
||||
fDependsWait = true;
|
||||
if (setParentCheck.insert(it2).second) {
|
||||
parentSizes += it2->GetTxSize();
|
||||
parentSigOpCost += it2->GetSigOpCost();
|
||||
parentSigOpCount += it2->GetSigOpCount();
|
||||
}
|
||||
} else {
|
||||
const CCoins* coins = pcoins->AccessCoins(txin.prevout.hash);
|
||||
@@ -699,17 +699,17 @@ void CTxMemPool::check(const CCoinsViewCache *pcoins) const
|
||||
uint64_t nCountCheck = setAncestors.size() + 1;
|
||||
uint64_t nSizeCheck = it->GetTxSize();
|
||||
CAmount nFeesCheck = it->GetModifiedFee();
|
||||
int64_t nSigOpCheck = it->GetSigOpCost();
|
||||
int64_t nSigOpCheck = it->GetSigOpCount();
|
||||
|
||||
BOOST_FOREACH(txiter ancestorIt, setAncestors) {
|
||||
nSizeCheck += ancestorIt->GetTxSize();
|
||||
nFeesCheck += ancestorIt->GetModifiedFee();
|
||||
nSigOpCheck += ancestorIt->GetSigOpCost();
|
||||
nSigOpCheck += ancestorIt->GetSigOpCount();
|
||||
}
|
||||
|
||||
assert(it->GetCountWithAncestors() == nCountCheck);
|
||||
assert(it->GetSizeWithAncestors() == nSizeCheck);
|
||||
assert(it->GetSigOpCostWithAncestors() == nSigOpCheck);
|
||||
assert(it->GetSigOpCountWithAncestors() == nSigOpCheck);
|
||||
assert(it->GetModFeesWithAncestors() == nFeesCheck);
|
||||
|
||||
// Check children against mapNextTx
|
||||
|
||||
Reference in New Issue
Block a user