ThomasV
058e49e839
wizard: fix typo
2016-08-19 14:45:52 +02:00
ThomasV
352c48f339
wizard: use the word 'keystore'
2016-08-19 11:47:07 +02:00
ThomasV
090a284619
storage: convert_wallet_type
2016-08-19 09:57:29 +02:00
ThomasV
bfd7709ccd
move xpubkey logic to keystore and fix it
2016-08-17 15:25:16 +02:00
ThomasV
f6e393d7b6
fix: import addresses and private keys
2016-08-17 10:39:30 +02:00
ThomasV
5733a5d125
importprivkey: do not import the same key twice
2016-08-17 09:49:58 +02:00
ThomasV
2e9cfb9800
small fixes for addrequest
2016-08-16 12:41:15 +02:00
ThomasV
a088940496
add Wallet.can_import
2016-08-16 12:11:39 +02:00
ThomasV
d9021788fa
request account_id in wizard, for hardware wallets. cleanup bip44 code
2016-08-15 11:48:33 +02:00
ThomasV
71de14240d
daemon: default rpchost to 127.0.0.1
2016-08-15 08:27:09 +02:00
ThomasV
f61d8b4c24
daemon: handle rpc server init errors
2016-08-15 08:14:19 +02:00
ThomasV
b87c5d12fa
- fix sign/verify messages
...
- fix hardware wallet tx_outputs
2016-08-14 13:03:52 +02:00
ThomasV
47fef13e5b
fix keepkey wallet_type storage
2016-08-13 11:02:43 +02:00
ThomasV
f9d5a5d326
fix import
2016-08-12 15:53:21 +02:00
ThomasV
82769fc1fb
fix classmethod normalize_passphrase
2016-08-12 15:21:47 +02:00
ThomasV
b0afdf4614
fix command line: create, restore, importprivkey
2016-08-12 11:56:27 +02:00
ThomasV
1159f85e05
Major refactoring
...
- separation between Wallet and key management (Keystore)
- simplification of wallet classes
- remove support for multiple accounts in the same wallet
- add support for OP_RETURN to Trezor plugin
- split multi-accounts wallets for backward compatibility
2016-08-12 11:02:28 +02:00
Thomas König
c49202ceaa
fix test_simple_config and test_transaction
2016-08-04 17:21:25 +02:00
ThomasV
b0f6b8578e
fix issue #1865
2016-08-02 10:52:59 +02:00
ThomasV
5f86af15b8
fix type
2016-08-01 17:36:25 +02:00
ThomasV
ee032e9158
base_wizard: minor fixes
2016-08-01 17:34:58 +02:00
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
Neil Booth
c7bd1e9428
Fix plugin dialog logic I broke recently
2016-01-01 19:22:34 +09:00
Neil Booth
d63e754c67
Remove some unused hook infrastructure
2016-01-01 19:15:01 +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
e6dbe621c6
Make class methods static on Wallet
2015-12-31 16:05: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
Eagle[TM]
2c797cd75b
Update default server list
2015-12-30 14:47:40 +01: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
ed3c0a5469
Remove a name-clashing unnecessary local variable
2015-12-29 23:08:10 +09:00
Neil Booth
0f70d0b8a5
The constructor() concept doesn't exist
...
Did it ever?
2015-12-29 22:59:25 +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
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
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
c298860e11
A fix and cleanups for hardware wallets
2015-12-26 12:02:19 +09:00
Neil Booth
a58c19d7c0
Clean up and fix account adding
...
As per BIP44, 20 addresses are checked for transactions, not just the
first one.
Show the last account only if used or named.
If all accounts are used, prompt for password to create new one.
Fixes #1128
2015-12-25 23:34:04 +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
8bcd132423
Merge branch 'master' of git://github.com/spesmilo/electrum
2015-12-23 10:54:45 +01:00
ThomasV
acbe67fd1f
separation between RPC and non-RPC commands.
2015-12-23 10:54:31 +01:00
Neil Booth
9484b6371f
More modality fixes and cleanups
2015-12-23 18:31:36 +09:00
Neil Booth
72fdf0cd21
Better error when opening a non-wallet file
...
Also window modality fixes for __init__.py
2015-12-23 13:54:43 +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
Neil Booth
0a3d74de8f
Avoid index-out-of-range
...
Also add sanity assertion
2015-12-20 12:19:44 +09:00
Neil Booth
25a2ceda23
Fix copyright.
2015-12-20 12:06:23 +09:00
Neil Booth
5c3a6db445
Fix negative amounts assertion
...
Change amounts could be negative after deducting the cost of the extra
change output; floor them at zero. Move the assertion to the main
code. Simplify rounding logic.
2015-12-19 13:44:12 +09:00
ThomasV
3bed2e3106
don't wait for wallet sync in rpc commands; instead, show wallet status in status command
2015-12-17 17:54:49 +01:00
ThomasV
026f9312a7
fix more type errors caused by jsonrpc (parsing floats and transactions)
2015-12-16 20:17:20 +01:00
ThomasV
b3ef2249b5
add more features to settings dialog
2015-12-16 11:53:37 +01:00
ThomasV
30ace570d3
kivy: choice_dialog and load_wallet_by_name
2015-12-16 08:57:47 +01:00