Commit Graph

255 Commits

Author SHA1 Message Date
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
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
1ffc14df76 Force OK button to be default
Until we work out the right way to use the stacked dialogs.
2016-01-03 20:09:05 +09:00
Neil Booth
87363c8301 Trezor: Implement resetting a device 2016-01-03 13:34:03 +09:00
Neil Booth
40ae744c1e Fix show_error inheritance issue 2016-01-03 11:18:20 +09:00
Neil Booth
6e660f562f Change inheritance order in installwizard.py
Also put back set_layout.  This is causing two things:

a) on MacOSX the next / cancel buttons vanish if in one position
b) on all O/Ses the Next button is not the default

We're obviously abusing StackedLayout in an unintended way.
2016-01-03 10:39:44 +09:00
Neil Booth
a7028176cd Trezor: Add wipe device functionality
Also add a chicken box for PIN removal.
2016-01-03 10:26:34 +09:00
Neil Booth
9aae66a9d2 Move set_layout call
This code is identical to before, but for some reason the positioning
of this affects whether Next is the default action or not!

And it didn't have that effect with the old install wizard.  Odd.
2016-01-03 09:32:41 +09:00
Neil Booth
3422d855c9 A few small fixes 2016-01-02 23:06:53 +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
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
11d135b32d Better install wizard
Break out the workflow logic of the install wizard
into a base class.  This means reimplementing with
full support in a new GUI is now easy; you just provide
ways to request passwords, show messages etc.  The API
is fully documented in the base class.

There are a couple of minor outstanding issues, including that
the old messages shown when recovering a wallet are missing.
I will come back to that.  Ledger wallet might be broken.

Other improvements:

