Neil Booth
da5c18b2f9
Be patient whilst connecting
On startup we make several connections simultaneously. Socket
maintenance code checks if we're not connected, and if not
switches to a connected interface if auto_connect.
Unfortunately this meant that we frequently didn't reconnect to
the prior good server on startup, because some other connection
would happen first and this code would decide to switch to it.
Instead, only switch if a connection attempt is not in progress.
If that times out at the O/S level the switch will happen.
9 years ago
Neil Booth
f5a43b8738
Warn if server is serving bad address histories
9 years ago
Neil Booth
f9047c6df0
Fix for dynamic loading and unloading of plugins
Need to add and remove thread jobs
9 years ago
Neil Booth
b5f986ee56
Torwards sane signalling for exchange_rate plugin
9 years ago
Neil Booth
1171a25815
Genericize plugin handling of thread jobs
Move it to the Plugins class so all plugins get it for
free.
9 years ago
Neil Booth
9da22000b6
More improvements to exchange_rate plugin
- better historical rate handling, including caching
- grabbing and scanning wallet transactions no longer needed
- fix autosize of fiat column
- more efficient
9 years ago
ThomasV
2f8574f7d7
kivy/buildozer: read version number from file
9 years ago
Neil Booth
835bc4e4aa
More cleanup now self.window is gone
No need for self.main_window in gui object.
No need for hooks "init_qt" and "close_main_window".
9 years ago
Neil Booth
89fbda30e0
Labels plugin now working for multiple windows
9 years ago
Neil Booth
2aa21ece79
Fix cosigner_pool plugin for multiple windows
9 years ago
Neil Booth
77a029082a
Improved new_window handling.
Remove new_window hook.
Plugin informed of all windows via events when first loaded.
init_qt no longer needed for exchange_rate plugin.
9 years ago
Neil Booth
8ce2a95695
Have plugins object track the window set
No need for self.gui nor init_qt hook any more. This makes
plugins more independent of window and gui types.
9 years ago
Neil Booth
ec3b7ba5ee
Pass plugins object to plugin constructor
9 years ago
ThomasV
04b9d8fffa
Update kivy GUI in order to merge with master
9 years ago
akshayaurora
c121c1aa4e
reorganize files and bring code inline with current master
Conflicts:
lib/simple_config.py
11 years ago
qua-non
1179a4cf9e
manage exchange plugins, make sure ui doesn't stall while saving seed
and numerous other small fixes.
11 years ago
ThomasV
4655c5f565
Fix SocketPipe:
* add errcode 35 for BSD
* in addition, add a very long timeout to command line pipe, in order to prevent that exception to be raised.
9 years ago
ThomasV
e3b7239d19
fix SocketPipe for returning empty array
9 years ago
ThomasV
4cfb6e1d76
add missing parameter
9 years ago
Neil Booth
49797c3094
Create a Plugins class
Encapsulates plugin logic and removes global variable ugliness.
9 years ago
ThomasV
9d76bf6828
temporary fix wallet constructors
9 years ago
Neil Booth
7a55d02654
Fix 992c70a688
This works for ordinary wallets at least; cannot test hardware.
But after staring for ages I think it's right.
9 years ago
ThomasV
992c70a688
detect available hardware wallets before listing them in wizard
10 years ago
Neil Booth
6c69849be9
Fix uninitialized var from select merge
9 years ago
Neil Booth
cdcd4d7215
Fix 'tuple' object has no attribute 'copy'
Occurred when switching interfaces and there were unanswered
requests that need resending. This bug isn't new; it's been
there since at least 3rd June.
9 years ago
Neil Booth
119aa5bf2e
Move message so it doesn't repeat when connecting
9 years ago
Neil Booth
72f429c353
Remove unused callback
9 years ago
Roman Zeyde
a097c47b0b
test_transaction: fix test_sweep case
9 years ago
Roman Zeyde
aadbcca6f0
transaction: remove unused mmap-related code
9 years ago
Neil Booth
a5e0265010
Make exchange rate plugin a network thread job
This fixes a lot of thread error noise when closing down electrum.
9 years ago
Neil Booth
f11e46e479
Remove unused import
9 years ago
Neil Booth
be7cb011a3
Simply verifier now network is in-process
9 years ago
Neil Booth
2a1b717a21
Fix scripts/peers
Needed an almost complete rewrite now we use select.
9 years ago
Neil Booth
748662dede
Add a debugging traceback.
9 years ago
Neil Booth
2ee506ac03
Fix typo.
9 years ago
Neil Booth
768adfb337
Fix "restore" further by accepting --mpk
9 years ago
Neil Booth
2d05e7d891
Merge the network and network_proxy
9 years ago
Neil Booth
4d6a0f29ee
Fix 'restore' command line to take -C.
9 years ago
ThomasV
92e0744470
Refactoring of daemon:
* gui and daemon are in the same process
* commands that require network are sent to the daemon
* open only one gui window per wallet
9 years ago
Neil Booth
351272f0b6
Small optimization for large wallets
Previously the verifier job would scan all transactions in
unverified_tx each time it ran.
Nothing was ever removed from this map; it would essentially
be the full set of transactions.
As the job runs about 10 times a second, for a wallet with 500 txs
this would be 5,000 useless loops a second.
This patch makes unverified_tx be simply the set of confirmed
transactions that haven't yet been verified. txs are added once
confirmed, and removed once verified. Hence it will almost always be
empty.
9 years ago
Neil Booth
478bde8afa
Access to unverified_tx no longer needs a lock
Once the proxy thread jobs are created only they access this,
and they all run under the proxy thread, so there is no contention.
9 years ago
ThomasV
578a83fa30
show error message raised during sign_transaction. see issue #1422
9 years ago
Neil Booth
695aebaa80
Clean up imports; use self.print_error
9 years ago
Neil Booth
91049c8af8
Protect proxy against ill-formed server responses
9 years ago
Neil Booth
9455815ad0
Merge requested_merkle and merkle_roots.
9 years ago
Neil Booth
b64c42b1eb
Make the verifier a thread job instead of a thread
The verifier, like the synchronizer, now runs as part of the
network proxy thread.
9 years ago
Neil Booth
01491dd1d0
Have network_proxy use ThreadJob framework
Rename WalletSynchronizer to Synchronizer so that diagnostic messages,
which are based on class name, still refer to Synchronizer.
9 years ago
Neil Booth
56654ec4e9
Introduce thread job framework.
This is a cleaner generalization of the functionality added
to network_proxy.py a few months ago, whereby jobs can be
added and removed from a thread's main loop. This allows
us to cut down on unnecessary threads.
A follow-up patch will update the proxy to this framework.
9 years ago
Roman Zeyde
eb66289314
test_transaction: add BCDataStream test case
9 years ago
Roman Zeyde
33b78551a3
test_transaction: add Transaction.sweep() test case
9 years ago