aboutsummaryrefslogtreecommitdiff
path: root/src/wallet
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2022-01-17 16:13:02 -0500
committerAndrew Chow <achow101-github@achow101.com>2022-03-23 14:32:07 -0400
commitf0821230b8de2eec21a869d1edf9e2b9f502de25 (patch)
treefc8a65ba9b4face0acf9ceb2e15a9d6128c29b7b /src/wallet
parent42e974e15c6deba1d9395a4da9341c9ebec6e8e5 (diff)
moveonly: move COutput to coinselection.h
Diffstat (limited to 'src/wallet')
-rw-r--r--src/wallet/coinselection.cpp5
-rw-r--r--src/wallet/coinselection.h58
-rw-r--r--src/wallet/spend.cpp5
-rw-r--r--src/wallet/spend.h58
4 files changed, 63 insertions, 63 deletions
diff --git a/src/wallet/coinselection.cpp b/src/wallet/coinselection.cpp
index 513572da45..08c36de38a 100644
--- a/src/wallet/coinselection.cpp
+++ b/src/wallet/coinselection.cpp
@@ -432,4 +432,9 @@ bool SelectionResult::operator<(SelectionResult other) const
// As this operator is only used in std::min_element, we want the result that has more inputs when waste are equal.
return *m_waste < *other.m_waste || (*m_waste == *other.m_waste && m_selected_inputs.size() > other.m_selected_inputs.size());
}
+
+std::string COutput::ToString() const
+{
+ return strprintf("COutput(%s, %d, %d) [%s]", outpoint.hash.ToString(), outpoint.n, depth, FormatMoney(txout.nValue));
+}
} // namespace wallet
diff --git a/src/wallet/coinselection.h b/src/wallet/coinselection.h
index 496a026999..7f375b6169 100644
--- a/src/wallet/coinselection.h
+++ b/src/wallet/coinselection.h
@@ -72,6 +72,64 @@ public:
}
};
+class COutput
+{
+public:
+ /** The outpoint identifying this UTXO */
+ COutPoint outpoint;
+
+ /** The output itself */
+ CTxOut txout;
+
+ /**
+ * Depth in block chain.
+ * If > 0: the tx is on chain and has this many confirmations.
+ * If = 0: the tx is waiting confirmation.
+ * If < 0: a conflicting tx is on chain and has this many confirmations. */
+ int depth;
+
+ /** 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 input_bytes;
+
+ /** Whether we have the private keys to spend this output */
+ bool spendable;
+
+ /** Whether we know how to spend this output, ignoring the lack of keys */
+ bool solvable;
+
+ /**
+ * Whether this output is considered safe to spend. Unconfirmed transactions
+ * from outside keys and unconfirmed replacement transactions are considered
+ * unsafe and will not be used to fund new spending transactions.
+ */
+ bool safe;
+
+ /** The time of the transaction containing this output as determined by CWalletTx::nTimeSmart */
+ int64_t time;
+
+ /** Whether the transaction containing this output is sent from the owning wallet */
+ bool from_me;
+
+ 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),
+ depth(depth),
+ input_bytes(input_bytes),
+ spendable(spendable),
+ solvable(solvable),
+ safe(safe),
+ time(time),
+ from_me(from_me)
+ {}
+
+ std::string ToString() const;
+
+ inline CInputCoin GetInputCoin() const
+ {
+ return CInputCoin(outpoint, txout, input_bytes);
+ }
+};
+
/** Parameters for one iteration of Coin Selection. */
struct CoinSelectionParams
{
diff --git a/src/wallet/spend.cpp b/src/wallet/spend.cpp
index 0094af7b2d..356e2be80d 100644
--- a/src/wallet/spend.cpp
+++ b/src/wallet/spend.cpp
@@ -29,11 +29,6 @@ int GetTxSpendSize(const CWallet& wallet, const CWalletTx& wtx, unsigned int out
return CalculateMaximumSignedInputSize(wtx.tx->vout[out], &wallet, use_max_sig);
}
-std::string COutput::ToString() const
-{
- return strprintf("COutput(%s, %d, %d) [%s]", outpoint.hash.ToString(), outpoint.n, depth, FormatMoney(txout.nValue));
-}
-
int CalculateMaximumSignedInputSize(const CTxOut& txout, const SigningProvider* provider, bool use_max_sig)
{
CMutableTransaction txn;
diff --git a/src/wallet/spend.h b/src/wallet/spend.h
index 42f1124b7e..e43aac5273 100644
--- a/src/wallet/spend.h
+++ b/src/wallet/spend.h
@@ -16,64 +16,6 @@ namespace wallet {
* size of the input spend. This should only be set when watch-only outputs are allowed */
int GetTxSpendSize(const CWallet& wallet, const CWalletTx& wtx, unsigned int out, bool use_max_sig = false);
-class COutput
-{
-public:
- /** The outpoint identifying this UTXO */
- COutPoint outpoint;
-
- /** The output itself */
- CTxOut txout;
-
- /**
- * Depth in block chain.
- * If > 0: the tx is on chain and has this many confirmations.
- * If = 0: the tx is waiting confirmation.
- * If < 0: a conflicting tx is on chain and has this many confirmations. */
- int depth;
-
- /** 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 input_bytes;
-
- /** Whether we have the private keys to spend this output */
- bool spendable;
-
- /** Whether we know how to spend this output, ignoring the lack of keys */
- bool solvable;
-
- /**
- * Whether this output is considered safe to spend. Unconfirmed transactions
- * from outside keys and unconfirmed replacement transactions are considered
- * unsafe and will not be used to fund new spending transactions.
- */
- bool safe;
-
- /** The time of the transaction containing this output as determined by CWalletTx::nTimeSmart */
- int64_t time;
-
- /** Whether the transaction containing this output is sent from the owning wallet */
- bool from_me;
-
- 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),
- depth(depth),
- input_bytes(input_bytes),
- spendable(spendable),
- solvable(solvable),
- safe(safe),
- time(time),
- from_me(from_me)
- {}
-
- std::string ToString() const;
-
- inline CInputCoin GetInputCoin() const
- {
- return CInputCoin(outpoint, txout, input_bytes);
- }
-};
-
//Get the marginal bytes of spending the specified output
int CalculateMaximumSignedInputSize(const CTxOut& txout, const CWallet* pwallet, bool use_max_sig = false);
int CalculateMaximumSignedInputSize(const CTxOut& txout, const SigningProvider* pwallet, bool use_max_sig = false);