From be4812bd29f1be50a16b688f30db24037a7ac189 Mon Sep 17 00:00:00 2001 From: Duke Leto Date: Tue, 7 Apr 2020 21:17:58 -0400 Subject: [PATCH] Use fee=0 if we do not have enough funds in this zaddr to pay a fee; track number of txs created --- src/wallet/asyncrpcoperation_saplingconsolidation.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/wallet/asyncrpcoperation_saplingconsolidation.cpp b/src/wallet/asyncrpcoperation_saplingconsolidation.cpp index feb89a0ee..8f7078c81 100644 --- a/src/wallet/asyncrpcoperation_saplingconsolidation.cpp +++ b/src/wallet/asyncrpcoperation_saplingconsolidation.cpp @@ -185,7 +185,9 @@ bool AsyncRPCOperation_saplingconsolidation::main_impl() { LogPrint("zrpcunsafe", "%s: Added consolidation input %d\n", opid, i); } - builder.SetFee(fConsolidationTxFee); + CAmount thisTxFee = amountToSend < fConsolidationTxFee ? 0 : fConsolidationTxFee; + LogPrint("zrpcunsafe", "%s: Using fee=%d\n", opid, thisTxFee); + builder.SetFee(thisTxFee); // Add the actual consolidation tx builder.AddSaplingOutput(extsk.expsk.ovk, addr, actualAmountToSend); @@ -231,13 +233,13 @@ bool AsyncRPCOperation_saplingconsolidation::main_impl() { LogPrint("zrpcunsafe", "%s: Committed consolidation transaction with txid=%s\n",opid, tx.GetHash().ToString()); amountConsolidated += actualAmountToSend; consolidationTxIds.push_back(tx.GetHash().ToString()); + numTxCreated++; } else { LogPrint("zrpcunsafe", "%s: Consolidation transaction FAILED in CommitTransaction, txid=%s\n",opid , tx.GetHash().ToString()); setConsolidationResult(numTxCreated, amountConsolidated, consolidationTxIds); status = false; break; } - } }