Commit Graph

530 Commits

Author SHA1 Message Date
Neil Booth ec24087b5a Move some logic from electrum to daemon
Ultimate goal is to try and stop the daemon race at startup.
Need to isolate logic of checking for server and creating one.
2016-01-31 11:43:11 +09:00
Neil Booth f6f7113978 daemon: create network inside constructor 2016-01-31 10:58:27 +09:00
ThomasV ed401761f1 sorry, confused
This reverts commit 5e6a55edd5.
2016-01-30 11:24:53 +01:00
ThomasV 5e6a55edd5 Revert "Revert "Daemon network cleanup""
This reverts commit 2c7b10a776.
2016-01-30 11:13:11 +01:00
ThomasV 2c7b10a776 Revert "Daemon network cleanup"
This reverts commit 0a1b3eac9c.
2016-01-29 17:37:56 +01:00
Neil Booth 58d5215e2e No need to pass daemon and network together
The daemon has the network
2016-01-29 22:25:59 +09:00
Neil Booth 0a1b3eac9c Daemon network cleanup
All Daemon creation was preceded by Network creation, based on
config, and passing it to Daemon.
As config is passed to Daemon, it might as well create its own
network and the code is in one place.
2016-01-29 22:14:50 +09:00
ThomasV 307ec36d34 Merge branch 'master' of git://github.com/spesmilo/electrum 2016-01-29 09:29:19 +01:00
ThomasV 81b9f8281d fix #1656 2016-01-29 09:29:07 +01:00
valesi f7dfffd30f Minor fixes - indentation and lone `self.`
6ba43637f5/electrum (L57)
has tab instead of spaces.

6ba43637f5/gui/kivy/nfc_scanner/scanner_android.py (L118)
has lone `self.`
2016-01-28 14:05:36 -08:00
ThomasV 6a833d9f98 electrum: check_imports 2016-01-28 14:38:10 +01:00
akshayaurora 900346b89e kivy:Improve startup speed 2016-01-27 20:21:20 +05:30
ThomasV 80c1aab9c3 remove is_kivy test 2016-01-26 15:23:33 +01:00
Neil Booth 93e0c72ce2 Plugins: start thread at end of constructor
Don't add jobs twice
2016-01-24 19:59:58 +09:00
Neil Booth 028ab925ed Remove unused imports 2016-01-24 19:52:37 +09:00
Neil Booth dee402b961 Plugin wallets: better error when unloadable
Used to get:

jsonrpclib.jsonrpc.ProtocolError: (-32603, u'Server error:   File "src/electrum/lib/plugins.py", line 144, in wallet_plugin_loader | KeyError: \'trustedcoin\'')

Now get:

