From 41aa5b79a3d79f8afe4c556b4f14fb1dc0cc3f9f Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Tue, 25 Apr 2017 11:29:42 -0700 Subject: [PATCH] Pack Coin more tightly --- src/coins.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/coins.h b/src/coins.h index bd2f2caf2..7f4dffc7e 100644 --- a/src/coins.h +++ b/src/coins.h @@ -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();