The install wizard code is now easy to follow and understand.
Hardware wallets can now be restored without any need for their
accompanying libraries.
Various bits of trustedcoin were broken and have been fixed.
Many plugin hooks can be removed.  I have only started on this.
2016-01-01 16:48:18 +09:00
Neil Booth
3df8d11f1a Pass the gui object to the install wizard 2015-12-31 12:09:23 +09:00
Neil Booth
0ecf2565ce MessageBoxMixin-related cleanup 2015-12-23 20:05:09 +09:00
Neil Booth
37b474716b Window modality fixes + improved password dialog 2015-12-23 17:32:08 +09:00
Neil Booth
62201b37f5 MacOSX fix
If these lines are the other way round, the buttons don't appear
on MacOSX!
2015-12-23 15:23:35 +09:00
Neil Booth
15e9991e2a Move message box logic to a mixin 2015-12-23 15:10:15 +09:00
Neil Booth
5c1828e03d Install wizard -> window-modal, fix missing import 2015-12-22 22:18:59 +09: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
e9ee851bb2 fix: set auto_connect in installwizard 2015-12-03 23:50:50 +01:00
ThomasV
4a7c7a6616 installwizard: do not start in offline mode when disconnected (fix #1531) 2015-11-02 12:58:47 +01:00
ThomasV
77d6ee74f9 revert PR #1492. clear clipboard instead 2015-10-31 11:48:37 +01:00
ThomasV
b1ab49a282 Merge pull request #1492 from ctrlcctrlv/uncopyable-seed
Make seed uncopyable
2015-10-31 10:59:19 +01:00
ThomasV
079cb311ec call wallet.wait_until_synchronized before commands 2015-10-29 05:01:06 +01:00
ThomasV
052d8b236e fix #1494 2015-10-28 10:36:44 +01:00
ThomasV
26682491b2 generic restore from command line 2015-10-27 14:33:41 +01:00
Fredrick Brennan
7685758360 Make it so uncopyable seed only affects wizard
Previously it also affected the menu item Wallet->Seed, which is not the
expected or desired behavior.
2015-10-19 13:27:15 +08:00
ThomasV
de92f1c98f fix #1488: add formerly deleted method 2015-10-17 20:53:33 +02:00
Neil Booth
5071d75912 Clean up install wizard a little
Also fixes #1462
2015-09-26 17:19:42 +09:00
Neil Booth
34ce6d1821 Updates for exchange_rate plugin
Have AmountEdit return an int if is_int, otherwise a Decimal
Set the tray tooltip unconditionally.
More verbose logging for exchage_rate plugin.
Get rate_float from Coindesk as rate can have commas.
Plugin tracks windows itself, and doesn't create its own
members in the window objects.
Clean up the edit handling.
2015-09-06 13:42:40 +09:00
ThomasV
992c70a688 detect available hardware wallets before listing them in wizard 2015-09-02 13:08:06 +02:00
ThomasV
bdb4d3ecb8 move methods calling installwizard to main gui class 2015-09-02 12:05:33 +02:00
kizmc
77ebea15d0 Fixed GroupBox layout in installwizard 2015-08-26 18:35:21 +02:00
ThomasV
aedfbd3855 start wizard from main_window. fixes #1250 2015-08-22 13:43:10 +02:00
ThomasV
1919d5d63c fix wizard: remove vbox0, improve text 2015-06-28 08:52:16 +02:00
Michael Wozniak
4338944e3a remove unnecessary lines 2015-06-27 18:49:21 -04:00
Michael Wozniak
b7ea10609c add seed scroll for multisig wallets 2015-06-27 18:47:25 -04:00
Michael Wozniak
523aa7c380 update restore multisig to add type 2015-06-27 16:12:15 -04:00
ThomasV
56b3c98332 generic m of n multisig 2015-06-27 12:43:29 +02:00
ThomasV
179e98b303 restore: call constructor to load plugin 2015-06-11 09:56:38 +02:00
ThomasV
5ffd26402e separate load_wallet hook for installwizard 2015-06-11 09:36:19 +02:00
ThomasV
060e3aa23e plugins: call load_wallet in install wizard 2015-06-10 12:40:08 +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
ThomasV
59a9e4f710 fix new_wallet and seed language 2015-05-10 08:31:31 +02:00
ThomasV
8689807400 add file button to text edits 2015-04-24 09:10:03 +02:00
ThomasV
eff977081d add file reader to QRTextEdit, to facilitate key imports 2015-04-24 00:14:21 +02:00
ThomasV
8251c5b6d9 fix #1057 2015-04-20 10:33:32 +02:00
ThomasV
21b2fcbe85 always_hook. fix trezor handler. fixes #1146 2015-04-18 14:59:46 +02:00
ThomasV
8f94039355 call set_layout before adding buttons, so that setDefault works 2015-04-17 13:13:35 +02:00
ThomasV
a3422d3fae generic multisig wallet constructor. fixes #1129 2015-04-03 11:27:57 +02:00
ThomasV
1be26dbf06 fix init error from issue #1102 2015-03-23 08:09:08 +01:00
Andy Christianson
c72531fa6a added support for restoring multisig wallets from BIP32 private keys 2015-03-19 20:55:03 -04:00
ThomasV
01cfb8f8f1 new Button widgets 2015-03-14 12:28:19 +01:00
ThomasV
2ea25fbb17 clarify the 'restore' message 2015-03-08 09:14:11 +01:00
ThomasV
6ececd500d add show in set_layout 2015-03-08 08:07:30 +01:00
ThomasV
50c6a2fcbd show wallet name in wizard 2015-02-02 18:38:12 +01:00
ThomasV
97c57996b8 cleanup 2015-02-02 15:12:27 +01:00
ThomasV
6050e4d549 fix QRcode widget in multisig wallet wizard 2015-02-02 13:54:03 +01:00
ThomasV
894a09e164 better message: restore or import 2015-01-23 12:39:29 +01:00
ThomasV
84fc4574d6 add password when creating imported wallet 2015-01-23 00:06:17 +01:00
ThomasV
9f9bab6cf0 fix issue #968 2014-12-31 19:21:54 +01:00
ThomasV
34dbeeafc8 fix calls broken by 256a467dd7 2014-11-11 00:09:22 +01:00
Tafelpoot
256a467dd7 QR code fixes
New classes ScanQRTextEdit and ShowQRTextEdit.
Reason: dependencies on zbar availability and issues with the QRTextEdit constructor.
- ScanQRTextEdit needs access to the config (fetch camera). It needs to load
the zbar processor properly before trying to scan. Keeping a reference to
the processor in qrscaner fixes the crashes on windows.
- ShowQRTextEdit should not have access to scan_qr().
- no need to setReadOnly anymore. It is clear from the class name.

Show master pub keys now has a Combobox if multiple accounts are
available.
2014-10-24 15:45:10 +02:00
Tafelpoot
d9c5250a6f removed trailing whitespace and fixed indentation in history widget 2014-10-21 19:05:51 +02:00
ThomasV
fde5dd577a fix #849 2014-09-19 20:23:24 +02:00
ThomasV
11e7a6644e do not store wallet_type right at the first screen 2014-09-19 14:30:16 +02:00
ThomasV
cef75e9e7b new seed_version: remove whitespaces only between CJK characters 2014-09-13 19:31:05 +02:00
ThomasV
d8cc54fbed verify_seed: pass function 2014-09-11 10:43:14 +02:00
ThomasV
6361abaf4d extended seed prefix 2014-09-09 11:51:45 +02:00
ThomasV
65fd4f45e3 spelling 2014-09-05 17:25:15 +02:00
ThomasV
bc1ae4fe94 filter wallet types 2014-09-05 16:41:51 +02:00
ThomasV
622fb6c08b add wallet categories 2014-09-05 16:28:53 +02:00
ThomasV
34cb1f6620 simplify install wizard 2014-09-05 16:14:40 +02:00
ThomasV
79588eb4da init plugins before gui. register wallet types in plugin constructor 2014-08-31 15:33:20 +02:00
ThomasV
c7f667e2ed separate add_seed from create_master_keys 2014-08-29 14:11:59 +02:00
ThomasV
f643c3b44a fix: connection preferences were overwritten by wizard 2014-08-27 14:01:05 +02:00
ThomasV
c130ff6715 fix plugin restore: wallet_type 2014-08-26 17:58:17 +02:00
ThomasV
744eee6858 wizard integration 2014-08-26 16:23:24 +02:00
ThomasV
3835751fac bugfix 2014-08-22 17:29:44 +02:00
ThomasV
91723999aa add_cosigner_seed 2014-08-22 17:22:08 +02:00
ThomasV
2d3df982eb fix wizard 2014-08-21 19:13:26 +02:00
ThomasV
2c1bf7ca95 wizard: change order 2014-08-21 18:24:47 +02:00
ThomasV
4e9408d917 wizard: we still want to store wallet type on creation 2014-08-21 18:24:47 +02:00
ThomasV
edb5552a31 don't store wallet_type in wizard; refactoring 2014-08-21 18:24:47 +02:00
ThomasV
58e1dd2a24 update trezor plugin 2014-08-21 18:24:47 +02:00
ThomasV
f4b390a79f bip44 2014-08-21 18:24:47 +02:00
ThomasV
57e50ee326 handle exceptions raised if trezor is not found 2014-08-19 11:03:24 +02:00
ThomasV
448d2eb548 wizard restore: abort if wallet is None 2014-07-12 19:41:57 +02:00
Michael Wozniak
295a71173c fix spacing for indent 2014-07-11 10:47:06 -04:00
ThomasV
c329a03757 wizard restore hook 2014-07-10 21:49:55 +02:00
ThomasV
cd4c8335b0 wizard: ask for password earlier during restore 2014-07-06 01:49:22 +02:00
ThomasV
2c38e85a50 better integration of plugins in installwizard (for 2fa, trezor plugins) 2014-07-01 18:46:11 +02:00
ThomasV
54973062bd restore from xprv 2014-06-25 16:45:55 +02:00
ThomasV
84b8b6d73d message: cosigner wallet 2014-06-22 13:26:02 +02:00
ThomasV
5f8c04cd56 wizard: set next button default 2014-06-13 13:48:36 +02:00
ThomasV
c4d10f6d63 fix: wizard 2of2 (cosigning key) 2014-06-02 22:25:32 +02:00
ThomasV
ed48588d8a fix: wizard 2of2 2014-06-02 21:54:53 +02:00
Michael Wozniak
9fcc8703e8 show/raise install dialog
make sure install dialog doesn't show up behind other windows when
electrum is started
2014-05-26 12:59:05 -04:00
ThomasV
a66df2a3fa multi seed and mpk dialogs 2014-05-12 10:53:04 +02:00
ThomasV
c3f0f69f1e add clickable label to show/hide advanced wallet types 2014-05-09 17:31:29 +02:00
ThomasV
0fb6cdcb1a add 2of3 wallets in wizard 2014-05-09 16:27:12 +02:00
ThomasV
8558488337 fix name 2014-05-09 13:52:49 +02:00
ThomasV
f178faf03b wizard: simplify multisig creation 2014-05-09 13:49:05 +02:00
ThomasV
13c3422386 merge screens of the install wizard 2014-05-09 13:12:07 +02:00
ThomasV
9196e9feea messages for enter_seed 2014-04-29 21:19:42 +02:00
ThomasV
582fb76e9e new class: Imported_Wallet 2014-04-29 21:04:16 +02:00
ThomasV
029f33a47c minor fix for restore dialog 2014-04-29 19:33:42 +02:00
ThomasV
5d68ce4f22 wizard: option to create multisig wallet manually 2014-04-29 11:45:39 +02:00
ThomasV
70a638a7c3 more robust install wizard 2014-04-28 17:30:48 +02:00
ThomasV
bac2c8175c optional icon in installwizard question 2014-04-28 16:06:59 +02:00
ThomasV
f4817d771f add layout before creating buttons, so that default button is set 2014-04-28 15:50:31 +02:00
ThomasV
6d75ca795b add_seed 2014-04-28 14:58:43 +02:00
ThomasV
0c100c1480 add_cold_seed 2014-04-25 17:51:41 +02:00
ThomasV
c0535634fd fix: do not lower xpub 2014-04-22 15:49:32 +02:00
ThomasV
671b1574b3 more robust get_seed_text 2014-04-22 15:12:36 +02:00
ThomasV
5d9b9492e1 abstract and improve seed and key methods 2014-04-21 22:09:15 +02:00
ThomasV
41f9da1559 fix #655 2014-04-20 10:42:13 +02:00
ThomasV
6c96b38abf installwizard: multisig wallets 2014-04-19 20:23:27 +02:00
ThomasV
913ef26dd9 fix: create accounts 2014-04-13 18:41:10 +02:00
ThomasV
74209e8a6c remove hardcoded seed 2014-04-06 21:42:29 +02:00
ThomasV
102bc204d5 hooks and workflow for 2of3 wallets 2014-04-06 21:38:53 +02:00
ThomasV
c24482c21a check seed in gui. fixes #622 2014-04-05 10:34:51 +02:00
ThomasV
e955ee69a8 restore from master public key (qt and command line) 2014-02-28 15:43:06 +01:00
ThomasV
7267579fe0 Merge branch '2.0' 2014-02-27 10:41:22 +01:00
ThomasV
638526712b rebrand this branch as 1.9.8 2014-02-27 10:21:41 +01:00
ThomasV
70bace9b1e use separata class for old wallets; decide with WalletFactory 2014-02-03 06:26:03 +01:00
Brian Greenberg
af71483dd8 Squash case on user-entered seed when restoring a wallet. 2014-01-27 21:03:00 -06:00
ThomasV
9483eadc7e installwizard: set network to None if offline 2014-01-08 10:36:39 +01:00
ThomasV
2fb738be59 fix: return None if user presses cancel 2013-12-17 07:10:40 +01:00
ThomasV
0eead38332 installwizard: don't repeat same info 2013-12-17 07:06:58 +01:00
ThomasV
8a887273f6 clarify text 2013-12-17 06:56:33 +01:00
ecdsa
8b4410d86a detect if electrum is offline during wallet creation 2013-12-14 10:20:40 +01:00
thomasv
f045490597 During wallet creation, do not write seed on disk before it is encrypted 2013-12-13 17:30:34 +01:00
ThomasV
5ae39b5ad1 don't exit in wizard (fixes #402) 2013-11-12 22:55:42 +01:00
ThomasV
588f8fd110 wallet: call create_accounts in save_seed 2013-11-11 17:41:46 +01:00
Bryan Stitt
6cd4ed486a fix more bare excepts 2013-11-10 12:30:57 -08:00
ThomasV
b1472ba1a7 fix regression: offline mode 2013-11-05 18:55:53 +01:00
ThomasV
536c898b59 restore from master public key with seed v4 2013-11-03 14:14:35 +01:00
ThomasV
c8cd187bd4 use QStackedLayout in install wizard 2013-11-03 11:03:45 +01:00
thomasv
83b885c702 fix mnemonic decode 2013-10-31 15:40:10 +01:00
thomasv
5a3b80cfb2 disable bip32 2013-10-31 13:28:52 +01:00
ThomasV
31aaae8ed2 seed v6 2013-10-26 16:40:05 +02:00
ThomasV
8a4a29dd0c enforce 'chain' parameter in wizard 2013-10-15 10:44:14 +02:00
rdymac
e85d7b8fee Line breaks and blank spaces
Moved line breaks and blank spaces out of text strings
2013-10-10 03:54:52 +02:00
thomasv
a33bb72dc7 disable 'offline' option in install wizard, because it is not implemented 2013-10-03 19:09:08 +02:00
ThomasV
f93bc5951c simplify show_seed dialog 2013-10-03 09:19:09 +02:00
ThomasV
b30bac13e5 restore from master public key 2013-10-01 14:28:43 +02:00
ThomasV
f79d4ee468 Merge branch 'master' of git://github.com/spesmilo/electrum 2013-09-30 17:43:33 +02:00
ThomasV
1fdb8be42f remove show() in waiting dialog 2013-09-30 17:43:31 +02:00