wallet: Add input bytes to CInputCoin

With nInputBytes, coin selection can execute without a reference to the COutput
This commit is contained in:
Karl-Johan Alm 2018-07-17 16:56:06 +09:00
parent a443d7a0ca
commit 65b3eda458
No known key found for this signature in database
GPG key ID: 57AF762DB3353322
2 changed files with 13 additions and 0 deletions

View file

@ -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;
}

View file

@ -525,6 +525,11 @@ public:
}
std::string ToString() const;
inline CInputCoin GetInputCoin() const
{
return CInputCoin(tx->tx, i, nInputBytes);
}
};