From 14fbb57b79c664090f6a4e60d7bdfc9759ff4307 Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Mon, 17 Jan 2022 16:19:30 -0500 Subject: [PATCH] coinselection: Add effective value and fees to COutput --- src/wallet/coinselection.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/wallet/coinselection.h b/src/wallet/coinselection.h index 7f375b6169c..5dbb63310c9 100644 --- a/src/wallet/coinselection.h +++ b/src/wallet/coinselection.h @@ -110,6 +110,15 @@ public: /** Whether the transaction containing this output is sent from the owning wallet */ bool from_me; + /** The output's value minus fees required to spend it. Initialized as the output's absolute value. */ + CAmount effective_value; + + /** The fee required to spend this output at the transaction's target feerate. */ + CAmount fee{0}; + + /** The fee required to spend this output at the consolidation feerate. */ + CAmount long_term_fee{0}; + COutput(const COutPoint& outpoint, const CTxOut& txout, int depth, int input_bytes, bool spendable, bool solvable, bool safe, int64_t time, bool from_me) : outpoint(outpoint), txout(txout), @@ -119,7 +128,8 @@ public: solvable(solvable), safe(safe), time(time), - from_me(from_me) + from_me(from_me), + effective_value(txout.nValue) {} std::string ToString() const;