aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/receive.cpp
diff options
context:
space:
mode:
authorAntoine Poinsot <darosior@protonmail.com>2022-07-07 14:06:27 +0200
committerAntoine Poinsot <darosior@protonmail.com>2022-08-16 18:33:05 +0200
commit0fd2d144540b720626fc065a3cef5188831b5ee2 (patch)
tree59dd67fd3cf748fbd829cad0421f0192cce12b29 /src/wallet/receive.cpp
parent55f98d087efd2609d808c082d5770306cc489409 (diff)
downloadbitcoin-0fd2d144540b720626fc065a3cef5188831b5ee2.tar.xz
rpc: add an include_change parameter to listsinceblock
It's useful for an external application tracking coins to not be limited by our change detection. For instance, for a watchonly wallet with two descriptors a transaction from one to the other would be considered a change output and not be included in the result (if the address was not generated by this wallet).
Diffstat (limited to 'src/wallet/receive.cpp')
-rw-r--r--src/wallet/receive.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/wallet/receive.cpp b/src/wallet/receive.cpp
index 8de4017371..c3aeef4209 100644
--- a/src/wallet/receive.cpp
+++ b/src/wallet/receive.cpp
@@ -223,7 +223,8 @@ CAmount CachedTxGetAvailableCredit(const CWallet& wallet, const CWalletTx& wtx,
void CachedTxGetAmounts(const CWallet& wallet, const CWalletTx& wtx,
std::list<COutputEntry>& listReceived,
- std::list<COutputEntry>& listSent, CAmount& nFee, const isminefilter& filter)
+ std::list<COutputEntry>& listSent, CAmount& nFee, const isminefilter& filter,
+ bool include_change)
{
nFee = 0;
listReceived.clear();
@@ -248,8 +249,7 @@ void CachedTxGetAmounts(const CWallet& wallet, const CWalletTx& wtx,
// 2) the output is to us (received)
if (nDebit > 0)
{
- // Don't report 'change' txouts
- if (OutputIsChange(wallet, txout))
+ if (!include_change && OutputIsChange(wallet, txout))
continue;
}
else if (!(fIsMine & filter))