Browse Source

Merge remote-tracking branch 'origin/zsweep' into zsweep

pull/195/head
Jonathan "Duke" Leto 2 years ago
parent
commit
0865579e54
  1. 4
      src/net.cpp
  2. 3
      src/wallet/asyncrpcoperation_saplingconsolidation.cpp
  3. 12
      src/wallet/asyncrpcoperation_sweep.cpp

4
src/net.cpp

@ -2125,6 +2125,10 @@ void RelayTransaction(const CTransaction& tx, const CDataStream& ss)
// Only relay to randomly chosen 50% of peers
BOOST_FOREACH(CNode* pnode, vRelayNodes)
{
//TODO: correct fix is to correctly LOCK vRelayNodes
if(!pnode)
continue;
if(!pnode->fRelayTxes)
continue;
LOCK(pnode->cs_filter);

3
src/wallet/asyncrpcoperation_saplingconsolidation.cpp

@ -157,7 +157,6 @@ bool AsyncRPCOperation_saplingconsolidation::main_impl() {
if (fromNotes.size() < minQuantity)
continue;
amountConsolidated += amountToSend;
auto builder = TransactionBuilder(consensusParams, targetHeight_, pwalletMain);
builder.SetExpiryHeight(targetHeight_ + CONSOLIDATION_EXPIRY_DELTA);
auto actualAmountToSend = amountToSend < fConsolidationTxFee ? 0 : amountToSend - fConsolidationTxFee;
@ -219,8 +218,6 @@ bool AsyncRPCOperation_saplingconsolidation::main_impl() {
}
}
LogPrint("zrpcunsafe", "%s: Done adding %d sietch zouts\n", opid, MIN_ZOUTS);
//CTransaction tx = builder.Build();
auto maybe_tx = builder.Build();
if (!maybe_tx) {
LogPrintf("%s: Failed to build transaction.\n",opid);

12
src/wallet/asyncrpcoperation_sweep.cpp

@ -103,12 +103,14 @@ bool AsyncRPCOperation_sweep::main_impl() {
}
}
} else {
LogPrintf("%s: No zsweepaddress configured, exiting\n", opid);
return false;
}
} else {
if (boost::get<libzcash::SaplingPaymentAddress>(&rpcSweepAddress) != nullptr) {
sweepAddress = boost::get<libzcash::SaplingPaymentAddress>(rpcSweepAddress);
} else {
LogPrintf("%s: Invalid zsweepaddress, exiting\n", opid);
return false;
}
}
@ -195,9 +197,10 @@ bool AsyncRPCOperation_sweep::main_impl() {
CAmount fee = fSweepTxFee;
if (amountToSend <= fSweepTxFee) {
fee = 0;
LogPrintf("%s: Amount to send %s is <= fee, using fee=0", getId(), FormatMoney(amountToSend));
fee = 0;
}
amountSwept += amountToSend;
auto builder = TransactionBuilder(consensusParams, targetHeight_, pwalletMain);
{
LOCK2(cs_main, pwalletMain->cs_wallet);
@ -290,10 +293,9 @@ bool AsyncRPCOperation_sweep::main_impl() {
pwalletMain->fSweepRunning = false;
}
LogPrintf("%s: Created %d transactions with total output amount=%s\n", getId(), numTxCreated, FormatMoney(amountSwept));
LogPrintf("%s: Created %d transactions with total output amount=%s, status=%d\n", getId(), numTxCreated, FormatMoney(amountSwept), (int)status);
setSweepResult(numTxCreated, amountSwept, sweepTxIds);
return true;
return status;
}
void AsyncRPCOperation_sweep::setSweepResult(int numTxCreated, const CAmount& amountSwept, const std::vector<std::string>& sweepTxIds) {

Loading…
Cancel
Save