Commit Graph

261 Commits

Author SHA1 Message Date
Neil Booth 2ae3543dc4 Start work on persistent install wizard 2016-01-12 22:31:53 +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 9ad4d63ad1 wizard: small tweaks, fix show_restore 2016-01-09 10:35:10 +01:00
Neil Booth 2377476207 Separate out new QT util ChoicesLayout
For future use elsewhere
2016-01-09 15:38:27 +09:00
Neil Booth 3e8598c245 Move trezor-specific install wizard code to plugin 2016-01-09 15:21:38 +09:00
ThomasV 5915b9b7e1 restore action-driven wizard logic 2016-01-07 00:55:23 +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 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