Bitcoin Core 0.17 deprecates the accounts feature and replaces it with
labels. The RPC functions using accounts still work for use with older
version of Core.
This commit adds a method 'changemixdepth' to the list
of methods that can be invoked with the wallet-tool.py script.
It is a noscan method, so doesn't require sync, and uses the
value of the -m option as the new *number* of mixdepths, and
updates the wallet's storage for future runs.
Users are advised not to reduce this number, but increasing it
should always be fine.
Running tumbler with insufficient mixdepths quits with warning.
to be selected by a taker's sweeping coinjoin.
This is done by approximating the cjamount ceiling and filtering to one offer per
maker before the actual selection algorithm runs.
If a user doing sendpayment decided to reject the offered fees,
before this commit this resulted in a crash because the call
to Taker.on_finished_callback was passed with fromtx=True for
a single line schedule, which attempts to restart. fromtx should
have been set to False when it is the last item in the schedule
(in this case, both first and last). This incorrect argument
existed before restart-with-subset but was then harmless, now
it attempts to recover with no Taker.nonrespondants and crashes.
Fix is simply to provide the right second argument (False) to
the function call.
If N makers are chosen and M fail to respond with sig,
this alteration to taker code allows restart of
entire transaction with that specific subset of makers (N-M)
that originally responded honestly.
This fixes the non-deterministic failures of the test_schedule tests.
It does so by addressing the underlying issue, which is described in
be made configurable in future, but assessed as not worth it here.
It will end up showing very small and actually wrong numbers like
5.38939837311e-11 % or even -1.48880395563e-11 % if it's newly funded
wallet with no coinjoins happened yet.