diff --git a/src/primitives/transaction.h b/src/primitives/transaction.h --- a/src/primitives/transaction.h +++ b/src/primitives/transaction.h @@ -18,6 +18,7 @@ * differentiated for type safety. */ struct TxId : public uint256 { + TxId() : uint256() {} explicit TxId(const uint256 &b) : uint256(b) {} }; @@ -34,15 +35,12 @@ */ class COutPoint { private: - uint256 txid; + TxId txid; uint32_t n; public: COutPoint() { SetNull(); } - COutPoint(uint256 txidIn, uint32_t nIn) { - txid = txidIn; - n = nIn; - } + COutPoint(uint256 txidIn, uint32_t nIn) : txid(TxId(txidIn)), n(nIn) {} ADD_SERIALIZE_METHODS; @@ -59,7 +57,7 @@ bool IsNull() const { return txid.IsNull() && n == uint32_t(-1); } - TxId GetTxId() const { return TxId(txid); } + const TxId &GetTxId() const { return txid; } uint32_t GetN() const { return n; } friend bool operator<(const COutPoint &a, const COutPoint &b) {