The test file added here can be run locally to see potential
errors in E2E coinjoin operation, but it is not yet ready to
be included in automated testing, since errors may occur silently
in this setup. This should be fixed, and then the test should
be added to travis, in a future PR.
sys.exit if history invoked but Bitcoin Core is not blockchain interface
Implement wallet history via wallet_fetch_history function
Pass wallet options to wallet_fetch_history
Don't commit transaction IDs in VCS
Replace get_p2pk_vbyte references with get_p2sh_vbyte
Now using pay-to-script-hash transaction types as wrappers around Segwit
transactions.
Remove print statement when invoking wallet history
Make RPC connection persistent to improve high throughput RPC
access where necessary; uses keep alive and recreates connection
when it drops.
Restrict listtransaction calls to the required account, plus only
looks back 100 txs (assuming concurrent txs less than this), thus
greatly reducing the number of gettransaction calls over RPC.
Fixes bug in choose_sweep_orders (was not filtering out non-sw
orders).
Removes tickchainthread from tests, so no longer any threads used
even in tests; replaces with reactor task loop.
Temporarily removes test_wallets and test_segwit from build tests,
since they used blocking which only worked in threaded tests; these
tests must be rebuilt.
Add extpub keys for branches to wallet view
Make extpub keys copyable via context menu
Fix bug in seedwords display
Make all wallet view columns resizable
hexseed only for regtest
via 0 entry in num counterparties. Modify tooltip to reflect.
Rename tumble_support to taker_utils for generic Taker code.
Refactor direct_send function to that module, shared with
sendpayment CLI script.
Also add detailed function definitions for Taker callbacks in
taker.py comments. Modifications to joinmarket-qt, tumbler
working but these modifications not yet complete.
Also fixes minor bug in blockr data read.
Modifies schedule syntax to include complete/incomplete flag, so if
restart is chosen then the schedule is continued from the first
incomplete transaction in the sequence.
Refactor parsers into separate module (more code reuse to do).
Add a tumbler schedule generator in jmclient/schedule.py.
Alter syntax of schedules; taker interprets fractional amounts
as percentage of mixdepth (for tumbler), and integers as satoshi,
zero still sweep.
TODO tumbler is only a minor delta from sendpayment, fold them together.
Also added some blockr tests (not complete). Minor packaging
changes, in particular pick_orders removed from package as
requires user intervention, moved to sendpayment.py for now.
Some modifications to Wallet to remove user interaction from module.
Removal of ElectrumWrapWallet, moved to the plugin files.
Add tests for aes, mnemonics.
Add harness for tests in jmclient, conftest.py and commontest
Add .coveragerc for these tests locally.
New module jmclient.schedule currently only parses schedule files,
and returns an array of tuples as a schedule.
Option added to sendpayment (-S) to pass in a schedule file, instead
of using command line arguments (still valid for single joins).
Added intermediate state to daemon to track whether ioauths have been
already sent, to prevent duplicate sending on timeout.