ThomasV
6bf48d0506
Merge pull request #4872 from spesmilo/qt_fiat_fixes
...
qt history view custom fiat input fixes
2018-11-27 18:16:05 +01:00
Janus
37b009a342
qt history view custom fiat input fixes
...
previously, when you submitted a fiat value with thousands separator,
it would be discarded.
2018-11-27 17:00:26 +01:00
SomberNight
a34d42492d
android docker build
2018-11-27 03:53:22 +01:00
SomberNight
b21064f16f
android: don't use external storage
...
so that we don't need the extra permission.
also because phones these days have enough internal storage for
the headers; and maybe it's better even for security reasons to
store it there.
no upgrade path is provided for the headers stored on external storage,
we will litter the filesystem and leave them there. they will be
downloaded again into internal storage.
2018-11-26 17:54:07 +01:00
SomberNight
29b697df1a
android: runtime permission dialog for camera
2018-11-26 17:54:07 +01:00
SomberNight
f095b35663
android: build apk using new python3 p4a toolchain
2018-11-26 17:54:05 +01:00
SomberNight
141ff99580
blockchain.py: generalise fork ids to get rid of conflicts
2018-11-22 16:57:22 +01:00
SomberNight
5376d37c24
history export: include tx fee
...
closes #3504
2018-11-18 16:46:07 +01:00
SomberNight
eba97f74b4
decorate some methods with @profiler to debug slow startup
2018-11-16 14:39:22 +01:00
ghost43
4d62963efe
qt: count wizards in progress ( #4349 )
...
fixes #4348
2018-11-14 22:39:49 +01:00
Calin Culianu
75e30ddc9d
Show description (label) in TxDialog screen when opened from History ( #4775 )
2018-11-14 16:43:58 +01:00
SomberNight
e1c66488b1
paymentrequest: don't show PaymentAck to user
...
mainly because the main "merchant" using bip70 is bitpay, and they
are failing all the PaymentAcks due to the tx is using RBF...
no need to confuse users.
follow-up 1686a97ece
2018-11-14 16:33:41 +01:00
ThomasV
f7f4fef156
Merge pull request #4827 from SomberNight/android_oneserver
...
implement oneserver option for kivy
2018-11-14 16:13:05 +01:00
SomberNight
2ab8234e9c
RBF batching: smarter fee handling
2018-11-09 20:04:06 +01:00
SomberNight
436f6a4870
qt history export: include fiat value in csv
2018-11-09 18:48:12 +01:00
SomberNight
71ac3bb305
RBF batching: some fixes
2018-11-09 17:56:42 +01:00
ThomasV
f55db2f90b
add batch_rbf option to Qt GUI
2018-11-09 17:29:31 +01:00
ThomasV
2b8d801b36
if possible, batch new transaction with existing rbf transaction
2018-11-09 16:33:29 +01:00
SomberNight
bd32b88f62
introduce UserFacingException
...
we should not raise generic Exception when wanting to communicate with
the user. it makes distinguishing programming errors and messages hard,
as the caller will necessarily need to catch all Exceptions then
2018-11-08 19:46:15 +01:00
SomberNight
47b6d3c52c
wizard: make native segwit (bech32) the default for bip39/hw
2018-11-08 13:01:40 +01:00
SomberNight
1686a97ece
bip70 PRs: use aiohttp instead of requests. use proxy. small fixes.
2018-11-05 19:31:17 +01:00
SomberNight
1b46866e34
qt: re sweeping, minor clean-up
2018-11-05 01:53:35 +01:00
SomberNight
160bc93e26
implement oneserver option for kivy
...
closes #4826
2018-11-03 17:21:38 +01:00
SomberNight
5b4fada2a0
fix some network.get_transaction calls
...
see #4814 (issuecomment-434392195)
2018-10-30 19:07:37 +01:00
SomberNight
f53b480f1c
wallet: more powerful add_input_info
...
tangentially related: #4814
also recognise that input is_mine if tx was not fully parsed
but we have the prevout UTXO
2018-10-29 21:34:44 +01:00
SomberNight
f819e9b6f4
openalias: minor clean-up
2018-10-29 17:09:23 +01:00
SomberNight
5e0179dac4
qt console: expose more refs, and fix auto-complete for >2 depth
2018-10-29 00:20:45 +01:00
SomberNight
9037f25da1
kill old-style namedtuples
2018-10-28 00:28:29 +02:00
SomberNight
34569d172f
wallet: make importing thousands of addr/privkeys fast
...
fixes #3101
closes #3106
closes #3113
2018-10-27 17:36:10 +02:00
SomberNight
361ffc0620
correctly handle bitcoin URIs if GUI is already running
...
see #4796
2018-10-25 00:18:14 +02:00
SomberNight
0e6160bf2d
follow-up prev: bad idea to eval translated string
2018-10-23 03:01:23 +02:00
SomberNight
b68729115a
qt wallet information: added keystore type
2018-10-23 02:54:54 +02:00
SomberNight
2a60a701bf
qt wallet information: show has_seed and watching_only
2018-10-22 23:47:34 +02:00
SomberNight
1af225015a
fix some type annotations involving tuples
2018-10-13 05:16:36 +02:00
SomberNight
5afdc14913
util: small clean-up re format_satoshis
...
related #4771
2018-10-13 04:21:07 +02:00
SomberNight
37206ec08e
network: auto-switch servers to preferred fork (or longest chain)
...
If auto_connect is enabled, allow jumping between forks too.
(Previously auto_connect was only switching servers on a given fork,
not across forks)
If there is a preferred fork set, jump to that (and stay);
if there isn't, always jump to the longest fork.
2018-10-11 20:07:19 +02:00
SomberNight
150e27608b
wallet: rm electrum_version field
2018-10-10 20:26:12 +02:00
ThomasV
e975727075
follow-up prev commit
2018-10-10 19:26:02 +02:00
ThomasV
bb9871ded7
simplify prev commit
2018-10-10 19:24:24 +02:00
ThomasV
f037f06e74
Merge pull request #4758 from SomberNight/qt_fork_icon
...
qt network status: display 'fork' in icon when chain split is detected
2018-10-10 19:18:11 +02:00
SomberNight
87b05e1c9e
network: change broadcast_transaction api
...
raise exceptions instead of weird return values
closes #4433
2018-10-10 15:56:41 +02:00
ThomasV
c7833b8bc0
Merge pull request #4727 from SomberNight/refresh_gui_f5
...
qt: refresh gui with "F5"
2018-10-10 10:53:00 +02:00
SomberNight
cc18f66793
network: don't save negative ETA fee estimates
...
-1 means bitcoind could not give an estimate
2018-10-09 12:03:38 +02:00
Mark B Lundeberg
508793b010
qt transaction_dialog: normal close if user presses Esc
...
(Electron-Cash/Electron-Cash#890 )
2018-10-09 01:14:33 +02:00
SomberNight
f3f2534877
qt status: display "loading wallet" temporarily
...
this will likely only be visible for large wallets;
it gets overwritten by update_status()
2018-10-07 17:59:32 +02:00
SomberNight
decb8bfd52
qt network status: display 'fork' in icon when chain split is detected
2018-10-05 00:16:06 +02:00
SomberNight
d759546b32
qt console: fix word wrap
2018-10-03 18:26:09 +02:00
SomberNight
626828e980
fix sweeping
2018-10-01 05:16:03 +02:00
SomberNight
4d43d12abf
transaction: don't convert p2pk to p2pkh address when displaying
...
also closes #4742
2018-10-01 04:58:26 +02:00
SomberNight
12e79ecd60
qt tx dialog: make input/output fields expand
...
based on Electron-Cash/Electron-Cash@169c137211
2018-09-27 21:44:18 +02:00
SomberNight
33d14e4238
some import clean-up in qt
2018-09-25 18:15:28 +02:00
SomberNight
952e9b87e1
network: clean-up. make external API clear. rm interface_lock (mostly).
2018-09-25 16:44:39 +02:00
Ilya Shalyapin
4c8103af3b
move get_default_language to gui.qt.util
2018-09-23 14:11:50 +05:00
SomberNight
eccb8ec2d6
normalize wallet file paths
...
fix #4020
fix #4126
2018-09-20 01:21:42 +02:00
SomberNight
61b5ce0451
fix import error
2018-09-20 01:20:13 +02:00
SomberNight
9586157479
qt: refresh gui with "F5"
2018-09-19 22:12:02 +02:00
SomberNight
855a70bc66
network: new trigger 'blockchain_updated'
...
follow-up af63913189
needed to update history tab when new blocks come,
to refresh the number of confirmations (icons/tooltips)
2018-09-19 21:56:09 +02:00
SomberNight
7e1a784fca
follow-up prev: fix race between load_wallet and network events
...
[127.0.0.1] Exception in wrapper_func : AttributeError 'ElectrumWindow' object has no attribute 'wallet'
Traceback (most recent call last):
File "/home/user/wspace/electrum/electrum/util.py", line 839, in f2
return await f(*args, **kwargs)
File "/home/user/wspace/electrum/electrum/interface.py", line 245, in wrapper_func
return await func(self, *args, **kwargs)
File "/home/user/wspace/electrum/electrum/interface.py", line 260, in run
await self.open_session(ssl_context, exit_early=False)
File "/home/user/wspace/electrum/electrum/interface.py", line 357, in open_session
await group.spawn(self.monitor_connection())
File "/usr/local/lib/python3.6/dist-packages/aiorpcx/curio.py", line 241, in __aexit__
await self.join(wait=self._wait)
File "/usr/local/lib/python3.6/dist-packages/aiorpcx/curio.py", line 214, in join
raise task.exception()
File "/home/user/wspace/electrum/electrum/address_synchronizer.py", line 173, in job
await group.spawn(self.synchronizer.main())
File "/usr/local/lib/python3.6/dist-packages/aiorpcx/curio.py", line 241, in __aexit__
await self.join(wait=self._wait)
File "/usr/local/lib/python3.6/dist-packages/aiorpcx/curio.py", line 214, in join
raise task.exception()
File "/home/user/wspace/electrum/electrum/synchronizer.py", line 181, in main
self.wallet.network.trigger_callback('wallet_updated', self.wallet)
File "/home/user/wspace/electrum/electrum/network.py", line 267, in trigger_callback
callback(event, *args)
File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 300, in on_network
if wallet == self.wallet:
AttributeError: 'ElectrumWindow' object has no attribute 'wallet'
2018-09-19 17:44:52 +02:00
Ilya Shalyapin
d840804818
use system language by default
2018-09-19 13:07:19 +05:00
SomberNight
a2ed08615c
minor.. move imports out of functions
2018-09-18 18:07:12 +02:00
SomberNight
39db32c3ce
follow-up prev
2018-09-18 17:59:02 +02:00
SomberNight
af63913189
network triggers: rm 'updated'; more fine-grained instead
...
rm 'interfaces'
add 'wallet_updated', add 'network_updated'
2018-09-18 16:49:48 +02:00
ThomasV
3ec0ceba3e
add option to leave daemon running after GUI is closed
2018-09-18 12:05:37 +02:00
SomberNight
67d3d6b5b5
qt: don't update tabs in ElectrumWindow.__init__ directly
2018-09-18 04:19:12 +02:00
SomberNight
533bd97a05
qt HistoryList.update_item: perf optimisation
2018-09-18 03:19:24 +02:00
SomberNight
11bf084a1f
network triggers: 'verified' notification now includes wallet
...
this is a performance optimisation.
measurements using a large wallet with 11k txns:
syncing XPUB for the first time takes 10 seconds. leaving window open, and
syncing same XPUB again in new window takes 30 seconds. in third window,
it takes ~50 seconds. then ~70s. presumably scaling linearly.
this is due to the history_list.update_item call being CPU-heavy.
now all of them take 10 seconds.
2018-09-18 01:40:34 +02:00
SomberNight
24ec7ce6b8
qt network dialog: maybe fix refresh bug
2018-09-17 22:31:31 +02:00
SomberNight
e5e3ac0364
fix #4720
2018-09-17 14:44:01 +02:00
SomberNight
4d502eb2bf
qt tx notifications: wait until sync finishes
...
Comment is no longer relevant. Also, actually it was incorrect.
Each txn is only downloaded once, though 'added' multiple times to the wallet.
The triggers are only sent out by the Synchronizer, once, when downloaded.
The actual reason for the inconsistency was that get_wallet_delta can only
give complete results once the wallet is synced.
2018-09-16 09:40:07 +02:00
SomberNight
a9197236a2
change 'new_transaction' notification to include wallet
2018-09-16 02:48:13 +02:00
SomberNight
f38ec93ae9
qt fx settings: restore selected exchange in combobox if list changes
2018-09-14 23:07:13 +02:00
SomberNight
6ccd83397c
fx: asyncio.Event is not thread-safe; also the 'timeout' field was removed
2018-09-14 23:01:28 +02:00
SomberNight
43664d5f11
fixes for stdio/text gui
2018-09-13 15:11:28 +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
9ffd2de492
Merge branch 'aiorpcx'
2018-09-11 20:52:58 +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
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
e2338581eb
broadcast_transaction: introduce async variant
2018-09-10 18:39:10 +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
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
Janus
52b877ac3d
network: add singleton accessor classmethod, port trustedcoin to aiohttp
2018-09-07 11:35:16 +02:00
Janus
573760daf0
remove generated kivy theming
2018-09-06 17:25:11 +02:00
Janus
be50394f11
aiorpcx: increase crash reporter timeout, avoid is_running in kivy
2018-09-06 17:18:26 +02:00
Janus
6e80ba7b4f
asyncio: labels, crash_reporter, fx: migrate requests use to aiohttp
2018-09-06 16:18:45 +02:00
Janus
8f36c9167d
aiorpcx: remove callback based code, add session to Interface
2018-09-06 14:17:29 +02:00
Janus
f733cb8947
aiorpcx: socks support
2018-09-06 14:11:36 +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
69a204d726
fix #4657
2018-09-05 18:30:53 +02:00
RGauthamRam
aac7a34405
Update __init__.py ( #4668 )
...
Resolving the issue #4363
2018-08-30 16:35:01 +02:00
SomberNight
0137626a63
wallet restore: remove dead code. add log lines.
2018-08-28 18:20:35 +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
cf14d7b346
wallet: change meaning of is_used
2018-08-03 16:02:37 +02:00
SomberNight
2eb72d496f
transaction: introduce TxOutput namedtuple
2018-08-01 19:10:08 +02:00