@ -22,10 +22,10 @@ using namespace std;
CTxMemPoolEntry : : CTxMemPoolEntry ( const CTransactionRef & _tx , const CAmount & _nFee ,
int64_t _nTime , double _entryPriority , unsigned int _entryHeight ,
bool poolHasNoInputsOf , CAmount _inChainInputValue ,
CAmount _inChainInputValue ,
bool _spendsCoinbase , int64_t _sigOpsCost , LockPoints lp ) :
tx ( _tx ) , nFee ( _nFee ) , nTime ( _nTime ) , entryPriority ( _entryPriority ) , entryHeight ( _entryHeight ) ,
hadNoDependencies( poolHasNoInputsOf ) , inChainInputValue( _inChainInputValue ) ,
inChainInputValue( _inChainInputValue ) ,
spendsCoinbase ( _spendsCoinbase ) , sigOpCost ( _sigOpsCost ) , lockPoints ( lp )
{
nTxWeight = GetTransactionWeight ( * tx ) ;
@ -604,6 +604,8 @@ void CTxMemPool::removeForBlock(const std::vector<CTransactionRef>& vtx, unsigne
if ( i ! = mapTx . end ( ) )
entries . push_back ( * i ) ;
}
// Before the txs in the new block have been removed from the mempool, update policy estimates
minerPolicyEstimator - > processBlock ( nBlockHeight , entries , fCurrentEstimate ) ;
for ( const auto & tx : vtx )
{
txiter it = mapTx . find ( tx - > GetHash ( ) ) ;
@ -615,8 +617,6 @@ void CTxMemPool::removeForBlock(const std::vector<CTransactionRef>& vtx, unsigne
removeConflicts ( * tx ) ;
ClearPrioritisation ( tx - > GetHash ( ) ) ;
}
// After the txs in the new block have been removed from the mempool, update policy estimates
minerPolicyEstimator - > processBlock ( nBlockHeight , entries , fCurrentEstimate ) ;
lastRollingFeeUpdate = GetTime ( ) ;
blockSinceLastRollingFeeBump = true ;
}