ThomasV
5915b9b7e1
restore action-driven wizard logic
2016-01-07 00:55:23 +01:00
Neil Booth
0117109a2d
Trezor: show supported coins
...
Also fix dialog layout issue on MacOSX
2016-01-06 23:25:15 +09: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
59343ec6ec
fix get_label in plot.py
2016-01-06 10:32:58 +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
5b8e096d57
Fix typo in prior except block
2016-01-05 21:55:47 +09:00
Neil Booth
d98f123f92
Fix make_unsigned_transaction for trustedcoin
...
Fixes #1600
2016-01-05 21:53:38 +09:00
ThomasV
c2accd64cf
trustedcoin: don't use assert in hooks, it crashes when using multiple windows. show message if wallet is restored from seed.
2016-01-04 15:16:36 +01:00
ThomasV
32483e64c6
fix syntax errors in trustedcoin plugin
2016-01-03 18:37:14 +01:00
Neil Booth
2ad009bb9d
Add some informative comments
2016-01-03 21:03:11 +09:00
Neil Booth
6516b28840
TrezorCompatiblePlugin: make it a thread job
...
We shouldn't be using QT gui threads
2016-01-03 20:46:47 +09:00
Neil Booth
43fd684d97
Trezor: add session timeout to preferences
...
Fixes #803
2016-01-03 17:25:47 +09:00
Neil Booth
87363c8301
Trezor: Implement resetting a device
2016-01-03 13:34:03 +09:00
Neil Booth
e6afaf173c
Hardware wallets can create accounts
2016-01-03 11:10:31 +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
9eaf510ac6
Test if initialized to determine watching only
...
Prepares for device wipe functionality
2016-01-03 09:18:29 +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
4fe01cb8d3
Change scan_devices logic
...
Fixes title bar updates about watching only
2016-01-03 00:02:20 +09:00
Neil Booth
e4269f2684
Use relative imports.
2016-01-02 23:34:10 +09:00
Neil Booth
3f2ba5ec20
Fix QtHandler modality
2016-01-02 23:27:04 +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
187b4dc9c1
Trezor: Need to set client in show_address
2016-01-02 11:07:39 +09:00
Neil Booth
1d07960290
Remove constructor method of plugins
...
Clean up wallet class loading.
2016-01-02 00:16:15 +09:00
Neil Booth
cf4ee487cd
Remove duplicate code
...
Cut-n-paste somehow into the same class
2016-01-01 22:57:21 +09:00
Neil Booth
c3df5c7177
Work around trezor library bug
...
expand_path() should be static. Until it is we implement it ourselves.
2016-01-01 21:11:46 +09:00
Neil Booth
d63e754c67
Remove some unused hook infrastructure
2016-01-01 19:15:01 +09:00
Neil Booth
2f58d419dc
Get ledger wallet working, for restore at least
...
Fixes #1592
2016-01-01 18:38:43 +09:00
Neil Booth
d150a6d29c
Fix trustedcoin crash
2016-01-01 18:22:06 +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
93d05e8cfe
Have close_wallet hook take a wallet.
2015-12-31 10:31:49 +09:00
Neil Booth
b8f2d9dfd4
Hardware wallets don't have seeds
2015-12-31 09:56:05 +09:00
Neil Booth
f263f8b0fd
Convert legacy restored hardware wallets
...
Hardware wallets do not have a seed and hardware wallet
code should not have to worry about that case.
2015-12-31 09:51:27 +09:00
Neil Booth
19f527c717
Fix typo
2015-12-30 23:41:05 +09:00
Neil Booth
1d51335827
Remove need for self.wallet for h/w wallets
2015-12-30 17:03:26 +09:00
Neil Booth
84450b9189
Revert mistaken commit
2015-12-29 23:16:53 +09:00
Neil Booth
0f70d0b8a5
The constructor() concept doesn't exist
...
Did it ever?
2015-12-29 22:59:25 +09:00
Neil Booth
993ff30616
Eliminate dead code
2015-12-29 22:48:45 +09:00
Neil Booth
56497c1ae2
Don't use is_available() for HW wallets
...
is_available() is only used from generic code for non-hardware
wallets. Having a local function of the same name is confusing.
2015-12-29 22:46:22 +09:00
Neil Booth
1f3ddad0cd
Update as for trezor/qt.py
2015-12-28 23:35:34 +09:00
Neil Booth
638bdc23f2
Fix hardware test for watching only
2015-12-28 22:32:57 +09:00
Neil Booth
7811b974e9
Remove more duplicated code
2015-12-28 22:20:45 +09:00
Neil Booth
d843e41884
TrezorWallet: don't duplicate base class funcs
2015-12-28 22:11:11 +09:00
Neil Booth
791d3a2aa2
Partially restore prior
...
It was breaking hardware wallet creation
2015-12-28 21:58:09 +09:00
Neil Booth
9d9fcbde64
Proper treatment of restored hardware wallets
...
They have a different wallet type; they require no plugin nor
plugin libraries to use.
Remove pointless public key code that was implemented in the
base classes already.
Partial fix for #1592 . Unfortunately the plugin and library
are still required to actually restore the wallet, but for
no reason that isn't fixable.
2015-12-28 20:24:15 +09:00
Neil Booth
b50ace4225
Support adding/removing/changing PIN on Trezor
2015-12-27 23:13:38 +09:00
Neil Booth
1b754524f9
Add more information to the trezor settings dialog
2015-12-27 22:31:27 +09:00
Neil Booth
43d21de1b2
Clean up trezor client interface
2015-12-27 19:29:57 +09:00
Neil Booth
e2628977b3
Update keepkey too
2015-12-27 18:25:04 +09:00
Neil Booth
11e1c62f28
Move hardware wallet to trezor/
...
On second thoughts it does go better there.
2015-12-27 18:23:46 +09:00
Neil Booth
669cf74789
Fix trezor restore
...
Broken by my recent changes
2015-12-27 15:38:52 +09:00
Neil Booth
7372e0e082
PEP8-ify most of plugins/trezor
2015-12-27 15:10:53 +09:00
Neil Booth
c02daa56b0
Finish merging keepkey / trezor implementations
2015-12-27 15:00:58 +09:00
Neil Booth
d69551f723
Fix two keepkey imports
2015-12-27 13:58:54 +09:00
Neil Booth
f3329988b2
More keepkey / trezor commonizing and cleanup
2015-12-27 13:56:50 +09:00
Neil Booth
33e57fe5a7
Share non-GUI plugin parts of KeepKey and Trezor
2015-12-26 19:42:57 +09:00
Neil Booth
42719cd0a9
Commonize GuiMixin for keepkey and trezor
2015-12-26 18:48:07 +09:00
Neil Booth
cb4947d705
Add the keepkey cancellation feature
...
to the generic implementation. Not currently used by the trezor
libraries.
2015-12-26 18:00:38 +09:00
Neil Booth
7b5f3884fa
Combine QTHandlers for KeepKey and Trezor
...
Again they do the same thing, so share the code
2015-12-26 17:40:12 +09:00
Neil Booth
39c1893a74
Initialize self.d for KeepKey
2015-12-26 16:28:55 +09:00
Neil Booth
3a1bb5b61a
Combine keepkey and trezor wallet code
...
Essentially identical so silly to have two copies.
Also fix a double-dialog during sign bug that caused one to not
disappear (on MacOSX at least).
2015-12-26 16:25:10 +09:00
Neil Booth
96c7f9e7cb
Partially revert prior
2015-12-26 12:23:35 +09:00
Neil Booth
c298860e11
A fix and cleanups for hardware wallets
2015-12-26 12:02:19 +09:00
Neil Booth
8f91af28a5
More cleanup of WaitingDialog
...
Simplify its interface
2015-12-26 11:18:32 +09:00
Anwesh
93bcd98763
Merge branch 'master' of https://github.com/spesmilo/electrum
2015-12-24 06:59:16 +05:30
Neil Booth
d70ad3df93
Better waiting dialog for trustedcoin
2015-12-23 22:21:29 +09:00
Neil Booth
ffd081ac21
Clean up WaitingDialog
...
Prevent GC so callers don't have to.
2015-12-23 22:10:11 +09:00
Neil Booth
64887f7a74
More message box cleanup
2015-12-23 20:42:30 +09:00
Neil Booth
37a49752eb
Fix greenaddress modality and centring issues
2015-12-23 20:13:17 +09:00
Neil Booth
37b474716b
Window modality fixes + improved password dialog
2015-12-23 17:32:08 +09:00
Neil Booth
15e9991e2a
Move message box logic to a mixin
2015-12-23 15:10:15 +09:00
Neil Booth
0a3a0f12cc
Make more dialogs window-modal
...
Also remove some unnecessary imports
2015-12-23 12:20:19 +09:00
Neil Booth
44a436e964
Make line_dialog, text_dialog window modal
...
Move new_wallet and get_wallet_folder from qt/__init__.py
to qt/main_window.py for correct centring and window modality.
2015-12-22 07:55:33 +09:00
Richard Ulrich
ae3b82297f
added missing import
2015-12-20 23:20:13 +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
ba26996367
fix exchange_rate in kivy
2015-12-15 12:29:48 +01:00
Neil Booth
b1704ce911
Fix multiple trustedcoin bugs.
2015-12-13 18:13:24 +09:00
Anwesh
b23c22b29d
Updated Coinsecure Api
...
Added Unocoin Api
2015-12-10 15:51:19 +05:30
ThomasV
de964f4033
plugins: on_close method
2015-12-09 09:41:24 +01:00
ThomasV
9b2885e697
kivy: updates
2015-12-05 18:14:17 +01:00
Neil Booth
eb82a5e689
Cleanup labels/qt imports.
2015-12-05 21:52:19 +09:00
Neil Booth
a0b031c7df
Fix labels plugin wallet popping bug.
2015-12-05 21:47:17 +09:00
Neil
c3bd9226f2
Merge pull request #1570 from kanishkablack/master
...
Coinsecure exchange added
2015-12-05 10:57:50 +09:00
ThomasV
b700340ff9
kivy: use exchange rates in amount dialog
2015-12-03 22:43:43 +01:00
Anwesh
0ece74eea6
Coinsecure exchange added
2015-12-03 16:27:32 +05:30
ThomasV
74a9e2296c
separate Network and Plugins
2015-12-03 11:18:10 +01:00
ThomasV
6ec610c359
kivy updates
2015-12-02 12:11:28 +01:00
ThomasV
deefd74c37
labels sync for kivy
2015-12-01 17:29:24 +01:00
ThomasV
d8e65782e1
ledger: cmdline plugin
2015-12-01 12:06:21 +01:00
ThomasV
ddae2516c1
keepkey: cmdline plugin
2015-12-01 12:04:01 +01:00
ThomasV
c7b1721f58
fix cmdline trezor
2015-12-01 12:00:18 +01:00
ThomasV
d5f43610ed
fix imports in hardware wallets
2015-12-01 10:00:39 +01:00
Neil Booth
90dee43998
Move estimated_fee to Transaction class
...
It's not a function of the wallet but of the transaction
so it more naturally belongs there.
2015-11-28 21:28:54 +09:00
ThomasV
0c20e737a9
fix missing import
2015-11-28 00:22:06 +01:00
ThomasV
9782734f4c
plugins: trustedcoin fixes
2015-11-26 14:15:54 +01:00
Neil Booth
cf23127ac1
Preserve alphabetical ordering...
...
And 2 is the default anyway as for most western currencies.
2015-11-25 00:16:06 +09:00
ThomasV
c6780cce84
add Bitso exchange rate
2015-11-24 10:35:25 +01:00
ThomasV
ba2c737a21
finish separation between plugins and GUIs
2015-11-24 09:36:42 +01:00
ThomasV
2c0489c809
plugins: separate GUIs using child classes
2015-11-23 14:15:25 +01:00
ThomasV
175fdbcac6
Disentangle plugins and window management; use Qt signals
2015-11-23 09:05:34 +01:00
Neil Booth
e9384f15ed
Plugins manage their own wallet tracking
2015-11-14 15:58:10 +09:00
Neil Booth
d1cd6d5645
Labels plugin: drop wallet on window close
...
Will help GC
2015-11-12 11:29:53 +09:00
ThomasV
c86ef5e8b0
hardware wallets: fix sign_transaction in resstored wallets
2015-11-04 19:13:24 +01:00
Neil Booth
7d0d2f2097
Work around Bitcoin Venezuela serving NULLs.
...
Fixes #1510 .
2015-10-24 23:23:43 +09:00
ThomasV
7a060e86b2
minor fix FX plugin
2015-10-17 12:46:05 +02:00
ThomasV
302ce7c15b
simplify exchange_rate hooks
2015-10-17 06:26:37 +02:00
Tim Bellefleur
e81814416a
Add historical data for BitcoinAverage (via CSV)
2015-10-15 14:56:23 -07:00
Tim Bellefleur
ad198c372b
Add BitStamp to exchange rate options.
2015-10-15 13:10:15 -07:00
Tim Bellefleur
80bf9952e8
Fix method call to BitcoinAverage
2015-10-15 13:10:00 -07:00
ThomasV
a5e94ef0e8
kivy: use plugins
2015-10-13 12:12:49 +02:00
ThomasV
87168282b9
check wallet type in installwizard_load_wallet hook
2015-10-01 12:37:46 +02:00
Neil Booth
6bbde8389d
Pass window not window.app
2015-09-26 17:24:57 +09:00
Neil Booth
a4a2eb9b5c
Handle None satoshis properly
2015-09-26 17:19:14 +09:00
Neil Booth
cf44e65ba8
Rework resizing of send and receive tabs
...
Should fix #1458
They now function in essentially the same way.
2015-09-26 12:14:35 +09:00
ThomasV
3f145864ef
fix syntax error in exchange rate plugin
2015-09-13 21:12:52 +02:00
Neil Booth
22788e9ab0
Use spot rate for unconfirmed TXs
2015-09-12 19:18:49 +09:00
ThomasV
483cf2286f
format_amount_and_units: general method to display amounts and fiat values. fixes #1078
2015-09-11 16:46:37 +02:00
Neil Booth
f710d872c7
When using labels plugin write wallet once
...
Poor hook coupling would cause the wallet to be written
twice unnecessarily when using the labels plugin and changing
a label
2015-09-10 22:29:25 +09:00
Neil Booth
886192aba7
Make trustedcoin.py multi-window compatible
2015-09-09 17:27:58 +09:00
Neil Booth
0371a3dc32
Don't refresh whilst editing!
...
It's long been a pet peeve of mine that whilst editing a label,
something would cause Electrum to refresh the widget, such as
an incoming tx or a new block, and you'd lose your edits.
This changes MyTreeWidget so that, if editing, updates are
deferred until editing finishes.
2015-09-09 09:36:35 +09:00
ThomasV
37caf97ee9
show currency in column header rather than in each row
2015-09-08 12:10:27 +02:00
Neil Booth
650f9b215c
Fix itbit
2015-09-07 07:38:30 +09:00
Neil Booth
154cdd1697
Improved error handling for exchange requests
2015-09-07 00:23:59 +09:00
Neil Booth
c0b93c83ab
Minor fixes to exchange_rate plugin
...
- some exchanges only server their API via http
- add/remove columns as the history check box is selected/deselected
2015-09-07 00:01:26 +09:00
Neil Booth
0db2dbf3d7
Extra headers only if used.
2015-09-06 23:20:05 +09:00
Neil Booth
93b99ebded
Handy new class PrintError
...
Saves adding "def print_error" to endless classes.
2015-09-06 21:40:00 +09:00
Neil Booth
9b50d1e7bc
Fix history headers on plugin load / unload
2015-09-06 21:14:36 +09:00
Neil Booth
26f2c757d3
Implement correct currency precision
2015-09-06 18:06:56 +09:00
Neil Booth
ce3c38db38
Remove FIXME and dead variable
2015-09-06 14:18:25 +09:00
Neil Booth
1d35954541
Fix status bar FX balance display
2015-09-06 14:16:54 +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
Neil Booth
95d3f6da1f
A couple of fixes
...
- Give hook correct name
- Use spot if no data and today - tx_date <= 2 because of timezone
differences.
2015-09-06 00:54:05 +09:00
Neil Booth
76465aa6bd
ExchangeBase is not an exchange
2015-09-05 23:05:34 +09:00
Neil Booth
9e0e54157e
More improvements to exchange_rate plugin
...
Everything should now update correctly on incoming data from
the exchange server.
2015-09-05 22:47:01 +09:00
Neil Booth
c290455b94
More signal work and bugfixes
...
Replace self.fiat_unit() mostly with self.ccy, except
for cases where a dynamic post-hoc query is needed.
Block signals to prevent unwanted currency choice change.
Remove dead code.
2015-09-05 22:16:24 +09:00
Neil Booth
b5f986ee56
Torwards sane signalling for exchange_rate plugin
2015-09-05 21:47:35 +09:00
Neil Booth
2a9bc559b2
Remove unwanted hook.
2015-09-05 17:33:57 +09:00
Neil Booth
915ee94cdd
Re-add Fiat Balance column
2015-09-05 17:29:57 +09:00
Neil Booth
1171a25815
Genericize plugin handling of thread jobs
...
Move it to the Plugins class so all plugins get it for
free.
2015-09-05 17:21:28 +09:00
Neil Booth
3d2ab45b04
Merge Exchanger class into the Plugin class.
2015-09-05 17:01:26 +09:00
ThomasV
b036e8597a
fix typo
2015-09-05 09:37:45 +02:00
ThomasV
1f215ae673
cleanup
2015-09-05 09:35:09 +02:00
ThomasV
815adb3983
Merge branch 'master' of git://github.com/spesmilo/electrum
...
Conflicts:
plugins/exchange_rate.py
2015-09-05 09:16:11 +02:00
ThomasV
015e274dab
rework exchange_rate hooks
2015-09-05 09:11:48 +02:00
Neil Booth
2df8881824
Remove duplication of parent column names.
...
We no longer assume how many columns the history widget
has or their names.
Add a fiat balance column.
Remove extra columns when shutting the plugin.
2015-09-05 16:04:58 +09:00
Neil Booth
f4a1b0adce
Fix Winkdex.
2015-09-05 15:22:04 +09:00
Neil Booth
8cccf1eec5
Don't resize extra column to contents
...
Something in QT makes this very slow for this column after
editing a label
2015-09-05 15:02:33 +09:00
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
2015-09-05 14:05:37 +09:00
Neil Booth
8d046c7919
Fix some bugs in last push
2015-09-05 01:24:16 +09:00