Pack Coin more tightly

This commit is contained in:
Pieter Wuille 2017-04-25 11:29:42 -07:00
parent 97072d6685
commit 41aa5b79a3

View File

@ -30,18 +30,18 @@
class Coin
{
public:
//! whether the containing transaction was a coinbase
bool fCoinBase;
//! unspent transaction output
CTxOut out;
//! at which height the containing transaction was included in the active block chain
uint32_t nHeight;
//! whether containing transaction was a coinbase
unsigned int fCoinBase : 1;
//! construct a Coin from a CTxOut and height/coinbase properties.
Coin(CTxOut&& outIn, int nHeightIn, bool fCoinBaseIn) : fCoinBase(fCoinBaseIn), out(std::move(outIn)), nHeight(nHeightIn) {}
Coin(const CTxOut& outIn, int nHeightIn, bool fCoinBaseIn) : fCoinBase(fCoinBaseIn), out(outIn), nHeight(nHeightIn) {}
//! at which height this containing transaction was included in the active block chain
uint32_t nHeight : 31;
//! construct a Coin from a CTxOut and height/coinbase information.
Coin(CTxOut&& outIn, int nHeightIn, bool fCoinBaseIn) : out(std::move(outIn)), fCoinBase(fCoinBaseIn), nHeight(nHeightIn) {}
Coin(const CTxOut& outIn, int nHeightIn, bool fCoinBaseIn) : out(outIn), fCoinBase(fCoinBaseIn),nHeight(nHeightIn) {}
void Clear() {
out.SetNull();