diff --git a/src/wallet/coinselection.h b/src/wallet/coinselection.h index 64111f3939e..218d20fb478 100644 --- a/src/wallet/coinselection.h +++ b/src/wallet/coinselection.h @@ -28,12 +28,20 @@ public: effective_value = txout.nValue; } + CInputCoin(const CTransactionRef& tx, unsigned int i, int input_bytes) : CInputCoin(tx, i) + { + m_input_bytes = input_bytes; + } + COutPoint outpoint; CTxOut txout; CAmount effective_value; CAmount fee = 0; CAmount long_term_fee = 0; + /** Pre-computed estimated size of this output as a fully-signed input in a transaction. Can be -1 if it could not be calculated */ + int m_input_bytes{-1}; + bool operator<(const CInputCoin& rhs) const { return outpoint < rhs.outpoint; } diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 173ebec537f..4a38545146d 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -525,6 +525,11 @@ public: } std::string ToString() const; + + inline CInputCoin GetInputCoin() const + { + return CInputCoin(tx->tx, i, nInputBytes); + } };