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