Commit Graph

801 Commits

Author SHA1 Message Date
SomberNight
64ab8222f7
interface: if request times out, no need to dump trace 2018-09-13 20:17:58 +02:00
SomberNight
819044221b
verifier: need to wait for reorg
fixes race between verifier and block header download.
scenario: client starts, connects to server. while client was offline,
there was a reorg. txn A was not mined in the old chain, but is mined
after reorg. client subscribes to addresses and starts downloading headers,
concurrently. server tells client txn A is mined at height H >= reorg height.
client sees it has block header at height H, asks for SPV proof for txn A.
but the header the client has is still the old one, the verifier was faster
than the block header download (race...). client receives proof. proof is
incorrect for old header. client disconnects.
2018-09-13 19:00:21 +02:00
SomberNight
78e9152723
network: get_servers to always include recent servers 2018-09-13 16:06:41 +02:00
SomberNight
43664d5f11
fixes for stdio/text gui 2018-09-13 15:11:28 +02:00
SomberNight
1f14894c43
network: add server to recent_servers only after checks 2018-09-13 03:45:21 +02:00
SomberNight
c93d137c5e
interface: minor clean-up split out _set_proxy from init 2018-09-13 01:20:20 +02:00
SomberNight
c40468a8d3
interface: disable bw rate limiting done by aiorpcx 2018-09-12 22:58:36 +02:00
SomberNight
2e18e3c62b
adapt to aiorpcx 0.8.1: rm report_crash kwarg from group.spawn 2018-09-12 22:09:59 +02:00
SomberNight
a3fb865db0
follow-up prev
this is already running inside interface.group
2018-09-12 21:22:46 +02:00
SomberNight
6452582a17
network: batch requests in request_server_info 2018-09-12 21:18:08 +02:00
SomberNight
e7fa42ce3e
wallet: don't write to disk when switching servers 2018-09-12 20:25:13 +02:00
SomberNight
cad4fb80c1
interface: throttle messages 2018-09-12 20:17:12 +02:00
SomberNight
47a97279af
rename CustomTaskGroup to SilentTaskGroup 2018-09-12 19:24:58 +02:00
SomberNight
2039c07a2d
interface.mark_ready: handle cancellation 2018-09-12 18:45:15 +02:00
SomberNight
1419a5c60d
interface: change how GracefulDisconnect is handled 2018-09-12 18:43:50 +02:00
SomberNight
3842205b8a
keystore: add note regarding xpubkeys 2018-09-12 18:22:34 +02:00
SomberNight
152c6abb86
network: fix another race in session.subscribe
key in session.subscriptions does not imply key in session.cache
2018-09-12 16:58:15 +02:00
SomberNight
9505a203d8
util: rm dead network code 2018-09-12 16:57:12 +02:00
ThomasV
15b21abc99 fix fee_histogram notifications 2018-09-12 12:56:51 +02:00
ThomasV
ce4608ae76 add help text to bump fee dialog 2018-09-12 12:18:27 +02:00
SomberNight
8cd08cc0fa
network: rm dead code; simplify 2018-09-12 01:40:54 +02:00
SomberNight
ab3c3c5ed7
interface: small clean-up 2018-09-11 22:16:30 +02:00
SomberNight
a5b3f809ce
blockchain.py: add type annotations 2018-09-11 22:14:57 +02:00
SomberNight
014c0d3a41
network: update UI when downloading chunks 2018-09-11 21:44:17 +02:00
SomberNight
518c6280e9
interface: minor clean-up re timeouts 2018-09-11 21:23:37 +02:00
SomberNight
9ffd2de492
Merge branch 'aiorpcx' 2018-09-11 20:52:58 +02:00
SomberNight
ecc296cf67
fix race in session.subscribe 2018-09-11 20:39:16 +02:00
SomberNight
8b8ca14c6d
move get_index from network to session 2018-09-11 20:37:53 +02:00
SomberNight
e829d6bbcf
wallet: put Sync and Verifier in their own TaskGroup, and that into interface.group 2018-09-11 20:24:01 +02:00
SomberNight
19d4bd4837
simplify prev 2018-09-11 18:28:59 +02:00
SomberNight
4e0d179937
rate limit txn notifications in qt 2018-09-11 18:13:52 +02:00
Janus
09dfb0fd1d fix off-by-one error when syncing from genesis w/o checkpoints 2018-09-11 17:16:37 +02:00
ThomasV
3b6af914e1 add multiplexing capability to NotificationSession, simplify interface 2018-09-11 17:06:41 +02:00
SomberNight
1728dff576
fix prev: that's not how you use the context manager... 2018-09-11 12:25:57 +02:00
SomberNight
557334aa36
interface: introduce tip_lock 2018-09-11 11:44:49 +02:00
SomberNight
20957ac4d9
follow-up prev 2018-09-11 02:43:54 +02:00
Calin Culianu
a4396f4f13
Fixed potential bug when clicking in History List on slow wallet synch 2018-09-11 02:38:57 +02:00
SomberNight
19e244a85e
interface: rm unnecessary writes to self.tip 2018-09-10 19:47:36 +02:00
SomberNight
54cc822227
network: send out 'interfaces' event on new_interface
network dialog was not always showing up-to-date data
2018-09-10 19:03:06 +02:00
SomberNight
e2338581eb
broadcast_transaction: introduce async variant 2018-09-10 18:39:10 +02:00
SomberNight
b279d351d8
interface.session: add default timeout to send_request 2018-09-10 17:12:05 +02:00
SomberNight
fffec71fb3
kivy fx: make sure displayed fiat values get updated 2018-09-10 16:43:04 +02:00
SomberNight
3e3d387161
fix kivy: follow-up 3d424077fd 2018-09-10 15:18:11 +02:00
SomberNight
526319630e
network: minor fix in switch_to_interface 2018-09-10 02:30:27 +02:00
SomberNight
999ae1f713
test_mnemonic: add foreign lang tests 2018-09-10 02:03:42 +02:00
SomberNight
6b2509b106
interface.run: catch OSError instead of subtypes 2018-09-10 01:09:35 +02:00
SomberNight
b2547601a5
rm dead code 2018-09-10 01:08:51 +02:00
SomberNight
97ea4679a7
network: fix monkey-patching in set_proxy 2018-09-10 01:08:28 +02:00
SomberNight
3d424077fd
introduce NetworkParameters namedtuple 2018-09-10 00:59:53 +02:00
SomberNight
ecf4ea9ba7
move (de)serialize_server to interface; and use it 2018-09-09 23:08:44 +02:00
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