jsonrpclib.jsonrpc.ProtocolError: (-32603, u'Server error:   File "src/electrum/lib/plugins.py", line 81, in load_plugin | RuntimeError: cmdline implementation for trustedcoin plugin not found')
2016-01-24 19:39:59 +09:00
ThomasV e5aa543707 fix #1622 2016-01-10 21:00:41 +01:00
ThomasV 62868ab29a Register loaded wallets in daemon, to prevent a wallet from being opened twice.
Simplify the wizard logic.
2016-01-06 00:58:43 +01:00
Neil Booth d63e754c67 Remove some unused hook infrastructure 2016-01-01 19:15:01 +09:00
ThomasV fb8f9e55ef Cleanup main script, with semantic changes:
The --offline flag applies only to GUI.
Commands must use the daemon if a daemon is running, otherwise they are run offline.
Commands that only require the wallet do not have the require_network flag.
2015-12-23 15:59:32 +01:00
ThomasV 93573282bf fix wallet saving 2015-12-23 15:23:33 +01:00
ThomasV acbe67fd1f separation between RPC and non-RPC commands. 2015-12-23 10:54:31 +01:00
Neil Booth e1c0298fc2 Write the wallet less often
This should speed up synchronization / restoration of large wallets.
Wallets are written only when they switch to up_to_date state, or
when stop_threads() is called when closing the daemon, or when
a command line command finishes.
2015-12-20 15:47:46 +09:00
ThomasV 23868d5769 commands that require wallet require daemon now 2015-12-15 10:39:25 +01:00
ThomasV 74a9e2296c separate Network and Plugins 2015-12-03 11:18:10 +01:00
ThomasV c7b1721f58 fix cmdline trezor 2015-12-01 12:00:18 +01:00
ThomasV 3c11c63289 fix daemon: don't oad wallet if there is a gui 2015-11-30 10:23:38 +01:00
ThomasV 4682d95a76 merge jsonrpc gui and daemon 2015-11-30 10:09:54 +01:00
ThomasV 39af17bc23 load wallets in daemon 2015-11-28 15:37:51 +01:00
ThomasV 00f298d3b1 revert e9c101f 2015-11-27 15:39:31 +01:00
ThomasV e9c101f0c8 daemon: use daemon threads 2015-11-27 09:54:01 +01:00
ThomasV d8ca881457 remove unused setting 2015-11-25 19:09:32 +01:00
ThomasV 1207ad3ba4 fix: websocket uses network object 2015-11-25 10:48:34 +01:00
ThomasV 2934fd17be fix websockets 2015-11-25 10:32:46 +01:00
ThomasV b727824eed fix #1554: use AF_INET instead of AF_UNIX, and write port number to lockfile 2015-11-19 12:42:11 +01:00
ThomasV 7641137ecc simplify get_daemon 2015-11-19 11:05:49 +01:00
ThomasV bb7b0884e3 Various fixes for command line. Make 'payto' command require network (fixes #1525) 2015-10-29 11:06:09 +01:00
ThomasV 079cb311ec call wallet.wait_until_synchronized before commands 2015-10-29 05:01:06 +01:00
ThomasV 826c44e500 restore initial indentation 2015-10-28 11:13:45 +01:00
ThomasV 142b5532ec revert to previous restore method, without daemon 2015-10-28 11:11:41 +01:00
ThomasV ca9eb50821 dont create wallet instance twice 2015-10-28 11:03:39 +01:00
ThomasV 5b96d5166e fix restore messages 2015-10-28 10:46:01 +01:00
ThomasV 052d8b236e fix #1494 2015-10-28 10:36:44 +01:00
ThomasV 94ac0db91f command line: Require 'text' argument for 'restore'. Replace 'concealed' option with ':' magic word 2015-10-28 09:33:35 +01:00
ThomasV 26682491b2 generic restore from command line 2015-10-27 14:33:41 +01:00
ThomasV 22575b9760 dont accept payment requests without uri 2015-10-23 11:20:32 +02:00
ThomasV 610ae91310 restore offline mode with gui 2015-10-16 23:46:53 +02:00
ThomasV a5e94ef0e8 kivy: use plugins 2015-10-13 12:12:49 +02:00
ThomasV f3bd1662f7 fix web request server. fixes #1455 2015-09-30 11:06:27 +02:00
ThomasV 52315fdb72 detect kivy from os.environ 2015-09-07 16:44:17 +02:00
Neil Booth b5f986ee56 Torwards sane signalling for exchange_rate plugin 2015-09-05 21:47:35 +09:00
ThomasV 3cc7c1454b move back URI rewriting to main electrum script 2015-09-03 11:18:35 +02:00
Neil Booth 87cff8e380 Check URI in "electrum" because of ambiguity 2015-09-03 18:07:15 +09:00
Neil Booth 27917af2bf Get URIs working properly for multiple windows 2015-09-03 17:52:41 +09:00
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.
2015-09-03 10:47:57 +02:00
ThomasV e3b7239d19 fix SocketPipe for returning empty array 2015-09-03 10:09:25 +02:00
Neil Booth 49797c3094 Create a Plugins class
Encapsulates plugin logic and removes global variable ugliness.
2015-09-03 12:02:03 +09:00
ThomasV bdb4d3ecb8 move methods calling installwizard to main gui class 2015-09-02 12:05:33 +02:00
ThomasV 93c468504e use the parent config instance when daemon starts a window 2015-09-02 09:55:45 +02:00
ThomasV ba2570b8aa check that GUI has new_window method 2015-09-01 10:25:20 +02:00
ThomasV 0e2db1e0ca don't try to open window if started in daemon mode 2015-09-01 10:17:55 +02:00
Neil Booth 2d05e7d891 Merge the network and network_proxy 2015-08-31 12:00:38 +09:00
ThomasV 8b7a8b1337 decode json args after sendind over socket 2015-08-30 17:46:51 +02:00
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
2015-08-30 11:31:51 +02:00
ThomasV 064f0b71e2 dns is used by android now 2015-08-18 12:36:12 +02:00
ThomasV f583fcfedb do not import dns on android 2015-08-18 12:15:56 +02:00
ThomasV 89677c47f7 cmdline: read all arguments before parsing 2015-08-17 09:46:50 +02:00
ThomasV fa9ce51685 deprecate dumpprivkeys 2015-08-16 16:30:55 +02:00
ThomasV 02e81a3655 read command line arguments from stdin if '-' is passed 2015-08-16 16:11:52 +02:00
ThomasV 65c7dfafbc check alias in signrequest 2015-08-07 09:00:00 +02:00
ThomasV 5ddafa8b14 rm tlslite import 2015-08-04 19:29:43 +02:00
ThomasV 77b0e7be5e network: initial status should be 'unknown', distinct from 'connecting' 2015-07-30 11:32:16 +02:00
ThomasV 35923f1df0 add dns to imports 2015-07-29 18:37:00 +02:00
ThomasV e2185da094 sleep to let socket threads timeout 2015-07-18 14:03:52 +02:00
Matt Tanous dac89e212c Update electrum 2015-07-06 18:15:22 -06:00
ThomasV 145bf5cf0a rename decodetx and sendtx commands. merge mktx and payto commands. 2015-06-10 23:21:25 +02:00
ThomasV 2863d19579 command-line handler for trezor 2015-06-10 22:08:19 +02:00
ThomasV ddef165e18 updates for android 2015-06-09 23:18:32 +02:00
ThomasV fbc68d94d6 pop config variables from cmd line 2015-06-07 17:45:13 +02:00
ThomasV 4726d3a1fc minor fix: var name 2015-06-02 14:17:14 +02:00
ThomasV b5435a16e8 fix auto_connect name displayed in status 2015-06-02 11:41:41 +02:00
ThomasV 088d8e8415 show request status 2015-06-02 11:36:06 +02:00
ThomasV e4946cf26e setconfig: return False on error 2015-06-02 11:05:21 +02:00
ThomasV e5b6b05482 show auto-connect in daemon status 2015-06-01 11:05:23 +02:00
ThomasV ddd6a58cc7 commands: extract params and options from arguments 2015-05-31 22:42:34 +02:00
ThomasV c4d822b0cf add 'unsigned' option 2015-05-31 17:38:57 +02:00
ThomasV ee20910c65 fix signtransaction flags 2015-05-31 17:21:02 +02:00
ThomasV 0caa29784c separate param_descriptions and improve help messages 2015-05-31 10:03:53 +02:00
ThomasV cc610d352f merge signtxwithwallet and signtxwithkey 2015-05-31 09:28:47 +02:00
ThomasV aa7f056d02 minor fix: sys.argv length 2015-05-31 08:36:12 +02:00
ThomasV 9acc0e4ed0 minor formatting 2015-05-31 08:06:20 +02:00
ThomasV 92a158b910 proper handling of arg_types. add more options for listaddresses 2015-05-30 18:49:58 +02:00
ThomasV bf98b547e1 fix bug in cmd.params 2015-05-30 17:09:17 +02:00
ThomasV d2f3e3f349 fix cmdline listcontacts 2015-05-30 12:35:58 +02:00
ThomasV 701527df20 fix -P option 2015-05-30 06:56:45 +02:00
ThomasV 3ddbbc1008 Parse arguments with argparse.
Move parser to commands.py
2015-05-29 19:24:50 +02:00
Neil Booth 39fe24b4d3 Rename auto_cycle to auto_connect in config
User config is updated if appropriate.
Add tests behaviour is as expected.
Just the one rename-it reference to auto_cycle remains.
2015-05-25 16:18:52 +09:00
Neil Booth 01d8f79a75 Clean up pick_random_server() and filter_protocol() and their
call sites.

Remove unused imports and redundant random pick of server
2015-05-24 21:07:35 +09:00
ThomasV d40c12c949 check gui when loading plugins 2015-05-24 09:26:28 +02:00
ThomasV 8f98ea4aca make plugins available without the GUI 2015-05-23 10:38:19 +02:00