Commit Graph

3008 Commits

Author SHA1 Message Date
ThomasV 16db27ffc0 wizard: remove run_wallet 2016-07-31 10:59:42 +02:00
ThomasV 2bb08aa280 fixes for install wizard 2016-07-30 15:04:15 +02:00
ThomasV f8c1bd1d3b wizard: multisig creation, let user go back to show their xpub 2016-07-30 08:19:29 +02:00
ThomasV 5a2ec73367 add RBF option to command line 2016-07-29 12:54:47 +02:00
ThomasV 8e219348e6 fix tx.is_final 2016-07-29 12:53:49 +02:00
ThomasV 566ed664d5 comment out hardware cosigning; not ready for release 2016-07-28 14:19:57 +02:00
ThomasV 67780bb8b9 changes for new toolchain 2016-07-28 13:06:58 +02:00
akshayaurora 07c5f02639 changes for new toolchain 2016-07-27 17:57:12 +02:00
ThomasV f061fe047d add lock to storage.write 2016-07-07 06:54:57 +02:00
ThomasV 824f86475e add get_master_public_key to all wallets 2016-07-01 17:46:11 +02:00
ThomasV 59825c913c follow up c6a46df158 2016-07-01 17:32:13 +02:00
ThomasV c6a46df158 fix issue #1853 2016-07-01 16:19:26 +02:00
ThomasV 342d6633a6 wizard: add capability to restore multisig 2016-07-01 11:44:26 +02:00
ThomasV 8ae1dc4d09 do not register unsupported wallet types, because they are proposed in the install wizard 2016-06-25 19:32:43 +02:00
ThomasV c313c3c340 remove forgotten imports and print statements 2016-06-24 23:14:41 +02:00
ThomasV e7d25faf02 Finish wizard unification 2016-06-24 23:02:54 +02:00
ThomasV 97dc130e26 fix: i18n in base_wizard 2016-06-20 13:30:54 +02:00
ThomasV 9182392b55 kivy: separate base wizard class from gui 2016-06-18 16:32:20 +02:00
ThomasV b6393cbdf2 display 'low fee' in tx dialog 2016-06-15 13:31:24 +02:00
ThomasV 7a1af24eda getprivatekeys: try load_json if we did not get an address 2016-06-11 16:55:19 +02:00
ThomasV 5661aabaa4 revert to daemon for interface code 2016-06-11 16:11:36 +02:00
ThomasV e7d1f59987 getmpk command: return only one key 2016-06-11 16:10:45 +02:00
ThomasV f5cfa28710 don't display generated addresses to stdout 2016-06-11 13:54:05 +02:00
ThomasV 9896718f09 get_tx_info: fix types 2016-06-09 18:10:13 +02:00
ThomasV 8886e5098a fix get_tx_info 2016-06-08 14:15:17 +02:00
ThomasV 5af7139598 kivy: handle 'verified' event 2016-06-08 12:55:42 +02:00
ThomasV 7f7aa97e2e tx dialog: fix confirmation time estimate 2016-06-08 11:22:58 +02:00
ThomasV b94a7920af factorize code used for tx dialogs 2016-06-08 11:06:51 +02:00
ThomasV f2d2d61894 add expected confirmation time to tx dialog 2016-06-07 17:12:31 +02:00
ThomasV a07a3f748e Qt GUI: let users type tx output in script language 2016-06-07 09:57:24 +02:00
ThomasV bbe7b277d2 call jnius.detach on thread stop 2016-06-04 12:59:01 +02:00
ThomasV 5f3b6af2e0 interface: do not use daemon threads 2016-06-04 12:58:49 +02:00
ThomasV 9da2076328 fix: relayfee is per kb 2016-06-04 09:33:26 +02:00
ThomasV 0843aaafb5 gat_wallet_delta: reverse sign of returned fee 2016-06-02 11:30:39 +02:00
ThomasV 79fbb5edce get_tx_delta: do not return fee if tx is not mine 2016-06-02 11:15:43 +02:00
ThomasV 403fbdd39e rename is_send -> is_mine 2016-06-02 10:40:16 +02:00
ThomasV 016d733c0f low_fee threshold 2016-06-01 05:41:08 +02:00
ThomasV 8e0d1f1e44 fix low_fee value 2016-06-01 05:39:29 +02:00
ThomasV db7467ef4e release notes for 2.7 2016-05-31 20:53:15 +02:00
ThomasV 2cf4795250 dynamic fees: define fee levels using expected confirmation times 2016-05-31 20:26:09 +02:00
ThomasV 599906eef6 show warning icon if unconfirmed tx has low fee. fixes 1798 2016-05-30 18:26:58 +02:00
ThomasV 076ecb2680 move get_status to synchronizer 2016-05-30 16:11:49 +02:00
ThomasV 8680eae86f detect dangling links 2016-05-30 10:53:52 +02:00
ThomasV 0e61408dfa add option to configure electrum_path 2016-05-30 08:58:10 +02:00
ThomasV 7a8635589b fix #1755 2016-05-30 07:57:46 +02:00
ThomasV 59d3910882 fix utxo_can_sign 2016-05-29 20:36:52 +02:00
ThomasV 1a46a795a5 detect non-final transactions, and transactions with unconfirmed inputs 2016-05-29 19:53:04 +02:00
ThomasV 2259b741f6 use address as key in contacts 2016-05-28 16:56:18 +02:00
ThomasV 0273936b07 Discretize fee levels (follow-up 3314b3a). Fixes #1753 2016-05-26 09:23:42 +02:00
ThomasV f01f931e83 add extra checkbox for RBF 2016-05-23 17:34:33 +02:00
ThomasV 18a2498b76 show UTXOs in address tab 2016-05-23 11:52:38 +02:00
ThomasV 85aa633269 simplify wizard handling of hardware wallets. fixes #1793 2016-05-21 18:43:41 +02:00
ThomasV 3314b3acc7 Use dynamic fees by default, show fee slider in send tab, and discretize fee levels. 2016-05-20 15:30:39 +02:00
ThomasV d83058e2e8 raise the maximum imposed on dynamic fees 2016-05-20 12:25:36 +02:00
ThomasV bc1bef60a0 support Replace-By-Fee in GUI 2016-05-20 10:38:48 +02:00
ThomasV 8c42c6d39f show certificate name in error popup 2016-05-19 11:07:21 +02:00
ThomasV 6b54459833 rename createrawtx -> serialize 2016-05-18 14:33:00 +02:00
ThomasV 461cbd357a support locktime 2016-05-18 11:58:27 +02:00
ThomasV ede1fbdb1f support non-final transactions (RBF) 2016-05-16 21:34:26 +02:00
ThomasV c6d74d9ff9 reformatting 2016-05-16 21:32:58 +02:00
ThomasV 31e9670502 make 'createrawtx' command not require wallet 2016-05-16 14:39:01 +02:00
Neil Booth db1aa13015 Permit empty passphrases when creating HW wallet
They used to be confused as a user cancel.
Fixes #1788
Also fix Cancel pressed in passphrase dialog when *restoring*
a hardware wallet in install wizard; it used to be taken as an
empty passphrase.  Like the password dialog it now cancels the
wizard.
2016-05-07 10:40:12 +09:00
ThomasV 10d26806d9 fix #1175 2016-04-29 12:52:27 +02:00
ThomasV e461ef4102 by default, always use English mnemonic 2016-04-12 20:08:16 +02:00
ThomasV 34a3af7ca3 don't display an error if the config file does not exist. assume it is JSON 2016-04-12 19:56:47 +02:00
ThomasV 7dbb23e8c6 replace sync command 2016-04-08 20:29:43 +02:00
ThomasV 1b07fb3d17 add 'offline' option only for 'restore' 2016-04-08 16:27:15 +02:00
ThomasV b39b3e3485 add 'sync' command 2016-04-08 16:14:39 +02:00
ThomasV caf2f321e0 follow up 4efa6cb24b 2016-04-08 12:49:21 +02:00
ThomasV 43c037cc10 follow-up 0ae04a6419 2016-04-08 10:43:55 +02:00
ThomasV 0ae04a6419 fix #1703 2016-04-08 10:34:54 +02:00
ThomasV c46357eeb3 version 2.6.4, release notes 2016-04-06 11:52:05 +02:00
ThomasV 9d12c7699f Merge pull request #1619 from MarcoPon/master
Added Blockchain URI (BIP 122) to block explorers list.
2016-04-06 10:45:17 +02:00
ThomasV 4efa6cb24b load default wallet in daemon (fix #1731) 2016-04-06 10:41:01 +02:00
ThomasV 94dbfe6791 fix #1728 2016-03-20 19:05:38 +01:00
ThomasV 753a28b452 set timeout to 30s for synchronous operations 2016-03-20 13:25:24 +01:00
ThomasV 5dfde10d30 version 2.6.3, release notes 2016-03-16 20:42:27 +01:00
ThomasV 0e3c3b59c8 fix bug #1715 2016-03-16 12:15:08 +01:00
ThomasV 9659e8542d fix transaction parsing from command line 2016-03-16 10:31:33 +01:00
ThomasV d88cceecae fix #1716: keypairs should be array not tuple 2016-03-12 10:39:50 +01:00
ThomasV a4903fbf90 remove while loop in getservers 2016-03-12 09:44:43 +01:00
ThomasV bca0f31fca coinchooser methods should not belong in wallet class 2016-03-10 16:37:45 +01:00
ThomasV d3a9af9e79 catch exception in interface.close 2016-03-10 15:38:24 +01:00
ThomasV 43b770fbf5 fix issue #1713 2016-03-10 15:06:03 +01:00
ThomasV a57274930b kivy's python-for-android can import stat 2016-03-10 10:39:47 +01:00
ThomasV f60c949911 storage: do not raise error if file is empty 2016-03-10 10:17:03 +01:00
Justin Turner Arthur 46907e97c1 Remove penalty_func from CoinChooserPrivacy that is later implemented/redefined.
Probably a copy pasta from the development process.
2016-03-09 14:22:28 -06:00
ThomasV 80b1b2716c kivy: open last wallet 2016-03-08 11:10:04 +01:00
ThomasV af780e7519 Default auto_connect to True. In Qt, the question is asked by the wizard 2016-03-08 10:00:47 +01:00
ThomasV 4c7bbb4e86 android: move wallet data to internal storage. 2016-03-08 08:10:38 +01:00
ThomasV 4b4b6efb35 bump version number 2016-03-07 06:42:02 +01:00
ThomasV a0b861cd8f fix bug in interface.get_responses 2016-03-05 12:37:11 +01:00
ThomasV 94664566e7 kivy: fix watching-only issue 2016-03-05 04:34:13 +01:00
ThomasV d58ec9a570 kivy: support old-type seed phrases in wizard 2016-03-01 20:23:30 +01:00
ThomasV 40281a3193 restore 'help' command for the python console 2016-02-29 09:59:45 +01:00
ThomasV aafcb352bc release notes 2.5.1 (bugfixes) 2016-02-28 11:33:44 +01:00
ThomasV 76bf8085fd fix #1688 2016-02-28 05:18:50 +01:00
ThomasV 9cd4acafcc update broadcast command, with timeout 2016-02-25 10:55:37 +01:00
ThomasV 54df0b2845 follow up previous commit 2016-02-25 08:59:02 +01:00
ThomasV 96f144eb03 make sure the broadcast tx thread always times out 2016-02-25 08:55:06 +01:00
ThomasV f1d170cbc9 Merge branch 'master' of git://github.com/spesmilo/electrum 2016-02-24 16:58:09 +01:00
ThomasV 73822e8ec2 fix: pass cwd with config_options 2016-02-24 16:57:58 +01:00
Neil Booth cc4ec4c34e Add BTC.com block explorer. 2016-02-25 00:31:24 +09:00
ThomasV 305843999e Relicensing 2016-02-24 10:20:30 +01:00
ThomasV b53a54cded remove bmp.py; use Qt instead 2016-02-23 15:27:00 +01:00
ThomasV ee18caa022 update pem.py to use ASN1_Node class 2016-02-23 12:52:55 +01:00
ThomasV 10701d72c9 New class for decoding asn1 structures 2016-02-23 12:33:03 +01:00
ThomasV f97fdf3ba8 labels plugin: use get_fingerprint 2016-02-22 15:44:31 +01:00
ThomasV d8dfa62af8 more intuitive debug message 2016-02-21 18:15:25 +01:00
ThomasV bd5effb1b8 follow up 6f72fa4 2016-02-21 17:46:56 +01:00
ThomasV 6f72fa4e94 try to fix issue #1682 2016-02-21 17:42:33 +01:00
ThomasV c10a1672da update index.html for requests that do not expire 2016-02-19 14:08:28 +01:00
ThomasV c2db006c86 addrequest: do not set expiration date by default 2016-02-19 13:58:05 +01:00
ThomasV 41f6fec2ac kivy: set_paid for paid invoices 2016-02-19 13:53:01 +01:00
ThomasV fd0e5739e2 kivy: disable amount and description buttons if payment request is signed 2016-02-18 15:40:13 +01:00
ThomasV fbfb75eaa1 kivy: use scrollview for invoice dialog 2016-02-17 17:42:54 +01:00
ThomasV 74c9a05757 kivy: add OutputList class 2016-02-17 11:40:05 +01:00
ThomasV 774bdcde73 fix test_parse_URI 2016-02-16 10:28:40 +01:00
ThomasV 04c7d2b455 add 'donate to server' menu item 2016-02-15 16:17:07 +01:00
ThomasV 4dd479cf59 server_is_lagging: return True if no height 2016-02-15 15:58:08 +01:00
ThomasV d56ec05b9b kivy: show payment request details 2016-02-15 13:49:33 +01:00
ThomasV a7d3175799 replace semantically relevant instances of 'assert' with exceptions 2016-02-15 09:33:38 +01:00
ThomasV 83c68142e0 kivy wizard: add space button 2016-02-15 09:14:27 +01:00
ThomasV a1ef7c4bb6 get_sorted_request: sort by address index, not by timestamp 2016-02-15 08:23:34 +01:00
ThomasV b7c4492d3b get_request_status: return PR_UNKNOWN if request is unknown 2016-02-15 04:59:20 +01:00
ThomasV dcc59d6f70 rm unused PR state 2016-02-15 04:58:35 +01:00
ThomasV 656069070a kivy wizard: use own soft keyboard 2016-02-13 15:10:17 +01:00
ThomasV 950f3ae633 parse_uri: don't use assert 2016-02-13 15:09:42 +01:00
ThomasV ff7bdc1f38 paymentrequest.py: return No Signature 2016-02-13 11:00:00 +01:00
ThomasV 2955fd1a8c allow unsigned payment requests 2016-02-12 12:01:13 +01:00
Neil Booth 535956149a trezor: single passphrase entry
Only require the user to input the passphrase once, unless creating
a wallet.
Should they mis-enter the passphrase, they will be warned Electrum
couldn't pair the device, and when they actually need to use it
they will be prompted again.
Fixes #1672
2016-02-11 19:54:55 +09:00
Neil Booth 34e8c0e1ed plugins: give traceback when cannot load 2016-02-11 19:16:49 +09:00
Neil Booth 5f28834bb2 Trezor: session timeout improvements
Move session timeout from wallet to config
Prevent timeouts whenever a device operation is in progress
Move timeout job from each plugin to device manager
2016-02-10 21:59:41 +09:00
ThomasV 078cabd745 kivy: store contacts as invoices 2016-02-09 12:48:25 +01:00
Neil Booth b54ba556bc Wallet: encapsulate wallet_types
Previously plugins would append lines to it and wizard.py would
hack into it too.
2016-02-08 22:32:49 +09:00
Neil Booth 9490debf0f hw_wallet: don't make watching only if cannot pair
Instead issue a warning.  Being watching-only disables
various functionality that should instead just ask again
for the PIN to be input.
2016-02-07 17:38:34 +09:00
ThomasV 6ccb1dd207 rm unneeded files 2016-02-06 16:35:21 +01:00
Neil Booth 16397b1ed7 trezor: more user friendly when cannot connect
Tell the user and ask if they want to try again.  If they
say no, raise a silent exception.  Apply this more friendly
behaviour to the install wizard too (see issue #1668).
2016-02-06 19:51:39 +09:00
Neil Booth 317e6cea32 Multisig: revert part of "reformatting"
Broken by fe9ec6de06
2016-02-06 18:02:21 +09:00
Neil Booth 828320c1af trezor: provide a default interface number. 2016-02-06 14:37:38 +09:00
ThomasV fab001833f rm print debug statement 2016-02-03 11:02:17 +01:00
ThomasV 8b68a742d1 follow up to 2a507b91c1 2016-02-03 11:01:36 +01:00
ThomasV 2a507b91c1 fix #1666 2016-02-03 10:29:31 +01:00
ThomasV 3ee61c4c6e define wallet.dummy_address method 2016-02-02 19:56:34 +01:00
ThomasV eb36884c66 move estimate_fee back to wallet 2016-02-02 12:26:28 +01:00
ThomasV 0b54ed0243 follow up 0d52911561 2016-02-02 07:18:18 +01:00
ThomasV ddc1869551 disambiguate types returned by get_fd_or_server 2016-02-01 13:10:01 +01:00
ThomasV 690c862923 move static methods away from daemon class; restore initial logic 2016-02-01 10:20:22 +01:00
ThomasV 3b00f62d46 remove another unnecessary static method 2016-02-01 09:25:57 +01:00
ThomasV 1c83c3e060 do not declare pointless static methods 2016-02-01 09:12:53 +01:00
ThomasV 56c7d4139e fix: Daemon.get_server 2016-02-01 09:02:57 +01:00
Neil Booth e61fffab55 Trezor/KeepKey: force watching only improvements
Only warn about watching only once given a chance to pair.
Failure to pair makes watching-only and warns.
In error message to user, distinguish between failure to connect
and failure to pair.
2016-01-31 19:36:21 +09:00
Neil Booth abaf1bc6dc daemon: remove two unneeded member vars 2016-01-31 18:03:50 +09:00
Neil Booth a90c935758 Remove unreachable code 2016-01-31 14:53:25 +09:00
Neil Booth 788ab520ea Remove dead code from prior 2016-01-31 14:48:57 +09:00
Neil Booth e6020975a5 daemon: prevent races by opening with O_EXCL
Rework the way the daemon and server are created.  If we might
want to create a daemon, try to grab the lockfile with O_EXCL.
If we got it, create a server and daemon, otherwise try and
connect to the server.  If connecting to the server fails (including
after sleeping a little in case the server was recently created),
remove the lockfile and start over.

Other fix: shut down network gracefully on daemon exit.

Fixes #1638
2016-01-31 14:46:03 +09:00
Neil Booth f91f03b3d4 daemon: fix long-standing bug in status request
Gracefully handle a status request when self.network is None
2016-01-31 11:50:44 +09:00
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 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
Neil Booth 412e2a8d2c Create is_pairable() function and use it.
Fixes #1653.
2016-01-29 19:26:05 +09:00
ThomasV a04b510395 fix: don't chmod config file on android 2016-01-28 14:43:12 +01:00
Neil Booth bf942b5259 Trezor: another place needs client handler set 2016-01-27 21:27:51 +09:00
ThomasV 963dcf0c6b rm test_ripemd 2016-01-26 15:48:34 +01:00
ThomasV 56c4a8746f remove python implementation of ripemd160 2016-01-26 15:18:28 +01:00
ThomasV fe9ec6de06 reformatting 2016-01-26 13:51:47 +01:00
ThomasV 9b09c55356 dynamic fees: use hardcoded value as upper bound 2016-01-25 16:46:50 +01:00
Neil Booth 268dcbcac5 Trezor: multi-device window parenting fix 2016-01-24 23:18:41 +09: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 80e15577b5 Update comment 2016-01-24 19:45:13 +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
Neil Booth f4fa53e915 Trezor: fixes for latest libtrezor
We were relying on internals of libtrezor that they just
changed.  However their changes don't work on Mac either.
Work around both issues.  I think this...

Fixes #1637
2016-01-24 14:33:21 +09:00
Neil Booth f8ed7b058d Improved multi-device handling
Ask user which device to use when there are many.  If there
is only one skip the question.  We used to just pick the
first one we found; user had no way to switch.

We have to handle querying from the non-GUI thread.
2016-01-24 13:41:03 +09:00
Neil Booth a0ef42d572 Fix typo causing change address reuse 2016-01-24 11:16:05 +09:00
Neil Booth 97bc1b2788 Don't split small change 2016-01-23 22:10:25 +09:00
Neil Booth efa1efedca Hardware wallets: limit change outputs to 1 2016-01-23 22:05:08 +09:00
Neil Booth 9729f5b6d3 get_account_addresses: None->all user-visible a/cs
Otherwise we can end up sweeping to a non-visible address.
2016-01-23 18:07:02 +09:00
Neil Booth 83a531b3e4 Revert "Sweep keys: don't default to hidden address"
This reverts commit 605cc47a3d.
2016-01-23 17:32:43 +09:00
Neil Booth 605cc47a3d Sweep keys: don't default to hidden address
The issue is electrum uses None as the current account
to mean the default account.  This just gave rise to
all addresses being listed including in hidden accounts.

Really "None" as used in main_window.py and history_widget.py
means "a single unspecified account" not "all accounts".

So implement the idea of a default account, and don't let
a hidden account be the default one.
2016-01-23 17:17:10 +09:00
Neil Booth 618026f96c Installwizard: tweak hardware wallet handling 2016-01-22 22:16:58 +09:00
Neil Booth 0d14781463 Trezor: GUI fixes
Trezor window was doing GUI stuff outside the GUI thread
2016-01-21 23:33:15 +09:00
Neil Booth 24037be99c Clean up client caching and handling 2016-01-21 22:56:53 +09:00
ThomasV 858b9c5655 kivy: improve settings dialog 2016-01-21 12:12:55 +01:00
Neil Booth b878c010da Minikey: minimum length 20
On second thoughts there seems little reason to accept text
of length <= 20 for minikeys.
2016-01-21 08:11:50 +09:00
Neil Booth f7859c041e Support Casascius minikeys 2016-01-19 22:00:16 +09:00
Neil Booth eebabdf209 Merge branch 'client_thread' 2016-01-19 21:01:46 +09:00
ThomasV 4122c108fc plugins: enable & disable methods 2016-01-19 10:03:05 +01:00
Neil Booth 06c262d0dc TrezorClient: should be in a separate thread
First steps; get show_address working.
Client is not responsible for showing exceptions.
Suppress uninteresting exceptions.
2016-01-18 07:33:04 +09:00
ThomasV d200b236ae replace tx.input, tx.output by methods, so that deserialize calls are encapsulated 2016-01-17 15:04:11 +01:00
ThomasV 321ab10742 detect RBF transactions 2016-01-17 14:28:17 +01:00
ThomasV bd94bb31db Merge branch 'master' of git://github.com/spesmilo/electrum 2016-01-16 15:05:59 +01:00
ThomasV 4f0631d78d don't use assert is is_xprv (weird kivy bug) 2016-01-16 15:05:29 +01:00
Neil Booth 371f8d6dc3 network: gracefully handle EINTR in select syscall 2016-01-16 21:14:14 +09:00
Neil Booth f1bb3e846d Remove unused import 2016-01-16 19:03:06 +09:00
Neil Booth 15707b5590 Coin chooser: use deterministic randomness 2016-01-16 18:55:50 +09:00
ThomasV abdb7f8470 fix tests 2016-01-15 18:14:06 +01:00
ThomasV 3b10bd8307 follow up eb085c2e23 2016-01-15 09:10:04 +01:00
ThomasV eb085c2e23 Clarify preferences dialog:
* rename 'Oldest First' policy as Priority
 * show multiple change and fee multiplier on separate lines
2016-01-15 09:02:03 +01:00
Neil Booth 6bf91b8ae2 Update comments and tooltips. 2016-01-15 15:25:01 +09:00
Neil Booth 53fa973898 Move change_amounts() to base class.
Update tooltip of the preference.
2016-01-15 15:21:25 +09:00
Neil Booth 641f23229d Add multiple change output preference
Limit to 3 if enabled.
2016-01-15 14:54:26 +09:00
ThomasV 0d52911561 define constants for tx output types 2016-01-14 17:15:50 +01:00
ThomasV da8fce1914 if available, use relayfee from server instead of hard coded value 2016-01-14 16:06:22 +01:00
ThomasV 0464a1a6b0 remove gtk gui 2016-01-13 15:29:04 +01:00
ThomasV 388ed01d0f fix start_threads in wizard 2016-01-13 15:02:58 +01:00
Neil Booth 889c4cb7fb Multisig: create and restore work
Override run in derived class to catch UserCancelled again
Restore self.finished() hook.
Fix a typo.
2016-01-13 22:38:32 +09:00
ThomasV 2f6e2ebcd2 test if wizard is needed in daemon 2016-01-13 14:30:09 +01:00
Neil Booth 9390a97e9e Bring the network dialog into the new framework 2016-01-13 21:11:06 +09:00
Neil Booth 4c9b224d4c Put open_wallet back as class method. 2016-01-13 20:56:44 +09:00
ThomasV ef1f649d58 fix missing parameter 2016-01-13 11:31:23 +01:00
ThomasV 632905dfbe instantiate wizard only if needed 2016-01-13 11:27:17 +01:00
ThomasV 58fe42cea2 revert commit 4ba4611599 for relicencing 2016-01-12 09:35:45 +01:00
Neil Booth 1ec3ad59cc Ledger: get new wallet creation working again
This is enough to get new wallet creation working in the
absence of errors.
2016-01-11 14:23:35 +09:00
Neil Booth b120dd8849 Fix root derivation changes for BIP44_Wallets
Wallet keys use root_name
Also typo xub -> xpub
2016-01-11 11:39:56 +09:00
Neil Booth 384b8cd5f2 Install wizard: simplify create_or_restore
- Use ChoiceLayout to organize the layouts
- Do wallet filtering in wizard.py as it's GUI independent.
- Only pass the descriptions.
2016-01-10 23:00:59 +09:00
ThomasV c47e3499ce rename wallet methods 2016-01-10 12:56:15 +01:00
Neil Booth 450ab76f78 Fix install wizard
Used to pass the wallet as an argument to wallet methods.
2016-01-10 20:44:20 +09:00
Neil Booth cda92cd12c Move cosigner methods to BIP32_RD_Wallet 2016-01-10 20:37:22 +09:00
Neil Booth 637164d335 Introduce BIP32_RD_Wallet
Represents a BIP_32 wallet with a root derivation.
This permits us to see address derivation for NewWallet types
in the QT Gui.
2016-01-10 20:20:04 +09:00
Neil Booth 3d781a2d1b BIP32_HD_Wallet: Fix address derivation
Unfortunately there was root_name and root_derivation confusion
in the past for classes derived from BIP_32_HD_Wallet.
Address derivation used root_name and so would begin with 'x/'
whereas it should have begun with root_derivation, and so started
with 'm/'.

This fixes that old wart and removes some fudges from the trezor
code that used to work around it.
2016-01-10 20:06:13 +09:00
Neil Booth 4743f033b4 Fix the backwards-compat 'next_account2' code 2016-01-10 19:26:17 +09:00
Neil Booth 5baa5feb11 Put restore_wallet_class back in the derived classes 2016-01-10 18:41:20 +09:00
Neil Booth 9946feb352 Have BTChipWallet derive from BIP44_Wallet
Narrowing the gap with the Trezor code a bit
2016-01-10 17:38:39 +09:00
Neil Booth 81d641a13f Show BIP32 path for BIP32_HD_Wallet classes
from right-click Show Public Keys menu.

Fixes #1598
2016-01-10 14:53:00 +09:00
ThomasV 9ad4d63ad1 wizard: small tweaks, fix show_restore 2016-01-09 10:35:10 +01:00
Neil Booth 2f1d6b2379 Have Trezor dialog work even if wallet unpaired
Required cleanup of handler logic.  Now every client
is constructed with a handler, so there is never a
question of not having one.
2016-01-09 17:15:31 +09:00
Neil Booth 3e8598c245 Move trezor-specific install wizard code to plugin 2016-01-09 15:21:38 +09:00
Marco Pontello 065f6aa370 Added Blockchain URI (BIP 122) to block explorers list. 2016-01-08 20:23:17 +01:00
ThomasV 6acbe4226e don't open wizard window if no action was required 2016-01-08 13:44:59 +01:00
ThomasV d867fcc266 update create_main_account in tests 2016-01-07 01:02:44 +01:00
ThomasV 5915b9b7e1 restore action-driven wizard logic 2016-01-07 00:55:23 +01:00
ThomasV 90a2fc1379 Revert "Fix MultiSig wallet creation."
This reverts commit 21038843ea.
2016-01-07 00:46:34 +01:00
Neil Booth 6fb7dbd30d Implement passphrase protection toggling.
Along with chicken box.
2016-01-06 23:08:02 +09:00
Neil Booth 9b29c6c2e6 Trezor: all four available device initializations
Trezor and KeepKey devices can now be initialized by:
- device-generated seed
- existing seed
- BIP39 mnemonic
- master private key
2016-01-06 22:18:56 +09:00
ThomasV bdb4782b36 Revert "Install wizard multisig improvement"
This reverts commit 4e7c6e5d16.
That commit breaks the separation between make_seed and add_cosigners
2016-01-06 12:01:25 +01:00
Neil Booth 4e7c6e5d16 Install wizard multisig improvement
Preserves independence of wizard.py from wallet type;
the dependence is expressed entirely through actions

Fixes #1611
2016-01-06 19:31:12 +09: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 3d9f321cae Use a shared device manager
Use a shared device manager across USB devices (not yet taken
advantage of by ledger).  This reduces USB scans and abstracts
device management cleanly.

We no longer scan at regular intervals in a background thread.
2016-01-06 07:56:58 +09:00
Neil Booth 21038843ea Fix MultiSig wallet creation.
Fixes #1603
2016-01-05 21:22:43 +09:00
ThomasV bd309cff49 restore default labels 2016-01-04 15:40:57 +01:00
Neil Booth 87363c8301 Trezor: Implement resetting a device 2016-01-03 13:34:03 +09:00
Neil Booth f3e6bf0280 Passphrase-related fixes
Move normalize code to one place on the wallet
Passphrases don't have password strength meter
2016-01-03 09:03:07 +09:00
Neil Booth ff39333d32 Not all wallets have plugins 2016-01-02 20:47:04 +09:00
Neil Booth 21bf5a8a84 Better support for USB devices
Benefits of this rewrite include:

- support of disconnecting / reconnecting a device without having
  to close the wallet, even in a different USB socket
- support of multiple keepkey / trezor devices, both during wallet
  creation and general use
- wallet is watching-only dynamically according to whether the
  associated device is currently plugged in or not
2016-01-02 20:39:29 +09:00
Neil Booth dbf154d5f2 Finish moving the multisig regex to one place 2016-01-02 00:39:44 +09:00
Neil Booth 12f62212ba Move wallet_kinds to the base class
This logic isn't gui-dependent so belongs in wizard.py
2016-01-02 00:35:09 +09:00
Neil Booth 1d07960290 Remove constructor method of plugins
Clean up wallet class loading.
2016-01-02 00:16:15 +09:00