Commit Graph

801 Commits

Author SHA1 Message Date
SomberNight
b381a7fdbf
follow-up prev 2018-09-09 22:02:42 +02:00
SomberNight
48a5b8527a
split up interface.run 2018-09-09 21:16:48 +02:00
SomberNight
096b3e6026
network.maintain_sessions: rm redundant 'update' notifications 2018-09-09 05:32:07 +02:00
SomberNight
e3fb991b1b
clean-up network start/stop a bit 2018-09-09 05:05:08 +02:00
SomberNight
cdca74aa39
move max_checkpoint from network to constants 2018-09-09 05:00:09 +02:00
SomberNight
2f224819ac
interface: small clean-up 2018-09-09 01:15:06 +02:00
SomberNight
57cac47944
fix synchronizer: ask for missing txns on start
Previously it could happen that a wallet was fully synced,
except it had missing transactions, and it would not recover from this state.
2018-09-08 22:44:14 +02:00
SomberNight
c5bedbd3ef
wallet: only do fiat history computations if specifically enabled 2018-09-08 19:38:38 +02:00
SomberNight
77d86f074f
verifier: don't try to request same chunk multiple times 2018-09-08 19:11:02 +02:00
SomberNight
b33b2c0945
synchronizer: more batching 2018-09-08 18:38:58 +02:00
SomberNight
c49e563881
verifier: if we fail to verify SPV proof, disconnect from server 2018-09-08 18:10:21 +02:00
SomberNight
4a88ca1a3a
fix --offline option for fx and trustedcoin 2018-09-08 17:56:29 +02:00
SomberNight
86bc59cd60
update mainnet block header checkpoints 2018-09-08 17:32:28 +02:00
Dzhelil Rufat
c9ffffc526 Remove unneccessary imports from the unit testing directory. (#4699) 2018-09-08 17:24:23 +02:00
SomberNight
57e66324cb
batch fee estimates 2018-09-08 15:36:16 +02:00
SomberNight
ddee03d324
interface.run: catch more exceptions 2018-09-08 02:15:51 +02:00
SomberNight
136df7e5ee
wallet: recreate Synchronizer and Verifier when switching servers
not that nice but solves races
2018-09-08 01:34:33 +02:00
SomberNight
32528d6aa6
rm dupe code 2018-09-08 01:10:41 +02:00
SomberNight
64a03c245c
small timeout change
(re KeyError: can happen after proxy settings change)
2018-09-08 00:25:38 +02:00
SomberNight
7500b1fbee
detect lost connection
supersedes #4697
2018-09-07 20:26:45 +02:00
SomberNight
56c3c76d8b
follow-up 26172686b8 2018-09-07 19:54:26 +02:00
SomberNight
fd40dee337
make sure to retry nodes for network 2018-09-07 19:35:35 +02:00
SomberNight
26172686b8
restructure synchronizer/verifier <--> interface coupling 2018-09-07 19:34:28 +02:00
SomberNight
1fa07c920c
network: restore previous API for broadcast_transaction 2018-09-07 17:07:15 +02:00
Janus
52b877ac3d network: add singleton accessor classmethod, port trustedcoin to aiohttp 2018-09-07 11:35:16 +02:00
Janus
617103bb2a labels: fix saving single label 2018-09-06 18:30:24 +02:00
SomberNight
dc51e82f54
fx: don't dump trace if getting rates fails 2018-09-06 18:25:23 +02:00
Johann Bauer
e5cd2ed52f
Goldcard: Change spelling mistake 2018-09-06 18:15:44 +02:00
SomberNight
8467f95a28
rm @profiler from Transaction.estimated_size
in certain situations, estimated_size is called hundreds of times, flooding the log
2018-09-06 17:51:13 +02:00
ThomasV
8fe066707a rm import 2018-09-06 17:47:10 +02:00
Janus
573760daf0 remove generated kivy theming 2018-09-06 17:25:11 +02:00
ThomasV
73bf7a92a2
Merge pull request #4690 from spesmilo/aiorpcx-fx
asyncio: port exchange_rate and labels to aiohttp
2018-09-06 17:18:55 +02:00
Janus
be50394f11 aiorpcx: increase crash reporter timeout, avoid is_running in kivy 2018-09-06 17:18:26 +02:00
SomberNight
0ad504bdf0
interface: catch many common exceptions explicitly 2018-09-06 16:45:43 +02:00
Janus
6e80ba7b4f asyncio: labels, crash_reporter, fx: migrate requests use to aiohttp 2018-09-06 16:18:45 +02:00
ThomasV
5ef04a039b move NotificationSession 2018-09-06 15:53:41 +02:00
ThomasV
234273809a set interface.session before marking as ready 2018-09-06 15:44:11 +02:00
SomberNight
0142e0fa22
fix 'daemon load_wallet' over RPC for python > 3.5.3
related: #3764
2018-09-06 15:14:35 +02:00
Janus
d367199553
async block headers: remove BlockHeaderInterface and Conn classes, make self.height a local 2018-09-06 14:17:45 +02:00
Janus
9c363db440
async block headers: avoid duplicate tip fields, handle electrumx server skipping blocks 2018-09-06 14:17:44 +02:00
SomberNight
4d95452ae7
wallet: partial fix for race in on_default_server_changed 2018-09-06 14:17:44 +02:00
SomberNight
2187615c08
verifier: request proofs in batches 2018-09-06 14:17:43 +02:00
Janus
c89020725b
address synchronizer: fetch initial addresses from wallet 2018-09-06 14:17:43 +02:00
SomberNight
14a032a0b1
disconnect from servers on exception 2018-09-06 14:17:42 +02:00
SomberNight
3f0d79f07d
blockchain.py: better handling of missing headers. more restrictive verify_chunk. 2018-09-06 14:17:42 +02:00
SomberNight
2157eae499
fix request_chunk 2018-09-06 14:17:41 +02:00
Janus
e9ceeb85af
async block headers 2018-09-06 14:17:41 +02:00
Janus
19387ff911
aiorpcx: simplify open_session 2018-09-06 14:17:39 +02:00
Janus
f12074397f
aiorpcx: reintroduce periodic fee updates 2018-09-06 14:17:39 +02:00
SomberNight
a4ffa0b22a
interface: clean-up proxy username/pw handling 2018-09-06 14:17:38 +02:00
SomberNight
6700364ac8
interface: fix cert handling
notably os.unlink cannot be inside the "with open"
2018-09-06 14:17:38 +02:00
Janus
9543a108be
aiorpcx: revive some maintain_sockets code, reintroduce NODES_RETRY_INTERVAL and SERVER_RETRY_INTERVAL usage, and fix --oneserver 2018-09-06 14:17:37 +02:00
ThomasV
5117a520ae
fix start_network 2018-09-06 14:17:37 +02:00
Janus
9bfb5fe71f
address synchronizer: use aiorpcx session object in network's interface,
request, fees
2018-09-06 14:17:36 +02:00
Janus
8f36c9167d
aiorpcx: remove callback based code, add session to Interface 2018-09-06 14:17:29 +02:00
Janus
b120584f97
aiorpcx address synchronizer 2018-09-06 14:11:36 +02:00
Janus
f733cb8947
aiorpcx: socks support 2018-09-06 14:11:36 +02:00
ThomasV
c53caecd1e
fix else statement 2018-09-06 14:11:35 +02:00
Janus
89a01a6463
aiorpcx: pin certificates 2018-09-06 14:11:35 +02:00
Janus
8080a713b2
aiorpcx: pass ssl context, sleep after connecting 2018-09-06 14:11:34 +02:00
Janus
97ea0fc439
aiorpcx: replace network loop with asyncio and try to maintain ten sessions 2018-09-06 14:11:20 +02:00
SomberNight
40ceabff79
rm redundant function from util 2018-09-05 18:36:13 +02:00
SomberNight
69a204d726
fix #4657 2018-09-05 18:30:53 +02:00
ThomasV
951fd8a47f bump apk version number 2018-09-05 15:33:31 +02:00
SomberNight
1e3c3a528c
attempt at fixing wallet syncing crash
fix #3998
fix #4689
2018-09-05 15:22:57 +02:00
Janus
73e367dc3b wallet: don't cache NaN coin price
if NaN coin price is cached, historial acquisition prices are not shown
correctly since the historial prices are requested after the full
history is initially shown. As such, "No data" will be shown, even
though the user required using historical pricing.
2018-09-05 14:38:43 +02:00
SomberNight
1ec71cbaca
follow-up prev
fix #4078
2018-09-04 16:42:08 +02:00
SomberNight
7d84409628
fix #4078 2018-09-04 16:31:35 +02:00
ThomasV
56e7ba41c4 prepare release 3.2.3 and release notes 2018-09-03 14:57:29 +02:00
SomberNight
1bb1fc37f4
network: don't ask for block -1 if server is on wrong chain 2018-08-30 19:25:42 +02:00
Filip Gospodinov
c42f0dac53 test_bitcoin: fix decorators for running tests twice (#4669)
This bug is triggered if ecc_fast._libsecp256k1 and/or
crypto.AES are not present.

Before, if the first test would have raised an exception
it would have been implicitly caught by returning from
the finally block and hence this effectively masks the
test's outcome. Now, the exception is properly propagated
causing the test to fail if an exception is raised.
2018-08-30 18:53:14 +02:00
SomberNight
6ee689345f
fix -v syntax
After the introduction of arguments for -v, it would sometimes incorrectly consume the CLI cmd as its argument.
This change keeps the old "-v" syntax working, at the cost of having to provide the arguments without a whitespace directly after -v (and the args need to be single letters).
2018-08-30 18:37:03 +02:00
RGauthamRam
aac7a34405 Update __init__.py (#4668)
Resolving the issue #4363
2018-08-30 16:35:01 +02:00
SomberNight
1b19cdd0f4
transaction.py: fix script_GetOp for malformed scripts
related fyookball/electrum#829
2018-08-28 20:17:21 +02:00
SomberNight
0137626a63
wallet restore: remove dead code. add log lines. 2018-08-28 18:20:35 +02:00
Janus
262d431ff5 x509: handle dates in the 22nd century 2018-08-24 14:56:58 +02:00
SomberNight
91c369e392
hw wallets: generalise 'minimum_library' for those that provide a version number 2018-08-23 18:31:14 +02:00
ghost43
9279f30363
Merge pull request #4470 from Coldcard/ckcc
Support for new hardware wallet: Coldcard
2018-08-23 16:51:52 +02:00
tiagotrs
2a5f108d4a change prng, add warning against encrypting multiple secrets (#4649)
* substitute python prng generator with hmac_drbg

* add warning, change version

* brick cards version 0

* separate python-drbg module, include tests and license

* import to match PEP 8

* fix line break, minor changes in wording

* fixes noise_seed formatting errors

* fix import, include license exclude tests drbg module
2018-08-22 22:25:12 +02:00
SomberNight
04c1b522d6
minor fixes for prev
use TxOutputHwInfo namedtuple

warn user if device is set to wrong chain

undo parts of prev re testnet. fix p2wpkh.

testnet support. and minor stuff
2018-08-22 21:52:28 +02:00
Peter D. Gray
0bcea80bdf
Support for new hardware wallet: Coldcard
build-wine/deterministic.spec: add Coldcard plugin and ckcc-protocol dependancy

Require version 0.7.2 of ckcc-protocol (window fixes)

Rework import paths to new standards

Updated icons

New minimum version, for latest PSBT constants

Upgrade to final PSBT (BIP 174) standard encoding

Remove log noise

Show bootloader version number as well

Handle case where libraries are missing better

Remove noise about missing packages, for rest of world

Add reference to ckcc-protocol module/data

Remove dead code

Beef up the README more

Slightly better looking

Add version numbers and upgrade firmware feature

Split out DFU support into own file

First pass at adding Coinkite Coldcard hardware wallet to Electrum
2018-08-22 21:43:03 +02:00
SomberNight
bc6010303a
fix #4651 2018-08-22 17:05:48 +02:00
SomberNight
7044f1145f
ecc_fast: clarify fallback message 2018-08-17 16:01:03 +02:00
ghost43
941df4153b
wallet: try to plug gap limit for change addresses (#4530) 2018-08-15 14:33:12 +02:00
SomberNight
f3f5b8a5d6
fix #4312 2018-08-15 13:43:19 +02:00
SomberNight
3089edd3a2
wallet: remove method get_num_tx 2018-08-14 21:54:11 +02:00
SomberNight
f7166e95c4
wallet: move get_depending_transactions to AddressSynchronizer
and resolve TODO
2018-08-14 21:53:05 +02:00
SomberNight
b7178f2d21
coinchooser: small clean-up (use TxOutput.value) 2018-08-14 21:50:59 +02:00
SomberNight
88fc62e8f7
fix #4626 2018-08-14 19:38:19 +02:00
SomberNight
5f3408dd70
transaction.py: introduce TxOutputHwInfo namedtuple 2018-08-14 19:15:15 +02:00
SomberNight
b4b1de088a
move TrezorClient.expand_path to bitcoin.py
and allow its input to end with a '/' slash
2018-08-14 18:19:16 +02:00
SomberNight
52a4810752
trezor: add "show address" option in addresses tab context menu for all trezors
in case of a multisig wallet, with multiple trezors, previously only one of the trezors could be used
2018-08-14 15:02:31 +02:00
SomberNight
93578d9be2
wallet: is_mine should not depend on history keys
this makes clear_history work
2018-08-14 14:59:55 +02:00
SomberNight
820316e745
safe_t: disable udp transport as it was interfering with trezor emulator 2018-08-14 13:33:32 +02:00
tiagotrs
576c2718c8 Merge branch 'master' of https://github.com/spesmilo/electrum 2018-08-07 16:38:06 +02:00
tiagotrs
91bcc5f560 fix problems with hidpi monitors issue #4576, ensure PNGS are precise the same size. 2018-08-07 16:33:58 +02:00
zebra-lucky
059a4fff5c fix ecc_fast.py for win64 (#4606) 2018-08-05 22:30:58 +02:00
SomberNight
a7cfa56621
cosigner pool: don't block gui 2018-08-03 20:53:56 +02:00
SomberNight
9228cb5b8e
wallet: override get_addresses in Imported_Wallet so that clear_history works 2018-08-03 19:56:35 +02:00
SomberNight
2a9f5db576
blockchain.py: fix: chunks in checkpoint region were not getting saved if we were on a fork 2018-08-03 19:06:23 +02:00
SomberNight
531cdeffa9
blockchain.py: rename 'checkpoint' to 'forkpoint' 2018-08-03 18:25:53 +02:00
SomberNight
7307c800d7
small optimisations for history tab refresh (and related) 2018-08-03 16:12:41 +02:00
SomberNight
6b42e8448c
address_synchronizer: cache local_height in some cases 2018-08-03 16:10:36 +02:00
SomberNight
cf14d7b346
wallet: change meaning of is_used 2018-08-03 16:02:37 +02:00
SomberNight
6192bfce46
util.profiler: prepend class name to prints 2018-08-02 15:38:01 +02:00
SomberNight
2eb72d496f
transaction: introduce TxOutput namedtuple 2018-08-01 19:10:08 +02:00
SomberNight
f64062b6f1
add --noonion option to filter out onion servers
closes #4531
2018-07-31 20:25:53 +02:00
SomberNight
a29e2218c8
wallet: introduce namedtuples TxMinedStatus and VerifiedTxInfo 2018-07-31 17:10:15 +02:00
SomberNight
41e088693d
verifier: better handle reorgs (and storage upgrade) 2018-07-31 15:51:05 +02:00
SomberNight
861640949e
kivy: on tx broadcast, truncate error message
related #4593
2018-07-31 14:03:08 +02:00
SomberNight
c9c8b7656d
follow-up prev. sanity check OP_RETURN outputs
based on 86c63a3a08
2018-07-31 13:03:34 +02:00
SomberNight
e1b2195cf7
fix #4591: pay to OP_RETURN on trezor 2018-07-31 12:30:43 +02:00
SomberNight
629b9cb3b5
fee estimation: split eta_to_fee into two methods 2018-07-30 19:15:05 +02:00
SomberNight
8e69174374
logging: self.print_error should not print without -v flag 2018-07-29 04:29:19 +02:00
SomberNight
eaf72aa951
network: handle one-block-long fork
also add fixme about incorrect behaviour in case of a fork height higher than our local chain tip
2018-07-29 04:00:02 +02:00
ghost43
0d05b84dc3
network: handle reorg (sooner) in case of multiple forks at given height (#4537) 2018-07-29 03:56:10 +02:00
Jean-Christophe Rona
02c30e3d52
Add support for Archos Safe-T mini hardware wallet (#4445)
commit 10c46477f3a6f2fbc0596345511e0994253081eb
Author: SomberNight <somber.night@protonmail.com>
Date:   Wed Jul 25 19:40:05 2018 +0200

    backport changes of trezor plugin

commit 213619e880f709188c1ea6272758896748e681a8
Merge: a855b75b6 6899ca252
Author: Jean-Christophe Rona <jc@rona.fr>
Date:   Wed Jul 25 18:45:19 2018 +0200

    Merge branch 'master' into safe-t-mini

commit a855b75b6f5af5f707c4680d0bac79eb66a85ace
Author: Jean-Christophe Rona <rona@archos.com>
Date:   Wed Jul 25 18:37:12 2018 +0200

    Safe-T: Switch to safet 0.1.3 to remove the rlp dependency

commit 9bee44ca33289158c91c03d47dec45de6577f17b
Author: SomberNight <somber.night@protonmail.com>
Date:   Wed Jul 18 14:01:10 2018 +0200

    safe-t: bump min fw to 1.0.5

    older fw has a bug when restoring from seed

commit 01816607e8ba308cb5cff96b5fb844e4f6b8fcc1
Author: SomberNight <somber.night@protonmail.com>
Date:   Wed Jul 18 13:57:17 2018 +0200

    safe-t: fix rlp version to avoid eth stuff

commit 430206bea1fa10b762ff953fbc7652ce0d0e939d
Merge: a999ae266 b4b862b0c
Author: SomberNight <somber.night@protonmail.com>
Date:   Wed Jul 18 13:29:41 2018 +0200

    Merge branch 'master' into pr/4445

commit a999ae266f499f180946d53d4e860cc871d562ab
Author: Jean-Christophe Rona <rona@archos.com>
Date:   Tue Jun 19 14:18:03 2018 +0200

    Safe-T mini: Remove supported coins

    This is not really useful there.

commit 7922df1031b2c4b132f7f9c90232480b5bf9585c
Author: Jean-Christophe Rona <rona@archos.com>
Date:   Tue May 29 16:43:37 2018 +0200

    Safe-T mini: Add support for the Safe-T mini
2018-07-25 20:11:04 +02:00
SomberNight
a799a00dc5
fix #4577 2018-07-24 18:57:49 +02:00
SomberNight
579d48cf0c
follow-up a830747f83
on_history expects fewer arguments than what the fee_histogram callback gives
2018-07-24 18:25:22 +02:00
SomberNight
53130da682
storage: factor out 'JsonDB' 2018-07-23 19:59:10 +02:00
SomberNight
d2abaf54e8
verifier: small refactor 2018-07-23 19:59:05 +02:00
SomberNight
89aa9eb0a7
revealer: minor fix and clean-up 2018-07-22 19:40:10 +02:00
SomberNight
a830747f83
kivy: update history screen on fee histogram
related: #4573
2018-07-21 23:23:25 +02:00
SomberNight
4284f4feb3
fix #4575 2018-07-21 23:09:46 +02:00
SomberNight
f8e13c5c33
kivy: use correct i18n 2018-07-21 16:15:45 +02:00
SomberNight
f7dce426cb
fix #4574 2018-07-19 19:52:06 +02:00
SomberNight
597295e359
address_synchronizer fixes
is_mine: wallet expects get_address_index to work
imported wallets: history did not include addr keys after creation
deterministic wallets: get_addresses() should be sorted in derivation order
2018-07-19 18:16:23 +02:00
SomberNight
0100af9389
fix #4572 2018-07-19 13:59:38 +02:00
SomberNight
01193be241
logging: when not giving args to -v, log everything, as before 2018-07-19 13:55:05 +02:00
SomberNight
cc77ba523f
fix minor undefined stuff in address_synchronizer 2018-07-19 13:47:49 +02:00
Janus
1fb0b6d7bd plugins/ledger: just hardcode BTCHIP_DEBUG to False 2018-07-19 13:33:57 +02:00
Janus
f9f6ea4365 commands: tolerate lack of argument to 'verbosity' 2018-07-19 12:43:53 +02:00
ThomasV
b96b5af101 fix imports 2018-07-19 10:25:46 +02:00
ThomasV
0025073b24 move more methods from wallet to address_synchronizer 2018-07-19 10:15:22 +02:00
Janus
780b2d067c Whitelist classes in verbose (-v) option 2018-07-19 01:21:33 +02:00
SomberNight
8f17f38b02
trezor/kk: when using old fw, wizard did not display instructions properly 2018-07-18 20:17:03 +02:00
SomberNight
aa86440866
fix #4566: bip39 passphrases with multiple spaces 2018-07-18 18:42:04 +02:00
Yura Pakhuchiy
27b36486df Trezor: fix spending coinbase outputs (#4565)
Attempt to spend coinbase output results in error:
a bytes-like object is required, not 'str'
2018-07-18 17:39:32 +02:00
SomberNight
e5661156f0
follow-up e3888752d6 2018-07-18 15:32:26 +02:00
Janus
1e715113ab remove pbkdf2 dependency, use stdlib instead 2018-07-18 14:34:59 +02:00
tiagotrs
b4b862b0cc add warning that seed extension will not be included in the backup (#4555) 2018-07-18 13:15:31 +02:00
ThomasV
e3888752d6 separate address synchronizer from wallet 2018-07-18 11:18:57 +02:00
SomberNight
8bb59fcc3c
follow-up prev: fix bug in fee_to_depth, and typo and tests 2018-07-14 19:02:41 +02:00
SomberNight
b8ab36546d
mempool fees: increase estimate by max precision of histogram
related: #4551
2018-07-14 18:45:02 +02:00
ThomasV
f8ee203225 rm deprecated info about apk version 2018-07-13 18:57:04 +02:00
SomberNight
b44aca1654
network: disconnect from server on incorrect header length
fix #4522
2018-07-13 18:11:48 +02:00
Janus
87f6aa09df log failure to import plugins or plot module 2018-07-13 15:24:16 +02:00
ThomasV
77940148fa fix paths in buildozer/makefile 2018-07-13 14:45:08 +02:00
Janus
097ac144d9 file reorganization with top-level module 2018-07-13 14:01:37 +02:00
Janus Troelsen
4f85615734 add simnet support (#4455) 2018-06-22 17:07:07 +02:00