mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-05 14:06:27 -05:00
Merge bitcoin/bitcoin#23054: Use C++11 member initializer in CTxMemPoolEntry
fa08d4cfb1
Use C++11 member initializer in CTxMemPoolEntry (MarcoFalke) Pull request description: This removes a bunch of boilerplate, makes the code easier to read. Also, C++11 member initialization avoids accidental uninitialized members. Can be reviewed with the git option "--word-diff-regex=." or with "git difftool --tool=meld". ACKs for top commit: jnewbery: Code review ACKfa08d4cfb1
shaavan: Code Review ACKfa08d4cfb1
Tree-SHA512: 2424861002fbcef2a3f01845662c115b973a7a5103f359305b5d9237c055eb003aa7646fc1cb30e6eaf90810d662f94cedc6f90795e30b56680f9c81f631d64b
This commit is contained in:
commit
3120bceeaf
2 changed files with 28 additions and 31 deletions
|
@ -21,23 +21,23 @@
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <optional>
|
#include <optional>
|
||||||
|
|
||||||
CTxMemPoolEntry::CTxMemPoolEntry(const CTransactionRef& _tx, const CAmount& _nFee,
|
CTxMemPoolEntry::CTxMemPoolEntry(const CTransactionRef& tx, CAmount fee,
|
||||||
int64_t _nTime, unsigned int _entryHeight,
|
int64_t time, unsigned int entry_height,
|
||||||
bool _spendsCoinbase, int64_t _sigOpsCost, LockPoints lp)
|
bool spends_coinbase, int64_t sigops_cost, LockPoints lp)
|
||||||
: tx(_tx), nFee(_nFee), nTxWeight(GetTransactionWeight(*tx)), nUsageSize(RecursiveDynamicUsage(tx)), nTime(_nTime), entryHeight(_entryHeight),
|
: tx{tx},
|
||||||
spendsCoinbase(_spendsCoinbase), sigOpCost(_sigOpsCost), lockPoints(lp)
|
nFee{fee},
|
||||||
{
|
nTxWeight(GetTransactionWeight(*tx)),
|
||||||
nCountWithDescendants = 1;
|
nUsageSize{RecursiveDynamicUsage(tx)},
|
||||||
nSizeWithDescendants = GetTxSize();
|
nTime{time},
|
||||||
nModFeesWithDescendants = nFee;
|
entryHeight{entry_height},
|
||||||
|
spendsCoinbase{spends_coinbase},
|
||||||
feeDelta = 0;
|
sigOpCost{sigops_cost},
|
||||||
|
lockPoints{lp},
|
||||||
nCountWithAncestors = 1;
|
nSizeWithDescendants{GetTxSize()},
|
||||||
nSizeWithAncestors = GetTxSize();
|
nModFeesWithDescendants{nFee},
|
||||||
nModFeesWithAncestors = nFee;
|
nSizeWithAncestors{GetTxSize()},
|
||||||
nSigOpCostWithAncestors = sigOpCost;
|
nModFeesWithAncestors{nFee},
|
||||||
}
|
nSigOpCostWithAncestors{sigOpCost} {}
|
||||||
|
|
||||||
void CTxMemPoolEntry::UpdateFeeDelta(int64_t newFeeDelta)
|
void CTxMemPoolEntry::UpdateFeeDelta(int64_t newFeeDelta)
|
||||||
{
|
{
|
||||||
|
|
|
@ -37,19 +37,16 @@ extern RecursiveMutex cs_main;
|
||||||
/** Fake height value used in Coin to signify they are only in the memory pool (since 0.8) */
|
/** Fake height value used in Coin to signify they are only in the memory pool (since 0.8) */
|
||||||
static const uint32_t MEMPOOL_HEIGHT = 0x7FFFFFFF;
|
static const uint32_t MEMPOOL_HEIGHT = 0x7FFFFFFF;
|
||||||
|
|
||||||
struct LockPoints
|
struct LockPoints {
|
||||||
{
|
|
||||||
// Will be set to the blockchain height and median time past
|
// Will be set to the blockchain height and median time past
|
||||||
// values that would be necessary to satisfy all relative locktime
|
// values that would be necessary to satisfy all relative locktime
|
||||||
// constraints (BIP68) of this tx given our view of block chain history
|
// constraints (BIP68) of this tx given our view of block chain history
|
||||||
int height;
|
int height{0};
|
||||||
int64_t time;
|
int64_t time{0};
|
||||||
// As long as the current chain descends from the highest height block
|
// As long as the current chain descends from the highest height block
|
||||||
// containing one of the inputs used in the calculation, then the cached
|
// containing one of the inputs used in the calculation, then the cached
|
||||||
// values are still valid even after a reorg.
|
// values are still valid even after a reorg.
|
||||||
CBlockIndex* maxInputBlock;
|
CBlockIndex* maxInputBlock{nullptr};
|
||||||
|
|
||||||
LockPoints() : height(0), time(0), maxInputBlock(nullptr) { }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CompareIteratorByHash {
|
struct CompareIteratorByHash {
|
||||||
|
@ -98,27 +95,27 @@ private:
|
||||||
const unsigned int entryHeight; //!< Chain height when entering the mempool
|
const unsigned int entryHeight; //!< Chain height when entering the mempool
|
||||||
const bool spendsCoinbase; //!< keep track of transactions that spend a coinbase
|
const bool spendsCoinbase; //!< keep track of transactions that spend a coinbase
|
||||||
const int64_t sigOpCost; //!< Total sigop cost
|
const int64_t sigOpCost; //!< Total sigop cost
|
||||||
int64_t feeDelta; //!< Used for determining the priority of the transaction for mining in a block
|
int64_t feeDelta{0}; //!< Used for determining the priority of the transaction for mining in a block
|
||||||
LockPoints lockPoints; //!< Track the height and time at which tx was final
|
LockPoints lockPoints; //!< Track the height and time at which tx was final
|
||||||
|
|
||||||
// Information about descendants of this transaction that are in the
|
// Information about descendants of this transaction that are in the
|
||||||
// mempool; if we remove this transaction we must remove all of these
|
// mempool; if we remove this transaction we must remove all of these
|
||||||
// descendants as well.
|
// descendants as well.
|
||||||
uint64_t nCountWithDescendants; //!< number of descendant transactions
|
uint64_t nCountWithDescendants{1}; //!< number of descendant transactions
|
||||||
uint64_t nSizeWithDescendants; //!< ... and size
|
uint64_t nSizeWithDescendants; //!< ... and size
|
||||||
CAmount nModFeesWithDescendants; //!< ... and total fees (all including us)
|
CAmount nModFeesWithDescendants; //!< ... and total fees (all including us)
|
||||||
|
|
||||||
// Analogous statistics for ancestor transactions
|
// Analogous statistics for ancestor transactions
|
||||||
uint64_t nCountWithAncestors;
|
uint64_t nCountWithAncestors{1};
|
||||||
uint64_t nSizeWithAncestors;
|
uint64_t nSizeWithAncestors;
|
||||||
CAmount nModFeesWithAncestors;
|
CAmount nModFeesWithAncestors;
|
||||||
int64_t nSigOpCostWithAncestors;
|
int64_t nSigOpCostWithAncestors;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CTxMemPoolEntry(const CTransactionRef& _tx, const CAmount& _nFee,
|
CTxMemPoolEntry(const CTransactionRef& tx, CAmount fee,
|
||||||
int64_t _nTime, unsigned int _entryHeight,
|
int64_t time, unsigned int entry_height,
|
||||||
bool spendsCoinbase,
|
bool spends_coinbase,
|
||||||
int64_t nSigOpsCost, LockPoints lp);
|
int64_t sigops_cost, LockPoints lp);
|
||||||
|
|
||||||
const CTransaction& GetTx() const { return *this->tx; }
|
const CTransaction& GetTx() const { return *this->tx; }
|
||||||
CTransactionRef GetSharedTx() const { return this->tx; }
|
CTransactionRef GetSharedTx() const { return this->tx; }
|
||||||
|
|
Loading…
Add table
Reference in a new issue