This fails (sys.exit) when importaddress throws the error corresponding to
Core wallet already owning the key corresponding to an address, and gives
brief advice how the error can be fixed.
It is not considered safe to simply ignore this error in case address reuse
or coins being sent to an address the user doesn't control, occurs.
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.
Utilises signing with SINGLE|ANYONECANPAY sighash flags.
Allows one party as "maker", with tainted utxo (e.g. only
valid on one chain), to create a custom single (input, output)
pair that receives slightly more than it spends (to avoid DOS),
and pass it to a "taker" who then combines with own input
utxos and outputs and broadcasts.
Valid for p2pkh or p2sh-p2wpkh, although wallets here are only
the latter.
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.
Use relative paths when setting btcconf default filepath
Whitespace and newlines
Must specify return value in python
os.path.join preferred over str +
Also adding some print statements.