Signatures sent a second time now are correctly ignored, rather than prompting
a removal for the utxo entry which fails since it's already been removed.
Also corrects the case where a junk signature can trigger a crash in verify_tx_input,
if its script deserialization results in non-string entries (integer or None).
Test cases in test_taker updated to include these error cases, now passing.
Note that this does not fix *usage* of the coins corresponding
to the imported key, which is currently not working. A further fix
is needed for coin selection and display.
confirmation as per TIMEOUT section in config.
Mark wallet as synced after sync_unspent in Core
interface (to match Electrum interface, and wait for
this update before modifying orders).
To correspond, allow fast sync in test setup in several tests.
Disallow sync_unspent in syncing wallet full mode if sync_addresses fails.
This prevents the wallet erroneously being marked as synced in full mode.
This change happened as a result of the new electrum wallet sync; because
this is asynchronous, the call to sync_unspent in the client protocol does
not block, thus must be flagged when complete, this is done with
bci.wallet_synced set to True at end of sync_unspent. But this leads
to the wallet as always being marked synced using full sync_mode if we
call both functions unconditionally.
These wallet sync conditions have become unwieldy; a refactor is in order.
Some small extra documentation in docs/TODO.md.
Set wallet synced to True on code branch where wallet is empty, so sync completes.
Ensure wallet_synced is False at the start of new sync (otherwise Resync in Qt fails).
wif compressed version byte is the pubkey version byte,
not the address version byte (so x80 or xef).
This is updated in the scripts and the Qt code for
exporting or displaying.
sendtomany update:
script now works with segwit or non-segwit inputs
(segwit by default), still requiring a utxo and a
wif compressed privkey as input.
small clean up in electrum:
remove nonresponsive testnet server
remove unwanted print statement from fee estimate
handle electrum server disconnects and switch to new servers automatically, refactor server lists to data file
add SSL connections to electrum
Bugfixes in electrum code:
Restart on connectionFailed as well as connectionLost
Query utxo set must return (only) None for nonexistent/spent utxos.
Dont include twisted logging for wallet-tool
start thread immediately for early blockchain queries
timeout non-responsive servers
fix abstractBCI refs in subclasses
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.
Updates to joinmarket-qt to reflect; no signals, only callbacks
Includes code for watching txs both via notify addr and txs;
taker uses the latter (knows full txid), maker the former
Additional code for watching tx spends included for downstream.
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