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
ThomasV
9d3162b1a1
simplify get_label
2015-12-15 12:52:30 +01:00
ThomasV
6ad3f47640
don't rewrite index.html everytime
2015-12-15 12:10:25 +01:00
ThomasV
679efe2a66
don't use floats because of rounding errors
2015-12-15 11:33:04 +01:00
Neil Booth
cead9cd7c6
Ensure zeroes is always non-empty.
2015-12-14 07:45:01 +09:00
ThomasV
f30149ad49
fix #1579
2015-12-13 06:33:06 +01:00
Kirill Fomichev
d344ee0474
Small blockchain changes
2015-12-12 18:37:18 +03:00
Neil Booth
06eb3142c4
Oldest First
2015-12-12 19:01:14 +09:00
Neil Booth
52fc739052
Update default chooser name too.
2015-12-12 18:39:03 +09:00
Neil Booth
1c528af433
Description tweaks.
...
Mention loss of priority, and rename Classic to Oldest First.
2015-12-12 18:32:24 +09:00
Neil Booth
36aaad392d
Fix docstring display.
2015-12-12 18:11:07 +09:00
Neil Booth
2763b0feea
Improved change handling for Privacy chooser
...
Breaks up large change in such a way as to make it
unclear what the real send might be.
Fixes #1203
2015-12-12 11:53:17 +09:00
Neil Booth
ea49e8dc96
Remove unneeded buckets for Privacy coin chooser
...
Commonize the code with the classic chooser and simplify.
2015-12-12 10:12:46 +09:00
ThomasV
0cef063ee2
add payment requests to kivy
2015-12-11 15:21:21 +01:00
ThomasV
2a1fbf01fe
simplify blockchain.py
2015-12-11 12:37:40 +01:00
ThomasV
81f070c83b
fix bug in get_target
2015-12-11 10:14:01 +01:00
ThomasV
4112e2c3fa
Merge pull request #1558 from fanatid/spv
...
Improve get_target
2015-12-11 10:09:11 +01:00
ThomasV
b7cef8dd58
follow up to 74a9e2296c
2015-12-10 09:52:00 +01:00
Neil Booth
75b3ecee49
Add coin chooser to try and minimize loss of privacy.
2015-12-09 22:20:23 +09:00
ThomasV
de964f4033
plugins: on_close method
2015-12-09 09:41:24 +01:00
ThomasV
6770834d06
daemon: use available port
2015-12-08 10:55:34 +01:00
ThomasV
becfe13df2
decrease daemon timeout
2015-12-07 18:42:12 +01:00
ThomasV
9ec4cbeed1
fix issue #1572
2015-12-06 13:32:50 +01:00
Neil Booth
50dcee69d0
Clean up imports in daemon.py
2015-12-05 21:38:20 +09:00
Neil Booth
03b4868bf8
Handle JSON RPC server timeouts differently
...
Prior method was causing issues on Python 2.7.10 on DragonFlyBSD at
least.
2015-12-05 21:30:37 +09:00
ThomasV
74a9e2296c
separate Network and Plugins
2015-12-03 11:18:10 +01:00
ThomasV
deefd74c37
labels sync for kivy
2015-12-01 17:29:24 +01:00
ThomasV
afae9a097e
add php example
2015-12-01 09:42:47 +01:00
ThomasV
95393656aa
rename command: notify
2015-12-01 08:58:00 +01:00
Neil Booth
3eca419ef3
Fix typo.
...
One character makes all the difference.
2015-11-30 23:47:14 +09:00
ThomasV
9b5b9849d7
add watchaddress command
2015-11-30 10:54:15 +01:00
ThomasV
3c11c63289
fix daemon: don't oad wallet if there is a gui
2015-11-30 10:23:38 +01:00
ThomasV
4682d95a76
merge jsonrpc gui and daemon
2015-11-30 10:09:54 +01:00
Neil Booth
e302dbc71c
Move debug output to end of function.
2015-11-29 18:10:17 +09:00
Neil Booth
9a6dcf7b1e
Use bucketing to choose coins
...
Bucketing is generalization of coin chooser logic that makes it easy
to implement other algorithms.
- Put core coin chooser functionality in base class.
- Specialize derived class to implement classic electrum algorithm of
oldest coins first. One bucket per output.
No intended change in behaviour.
Coin chooser now sorts the coins as it wants; remove redundant sorting
from get_spendable_coins().
2015-11-29 17:59:36 +09:00
Neil Booth
93bb09230c
Track tx size directly; calculate fees from that
...
This has several advantages. Fee calculation is now very fast,
as we don't need to keep reserializing the tx. Another is that
we can reason about the fees after adding a change output without
having to add it, recalculate the tx fee, and remove it again.
2015-11-29 15:40:11 +09:00
Neil Booth
a4dd5acc48
Prepare to calculate tx fee given a tx size
2015-11-29 12:41:54 +09:00
Neil Booth
d97106f17d
Don't keep dust change in any case
2015-11-28 22:27:01 +09:00
Neil Booth
530dc16ed2
Remove unused import
2015-11-28 22:14:24 +09:00
Neil Booth
8785b65a1f
Remove need for coin chooser to take a wallet
2015-11-28 22:12:20 +09:00
Neil Booth
a6ea9a0c71
Simplify interface to make_tx in coin chooser
...
Makes the coin chooser code simpler and easier to understand.
2015-11-28 22:08:00 +09: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
Neil Booth
e9061ea371
Move coin choosing logic to own class
...
This contains no change in logic, but is preparation for cleanup
and possible alternative strategies.
2015-11-28 14:49:10 +09:00
ThomasV
90a2a049f4
network fix: callbacks were not called
2015-11-27 11:30:14 +01:00
ThomasV
042f8ef832
network: cache subscription responses
2015-11-26 11:26:01 +01:00
ThomasV
43df795b1f
network: separate callbacks from unanswered_requests
2015-11-26 10:57:43 +01:00
ThomasV
ed2ab5e3c1
websockets: minor fix
2015-11-25 11:37:10 +01:00
ThomasV
1207ad3ba4
fix: websocket uses network object
2015-11-25 10:48:34 +01:00
ThomasV
2a29d1e5e7
fix syntax error
2015-11-25 10:35:14 +01:00
ThomasV
2934fd17be
fix websockets
2015-11-25 10:32:46 +01:00
ThomasV
9ba75b80e2
increase version number
2015-11-24 09:43:21 +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
Kirill Fomichev
334b84c3c3
Add assertions to get_target
2015-11-19 22:03:12 +03:00
Kirill Fomichev
e188929972
Fix proof of work assert in verify_chunk
2015-11-19 18:40:54 +03:00
Neil Booth
3211d752c7
Need to set p.wallet unfortunately
...
Fixes #1553
2015-11-19 08:31:01 +09:00
Neil Booth
0dcaa13d31
Show the wallet path in -v output
2015-11-14 16:14:00 +09:00
Neil Booth
e9384f15ed
Plugins manage their own wallet tracking
2015-11-14 15:58:10 +09:00
Neil Booth
53f6fb9876
Add a GC debugger
...
Add commented-out GC debugging step
2015-11-14 10:47:44 +09:00
Neil Booth
ae4cfc9f0b
Unregister network callbacks from QT gui
...
Rework the callback system in QT to make this easy, and avoid
leaking window references that prevent the window from being
GC-ed on close
2015-11-13 23:36:29 +09:00
ThomasV
0d4de870a5
prepare 2.5.4 release
2015-11-12 14:56:51 +01:00
ThomasV
ae42576423
Merge branch 'master' of git://github.com/spesmilo/electrum
2015-11-12 14:32:19 +01:00
ThomasV
86a0103a7f
increase min_relay_tx_fee, and make dust_threshold a function
2015-11-12 14:31:17 +01:00
Neil Booth
206e38fb7c
Make use of trigger_callback easier to understand
2015-11-12 16:08:37 +09:00
Neil Booth
8cc3b58364
Allow syncronizer to be GC-ed
...
Proper fix for #1525 .
Using python's GC module, I've verified that the daemon, when running,
now releases all verifiers, synchronizers and wallets - all the resources
we care about releasing.
2015-11-12 08:40:58 +09:00
Neil Booth
d612684196
Attempt at fixing issue 1525
...
The main problem is, I think, that the synchronizer and wallet
still exist in the daemon process, and updates to things like
TXI and TXO are made but never saved (as client exit is what
saves the wallet).
I suspect fixing the lingering objects is hard; this is a short
term fix to ensure that when internal wallet state is updated,
the wallet is written to disk, so later daemon clients pick up
the correct state.
2015-11-11 16:38:28 +09:00
ThomasV
d82896dadf
fix #1525 (part 2)
2015-11-06 18:00:19 +01:00
ThomasV
b3529147d5
fix #1525
2015-11-06 17:32:54 +01:00
ThomasV
3f2c906ace
version 2.5.3 and release notes
2015-11-02 13:03:14 +01:00
ThomasV
2a3c97813d
wallet.get_max_amount method, used by qt and kivy
2015-10-30 14:10:41 +01:00
ThomasV
5bbffb0cbf
remove --deserialized option, redundant with deserialize command
2015-10-29 14:44:41 +01:00
ThomasV
369d5d8812
fix #1525
2015-10-29 14:36:50 +01:00
ThomasV
bb7b0884e3
Various fixes for command line. Make 'payto' command require network ( fixes #1525 )
2015-10-29 11:06:09 +01:00
ThomasV
079cb311ec
call wallet.wait_until_synchronized before commands
2015-10-29 05:01:06 +01:00
ThomasV
53273b7d40
fix #1523 : prevent side-effect of _format_request
2015-10-29 00:09:50 +01:00
ThomasV
511b23fee6
add release notes
2015-10-28 11:45:53 +01:00
ThomasV
142b5532ec
revert to previous restore method, without daemon
2015-10-28 11:11:41 +01:00
ThomasV
5b96d5166e
fix restore messages
2015-10-28 10:46:01 +01:00
ThomasV
052d8b236e
fix #1494
2015-10-28 10:36:44 +01:00
ThomasV
94ac0db91f
command line: Require 'text' argument for 'restore'. Replace 'concealed' option with ':' magic word
2015-10-28 09:33:35 +01:00
ThomasV
65f20895df
bump version number
2015-10-28 08:46:02 +01:00
ThomasV
2a23aab24b
workaround #1513
2015-10-28 07:32:29 +01:00
ThomasV
26682491b2
generic restore from command line
2015-10-27 14:33:41 +01:00
ThomasV
614f3df4b8
Revert "Use ssl.PROTOCOL_TLSv1 on client side to avoid SSLv23"
...
This reverts commit 4731418af9 .
2015-10-27 10:44:36 +01:00
Neil Booth
97568bedf5
Default to unused address for privkey sweeps
...
Fixes #1506
- New function wallet.get_unused_addresses
- Have wallet.get_unused_address use it
- Use it for the sweep key dialog
2015-10-26 20:33:35 +09:00
ThomasV
171363aa86
minor fix (import stat)
2015-10-20 13:57:43 +02:00
ThomasV
a9f451decd
preserve file permissions when saving wallet
2015-10-20 13:52:38 +02:00
ThomasV
f77f63e158
remove failing tests, due to high S in signatures
2015-10-20 13:15:13 +02:00
ThomasV
fbb65416d3
remove --broadcast option for payto, and parse transactions from json 'hex' field
2015-10-20 13:08:32 +02:00
Neil
691fc54370
Merge pull request #1499 from SmileyChris/sys-exit
...
Missing sys import
2015-10-19 12:41:21 +09:00
Chris Beaven
876a2c8ed0
Missing sys import
...
Also put the error message in sys.exit rather than printing. This will output it to stderr and make the exit code non-zero
like it should be.
2015-10-19 10:51:05 +13:00
Chris Beaven
fc141cba28
Fix KeyErrror typo
2015-10-19 10:42:46 +13:00
ThomasV
e385fd283d
version 2.5.1
2015-10-18 12:52:38 +02:00
ThomasV
fbda9dac79
fix #1479
2015-10-18 12:36:04 +02:00
ThomasV
19ec56b923
fix: sign tx inputs with the new low s class
2015-10-18 12:23:21 +02:00
ThomasV
ab1714e9f2
socket errno 11: raise timeout instead of looping
2015-10-18 09:23:44 +02:00
ThomasV
6aefaf7b3e
populate network.connecting before the thread is started (fixes KeyError in self.connecting.pop)
2015-10-17 07:07:10 +02:00
Kefkius
f329143733
Fix typo in Connection docstring
...
Fix a small typo in Connection docstring.
2015-10-06 16:03:24 -04:00
ThomasV
d68042e76e
enforece low S value in signatures (per BIP62)
2015-10-05 09:15:22 +02:00
ThomasV
0fe410d7e6
restore lock in storage.write (follow up to b5e0363f)
2015-10-01 13:26:22 +02:00
ThomasV
5a5cc97045
fix base type of PrintError; it must be object, since it is inherited by wallets
2015-10-01 12:38:46 +02:00
Richard Ulrich
c5f833a107
added tor onion address for Blockchain explorer
2015-09-30 12:03:05 +02:00
ThomasV
f3bd1662f7
fix web request server. fixes #1455
2015-09-30 11:06:27 +02:00
Neil Booth
58bd655f1d
In debug mode, show every queued request
2015-09-12 12:13:42 +09:00
Neil Booth
fb5e8068ce
Simplify following on from prior dead code removal
2015-09-12 11:25:14 +09:00
Neil Booth
f9547a194e
Remove more dead code
...
As everything is in-process now, nothing sends
"network.*" messages.
2015-09-12 11:18:11 +09:00
Neil Booth
fe2e731a70
Remove dead code
2015-09-12 10:54:20 +09:00
Neil Booth
12583246ee
Fix testcase
2015-09-11 20:17:20 +09:00
ThomasV
849cc0200b
better help message
2015-09-11 13:07:49 +02:00
ThomasV
458b62f5de
commands: add kwargs to wrapper
2015-09-11 11:54:00 +02:00
Neil Booth
f30090a321
Use network to get local height
2015-09-11 14:03:44 +09:00
Neil Booth
b5e0363f85
Only save wallet if modified
2015-09-11 14:02:01 +09: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
ThomasV
a735fbabe0
print config path in debug message
2015-09-10 11:01:58 +02:00
Neil Booth
3746050fe6
Subscribed address fix
...
Add an addr to the subcribed address set on receiving a response,
not on sending a request.
2015-09-10 13:32:00 +09:00
Neil Booth
cbf9052dae
Remove address caching
2015-09-10 12:57:04 +09:00
ThomasV
ebd5a565ed
fix: add missing definition of sha1
2015-09-09 18:15:38 +02:00
Neil Booth
b14aae5ebc
Clear self.interface when switching
...
When switching and the interface isn't immediately available,
we should clear self.Interface as otherwise requests will
still be going to it.
2015-09-09 22:13:09 +09:00
Neil Booth
6f1367fea6
Unify message IDs between network and interfaces
...
Previously network.py had its own idea of request IDs,
and each interface had its own which was sent on the wire.
The interface would jump through hoops to translate one
to the other.
This unifies them so that a message ID is passed when
queueing a request, in addition to the method and params.
network.py is now solely responsible for message ID management.
Apart from being simpler and clearer, this also should be faster
as there is much less data structure manipulation and rebuilding
happening.
2015-09-09 21:00:25 +09:00
Neil Booth
886192aba7
Make trustedcoin.py multi-window compatible
2015-09-09 17:27:58 +09:00
ThomasV
f90ca2684e
change paytomany syntax: accept json data instead of csv file
2015-09-09 08:47:30 +02:00
ThomasV
d986570c2e
fix: func.__doc__ might be None on android
2015-09-07 13:13:04 +02:00
Neil Booth
abee263710
Remove obsolete server from DEFAULT_SERVERS
2015-09-07 10:39:55 +09:00
Neil Booth
39615333c0
Attribute more diagnostic messages
2015-09-06 22:04:44 +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
da5c18b2f9
Be patient whilst connecting
...
On startup we make several connections simultaneously. Socket
maintenance code checks if we're not connected, and if not
switches to a connected interface if auto_connect.
Unfortunately this meant that we frequently didn't reconnect to
the prior good server on startup, because some other connection
would happen first and this code would decide to switch to it.
Instead, only switch if a connection attempt is not in progress.
If that times out at the O/S level the switch will happen.
2015-09-06 20:03:43 +09:00
Neil Booth
f5a43b8738
Warn if server is serving bad address histories
2015-09-06 19:49:35 +09:00
Neil Booth
f9047c6df0
Fix for dynamic loading and unloading of plugins
...
Need to add and remove thread jobs
2015-09-06 19:35:14 +09:00
Neil Booth
b5f986ee56
Torwards sane signalling for exchange_rate plugin
2015-09-05 21:47:35 +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
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
ThomasV
2f8574f7d7
kivy/buildozer: read version number from file
2015-09-04 14:40:00 +02:00
Neil Booth
835bc4e4aa
More cleanup now self.window is gone
...
No need for self.main_window in gui object.
No need for hooks "init_qt" and "close_main_window".
2015-09-04 18:29:52 +09:00
Neil Booth
89fbda30e0
Labels plugin now working for multiple windows
2015-09-04 17:38:14 +09:00
Neil Booth
2aa21ece79
Fix cosigner_pool plugin for multiple windows
2015-09-04 12:36:25 +09:00
Neil Booth
77a029082a
Improved new_window handling.
...
Remove new_window hook.
Plugin informed of all windows via events when first loaded.
init_qt no longer needed for exchange_rate plugin.
2015-09-04 10:20:52 +09:00
Neil Booth
8ce2a95695
Have plugins object track the window set
...
No need for self.gui nor init_qt hook any more. This makes
plugins more independent of window and gui types.
2015-09-04 09:26:35 +09:00
Neil Booth
ec3b7ba5ee
Pass plugins object to plugin constructor
2015-09-04 09:07:18 +09:00
ThomasV
04b9d8fffa
Update kivy GUI in order to merge with master
2015-09-03 15:09:45 +02:00
akshayaurora
c121c1aa4e
reorganize files and bring code inline with current master
...
Conflicts:
lib/simple_config.py
2015-09-03 14:20:37 +02:00
qua-non
1179a4cf9e
manage exchange plugins, make sure ui doesn't stall while saving seed
...
and numerous other small fixes.
2015-09-03 14:18:22 +02:00
ThomasV
4655c5f565
Fix SocketPipe:
...
* add errcode 35 for BSD
* in addition, add a very long timeout to command line pipe, in order to prevent that exception to be raised.
2015-09-03 10:47:57 +02:00
ThomasV
e3b7239d19
fix SocketPipe for returning empty array
2015-09-03 10:09:25 +02:00
ThomasV
4cfb6e1d76
add missing parameter
2015-09-03 07:43:16 +02:00
Neil Booth
49797c3094
Create a Plugins class
...
Encapsulates plugin logic and removes global variable ugliness.
2015-09-03 12:02:03 +09:00
ThomasV
9d76bf6828
temporary fix wallet constructors
2015-09-02 14:37:40 +02:00
Neil Booth
7a55d02654
Fix 992c70a688
...
This works for ordinary wallets at least; cannot test hardware.
But after staring for ages I think it's right.
2015-09-02 21:27:12 +09:00
ThomasV
992c70a688
detect available hardware wallets before listing them in wizard
2015-09-02 13:08:06 +02:00
Neil Booth
6c69849be9
Fix uninitialized var from select merge
2015-09-02 13:50:25 +09:00
Neil Booth
cdcd4d7215
Fix 'tuple' object has no attribute 'copy'
...
Occurred when switching interfaces and there were unanswered
requests that need resending. This bug isn't new; it's been
there since at least 3rd June.
2015-09-02 11:56:53 +09:00
Neil Booth
119aa5bf2e
Move message so it doesn't repeat when connecting
2015-09-01 17:30:22 +09:00
Neil Booth
72f429c353
Remove unused callback
2015-09-01 14:41:06 +09:00
ThomasV
c6b5a70362
Merge pull request #1432 from romanz/remove-mmap
...
transaction: remove unused mmap-related code
2015-08-31 22:39:08 +02:00
ThomasV
cd734002f2
Merge pull request #1433 from romanz/master
...
test_transaction: fix test_sweep case
2015-08-31 22:38:57 +02:00
Roman Zeyde
a097c47b0b
test_transaction: fix test_sweep case
2015-08-31 17:03:59 +03:00
Roman Zeyde
aadbcca6f0
transaction: remove unused mmap-related code
2015-08-31 16:46:51 +03:00
Neil Booth
a5e0265010
Make exchange rate plugin a network thread job
...
This fixes a lot of thread error noise when closing down electrum.
2015-08-31 20:33:39 +09:00
Neil Booth
f11e46e479
Remove unused import
2015-08-31 18:14:07 +09:00
Neil Booth
be7cb011a3
Simply verifier now network is in-process
2015-08-31 18:12:02 +09:00
Neil Booth
2a1b717a21
Fix scripts/peers
...
Needed an almost complete rewrite now we use select.
2015-08-31 17:44:50 +09:00
Neil Booth
748662dede
Add a debugging traceback.
2015-08-31 14:38:19 +09:00
Neil Booth
2ee506ac03
Fix typo.
2015-08-31 14:05:38 +09:00
Neil Booth
768adfb337
Fix "restore" further by accepting --mpk
2015-08-31 13:52:18 +09:00
Neil Booth
2d05e7d891
Merge the network and network_proxy
2015-08-31 12:00:38 +09:00
Neil Booth
4d6a0f29ee
Fix 'restore' command line to take -C.
2015-08-31 11:34:44 +09:00
ThomasV
92e0744470
Refactoring of daemon:
...
* gui and daemon are in the same process
* commands that require network are sent to the daemon
* open only one gui window per wallet
2015-08-30 11:31:51 +02:00
Neil Booth
351272f0b6
Small optimization for large wallets
...
Previously the verifier job would scan all transactions in
unverified_tx each time it ran.
Nothing was ever removed from this map; it would essentially
be the full set of transactions.
As the job runs about 10 times a second, for a wallet with 500 txs
this would be 5,000 useless loops a second.
This patch makes unverified_tx be simply the set of confirmed
transactions that haven't yet been verified. txs are added once
confirmed, and removed once verified. Hence it will almost always be
empty.
2015-08-28 12:39:19 +09:00
Neil Booth
478bde8afa
Access to unverified_tx no longer needs a lock
...
Once the proxy thread jobs are created only they access this,
and they all run under the proxy thread, so there is no contention.
2015-08-28 11:10:50 +09:00
ThomasV
578a83fa30
show error message raised during sign_transaction. see issue #1422
2015-08-27 08:22:02 +02:00
Neil Booth
695aebaa80
Clean up imports; use self.print_error
2015-08-27 15:12:54 +09:00
Neil Booth
91049c8af8
Protect proxy against ill-formed server responses
2015-08-27 15:09:00 +09:00
Neil Booth
9455815ad0
Merge requested_merkle and merkle_roots.
2015-08-26 17:12:40 +09:00
Neil Booth
b64c42b1eb
Make the verifier a thread job instead of a thread
...
The verifier, like the synchronizer, now runs as part of the
network proxy thread.
2015-08-26 17:07:36 +09:00
Neil Booth
01491dd1d0
Have network_proxy use ThreadJob framework
...
Rename WalletSynchronizer to Synchronizer so that diagnostic messages,
which are based on class name, still refer to Synchronizer.
2015-08-26 16:50:40 +09:00
Neil Booth
56654ec4e9
Introduce thread job framework.
...
This is a cleaner generalization of the functionality added
to network_proxy.py a few months ago, whereby jobs can be
added and removed from a thread's main loop. This allows
us to cut down on unnecessary threads.
A follow-up patch will update the proxy to this framework.
2015-08-26 16:41:12 +09:00
Roman Zeyde
eb66289314
test_transaction: add BCDataStream test case
2015-08-25 15:51:22 +03:00
Roman Zeyde
33b78551a3
test_transaction: add Transaction.sweep() test case
2015-08-25 15:21:44 +03:00
Roman Zeyde
6a7e145053
test_transaction: add test suite for lib.transaction module
2015-08-25 12:05:49 +03:00
Neil Booth
a056f9804b
Notify when a chunk of headers is validated
...
And a couple of cosmetic changes.
This should fix #1379 .
2015-08-25 14:27:53 +09:00
Roman Zeyde
3c3d96f69e
test_mnemonic: add tests for mnemonics
2015-08-24 17:35:17 +03:00
Roman Zeyde
bb97624de2
test_account: add test case for OldAccount
2015-08-24 10:57:41 +03:00
Roman Zeyde
893849ab39
test_account: add test case for BIP32_Account
2015-08-24 10:57:41 +03:00
Roman Zeyde
a92ca583bd
test_interface: fix check_host_name test
2015-08-24 10:02:10 +03:00
Neil Booth
49a48d52ac
Use select.
2015-08-22 14:03:08 +02:00
ThomasV
85c0dda1a9
version 2.5
2015-08-22 13:42:53 +02:00
ThomasV
234471b70c
version 2.4.3 and release notes
2015-08-22 11:42:18 +02:00
dabura667
678ec84267
Add Chinese Simplified wordlist
2015-08-20 23:18:47 +09:00
ThomasV
37034bdf7f
listunspent: convert value to float
2015-08-19 11:10:55 +02:00
ThomasV
6bbfef5198
add timestamp to history command output, convert value to float
2015-08-19 11:04:06 +02:00
ThomasV
93b674982e
fix tx strip
2015-08-18 16:33:51 +02:00
ThomasV
f583fcfedb
do not import dns on android
2015-08-18 12:15:56 +02:00
ThomasV
3f1e4ae3b1
strip spaces from raw tx
2015-08-18 10:17:53 +02:00
ThomasV
4a514c7638
version 2.4.2 and release notes
2015-08-17 13:20:45 +02:00
ThomasV
fa9ce51685
deprecate dumpprivkeys
2015-08-16 16:30:55 +02:00
ThomasV
02e81a3655
read command line arguments from stdin if '-' is passed
2015-08-16 16:11:52 +02:00
ThomasV
5686499eae
fix #1400
2015-08-16 13:50:03 +02:00
ThomasV
bfae04e6f0
Improved in network callbacks:
...
* Pass arguments
* Don't redraw history when a tx is verified.
* Fix new tx notifications.
2015-08-16 11:36:23 +02:00
ThomasV
438bc94dce
fix #1399
2015-08-16 11:25:23 +02:00
ThomasV
ede7423bf2
Merge pull request #1397 from romanz/master
...
Add tests to bitcoin.py and ripemd.py
2015-08-15 13:42:59 +02:00
ThomasV
e0939348c3
minimize calls to estimated_fee
2015-08-15 12:31:57 +02:00
ThomasV
6232a0b76c
speedup fee computation when collecting small inputs
2015-08-15 10:02:47 +02:00
Roman Zeyde
ac8e792c58
test_ripemd: add simple test case for ripemd module
2015-08-15 09:52:27 +03:00
Roman Zeyde
fa412c3a86
test_bitcoin: add tests for int packing
2015-08-15 09:41:20 +03:00
Roman Zeyde
175fef2d56
test_bitcoin: add test case for seeds
2015-08-15 09:20:01 +03:00
ThomasV
8a3e5032b1
Merge pull request #1389 from romanz/master
...
remove unused code
2015-08-14 16:48:23 +02:00
ThomasV
d69da1ef43
add/remove transaction: remove unused tx_height parameter
2015-08-14 15:30:00 +02:00
ThomasV
e9b346ed29
add command for master private key
2015-08-14 15:23:50 +02:00
Roman Zeyde
abc7429b0f
bitcoin: remove multiple imports
2015-08-09 19:35:02 +03:00
Roman Zeyde
b5854b6e8b
account: remove unused variables
2015-08-09 19:35:02 +03:00
Roman Zeyde
a3a01be8ce
remove unused code
2015-08-09 19:02:04 +03:00
ThomasV
c3991091de
move init_qt hook
2015-08-07 20:06:31 +02:00
ThomasV
6b87256795
sign tx with empty scriptSig inputs
2015-08-07 17:11:42 +02:00
ThomasV
5f413aca1c
rm unneeded float conversion
2015-08-07 14:36:43 +02:00
ThomasV
c844d22a19
synchronous_get: return -> raise exception
2015-08-07 12:22:47 +02:00
ThomasV
85d9b8aa8d
fix: dePem cert before parsing
2015-08-07 11:58:59 +02:00
ThomasV
ca3c320ef4
simplify x509 constructor
2015-08-07 11:39:30 +02:00
ThomasV
713fa00d86
fix estimatefee for daemon
2015-08-07 10:54:32 +02:00
ThomasV
65c7dfafbc
check alias in signrequest
2015-08-07 09:00:00 +02:00
ThomasV
34e3261efd
fix estimate_fee
2015-08-06 19:26:34 +02:00
ThomasV
714445aba8
fix: wallet.is_used
2015-08-06 19:19:25 +02:00
ThomasV
e93ff18776
rename help -> commands
2015-08-06 15:52:38 +02:00
ThomasV
aadffa0c8f
check_ssl_config: verify pubkey
2015-08-05 20:59:51 +02:00
ThomasV
a9e74da11c
check SSL certificate in config dialog
2015-08-05 20:49:45 +02:00
ThomasV
43880d452e
dynamic fees
2015-08-05 15:45:28 +02:00
ThomasV
476d198be9
fix missing occurences of X509.parse
2015-08-04 18:31:08 +02:00
ThomasV
e8d30129ea
replace TLSLite dependency with minimal RSA implementation
2015-08-04 18:16:06 +02:00
Neil Booth
4c8408b42d
Print reason for failure to connect headers
...
Used to fail just with a "header didn't connect" message, now
it gives a reason too.
2015-08-01 13:09:52 +09:00
ThomasV
8ae64064b6
dont silence dns errors
2015-07-31 21:56:22 +02:00
ThomasV
380bccacf0
request_queue.put should never block, because maxsize is not set
2015-07-31 20:11:12 +02:00
ThomasV
963ec4ca3e
dnssec: don't call get_default_resolver
2015-07-31 20:02:55 +02:00
ThomasV
9938fbd160
version 2.4.1
2015-07-31 14:52:16 +02:00
ThomasV
465d1dfd8b
fix #1378
2015-07-31 14:51:48 +02:00
ThomasV
2ec19e7528
fix bugs with ecdsa/dnssec
2015-07-31 13:49:14 +02:00
Eagle[TM]
4731418af9
Use ssl.PROTOCOL_TLSv1 on client side to avoid SSLv23
2015-07-30 20:40:05 +02:00
ThomasV
77b0e7be5e
network: initial status should be 'unknown', distinct from 'connecting'
2015-07-30 11:32:16 +02:00
ThomasV
348a9b0e21
fix imports, cleanup
2015-07-29 22:16:36 +02:00
ThomasV
e96a0945ca
do not use pycrypto for DNSSEC validation
2015-07-29 22:06:44 +02:00
Roman Zeyde
5fbd7553ed
interface: fix check_host_name() pattern matching
...
The existing pattern matching code:
val.find('*.') == 0 and name.find(val[1:]) + len(val[1:]) == len(name)
will return True in the following case:
val = '*.host.com'
name = 'blah.org'
since string.find() will return -1, len(val[1:]) == 9 and len(name) == 8.
2015-07-26 18:11:30 +03:00
ThomasV
70d59bbe06
Merge pull request #1376 from romanz/master
...
util: fix small typo at parse_URI() and update its unittests
2015-07-25 17:19:28 +02:00
ThomasV
96c3513cb2
add character encoding declaration to index.html
2015-07-25 12:50:00 +02:00
ThomasV
cbf13197e2
websocket: hostname
2015-07-25 12:31:35 +02:00
ThomasV
e9f5e6866d
check www dir on daemon start
2015-07-25 12:25:47 +02:00
Roman Zeyde
87d3fafa22
util: fix small typo at parse_URI() and update its unittests
2015-07-25 12:41:37 +03:00
ThomasV
0c5bfb8c26
print -> util.print_error
2015-07-24 14:23:03 +02:00
ThomasV
e6924d9912
prevent websocket closing with balnk target
2015-07-24 13:30:51 +02:00
ThomasV
3da148f406
use local copy of javascript files
2015-07-24 12:36:08 +02:00
ThomasV
f0e6f5bf64
Merge branch 'master' of github.com:spesmilo/electrum
2015-07-24 11:39:31 +02:00
ThomasV
18d145cced
add websocket to webpages
2015-07-24 11:39:12 +02:00
Neil Booth
0f2d4bd375
Add bitflyer.jp block explorer
2015-07-24 15:17:15 +09:00
ThomasV
41d9c94821
don't add bip70 suffixes
2015-07-22 16:00:08 +02:00
ThomasV
6d54512627
clearrequests command; minor type fix
2015-07-22 15:46:53 +02:00
ThomasV
508b5373ac
minor fixes
2015-07-22 15:33:50 +02:00
ThomasV
8960b16e09
more sanitization
2015-07-22 15:28:43 +02:00
ThomasV
b813ba0bdd
sanitize timestamp and expiration in requests
2015-07-22 15:24:15 +02:00
ThomasV
37c07278d5
update var names
2015-07-22 09:37:17 +02:00
ThomasV
8f507d2afd
change var name
2015-07-22 09:24:44 +02:00
ThomasV
acbd434f76
cleanup request signing
2015-07-22 09:06:03 +02:00
ThomasV
a8ed934a7f
fix bug with make_unsigned_request
2015-07-21 16:30:25 +02:00
ThomasV
a6c65b8997
change internal format of requests
2015-07-21 12:26:37 +02:00
ThomasV
2c1fb1e37c
do not raise exception if uri has an unknown key
2015-07-21 11:54:45 +02:00
ThomasV
e77f0c98e7
extend bitcoin: URI with signature data, instead of serialized format
2015-07-21 11:40:55 +02:00
ThomasV
9c30ad3dd5
extend bitcoin URIs with signed payment requests passed directly
2015-07-18 18:42:56 +02:00
ThomasV
e879cb4552
https download of headers
2015-07-18 11:17:19 +02:00
ThomasV
380e072842
fix bug with import_key
2015-07-18 11:00:41 +02:00
neocogent
8792301846
restrict to *. only, add DN support also
2015-07-17 11:17:43 +07:00
neocogent
3c563b85ad
adjust comment about wildcards
2015-07-17 04:22:39 +07:00
neocogent
59c231808f
add wildcard ssl support
2015-07-17 04:03:40 +07:00
Neil Booth
e7ea3e5d01
Add two more block explorers
...
chain.so and biteasy.com
2015-07-15 20:58:19 +09:00
ThomasV
471cab6089
do not base64encode signatures in requests
2015-07-14 16:37:04 +02:00
Neil Booth
677f235e4b
Fix typo.
2015-07-14 09:00:59 +09:00
ThomasV
f320178db9
no empty amount in bip70
2015-07-13 21:37:41 +02:00
ThomasV
6fa7f57f10
express expiration dates in natural language
2015-07-13 20:47:11 +02:00
ThomasV
aa7b9af501
minor fix
2015-07-12 08:13:09 +02:00
ThomasV
da55d9ed6e
payment requests: cmdline fixes
2015-07-11 21:09:56 +02:00
ThomasV
fbc23a61a3
fix cmdline addrequest
2015-07-11 21:03:02 +02:00
ThomasV
dff8f6b338
rework paymentrequest methods
2015-07-11 20:26:30 +02:00
ThomasV
35aba0c14b
show alias satus in gui after fetch
2015-07-11 18:14:00 +02:00
Eagle[TM]
4578777c29
network: Update default servers
2015-07-10 19:35:02 +02:00
ThomasV
cb2bc54f96
store and display signatures of own requests
2015-07-09 14:15:30 +02:00
ThomasV
71243c2a57
dnssec: fix hash, and skip SOA
2015-07-09 09:02:39 +02:00
ThomasV
094ce2e4b3
add DNSSEC chain validation
2015-07-08 19:20:54 +02:00
ThomasV
538846ee0b
remove incorrect dnssec validation
2015-07-08 15:14:00 +02:00
ThomasV
f3c4a55e77
add dnssec verification to payment requests
2015-07-07 08:59:03 +02:00
ThomasV
e9f3b21519
Fix transaction update
2015-07-06 00:22:19 +02:00
ThomasV
15f592f022
trezor multisig: build xpub from pubkey
2015-07-05 23:29:36 +02:00
ThomasV
0368a2cd5e
fix bug from #1281
2015-07-05 18:16:33 +02:00
ThomasV
b0f7411a0a
check and fix history on startup
2015-07-05 17:29:41 +02:00
ThomasV
e2c19ff871
fix #1344
2015-07-05 16:19:44 +02:00
ThomasV
9947173183
fix tx deserialize
2015-07-05 13:29:02 +02:00
ThomasV
5c2235e54b
make tx.deserialize preserve existing inputs
2015-07-04 17:33:18 +02:00
ThomasV
c224a9ad9d
enable multisig with trezor
2015-07-04 12:10:52 +02:00
ThomasV
7933ac4324
reformatting
2015-07-04 12:07:33 +02:00
ThomasV
250bb03034
Merge pull request #1337 from kyuupichan/auto_connect
...
Suggested auto_connect daemon mode fix for #1336
2015-07-03 09:58:57 +02:00
ThomasV
9e84d12a6f
Merge pull request #1339 from kyuupichan/daemon
...
Avoid string representation issues, fix #1338
2015-07-03 09:41:21 +02:00
Neil Booth
930304e46b
Remove apparently dead code.
2015-07-03 13:57:42 +09:00
Neil Booth
389c8e8a8d
Only write config file once.
2015-07-03 13:56:17 +09:00
Neil Booth
3a50c78a47
Avoid string representation issues
...
Caused by unicode vs non-unicode strings.
Fixes #1338
2015-07-03 13:53:15 +09:00
Neil Booth
5acbe00cbf
Suggested auto_connect daemon mode fix for #1336
2015-07-03 11:50:53 +09:00
ThomasV
65e7667eba
build reverse history index, to know when a transaction can be removed
2015-07-02 16:07:04 +02:00
ThomasV
616becd9a8
move openalias from plugins to core
2015-07-02 12:44:53 +02:00
ThomasV
fa2de58c90
redo fixes for 1324
2015-07-02 09:22:59 +02:00
ThomasV
ccd07c6a80
Merge branch 'synchronizer-unthread' of https://github.com/kyuupichan/electrum into kyuupichan-synchronizer-unthread
2015-07-02 09:20:51 +02:00
ThomasV
0c37009cdb
fix is_address (forgot p2sh)
2015-07-02 08:53:17 +02:00
ThomasV
c0858f314f
Merge branch 'master' of git://github.com/spesmilo/electrum
2015-07-02 08:48:53 +02:00
ThomasV
cf5328b143
do not accet testnet addresses in bitcoin.is_address
2015-07-02 08:48:48 +02:00
Roman Zeyde
daee02e22d
commands: fix typo
...
rename "sec" to "privkey"
2015-07-01 18:15:35 +03:00
Roman Zeyde
9c06bee8c7
interface: slow_parse() is not defined for X509
2015-07-01 16:54:11 +03:00
ThomasV
604d5d432c
sanitize server at the interface level (follow up to issue #1330 )
2015-07-01 09:09:00 +02:00
ThomasV
0ac3aebb88
fix proxy setting issue #1330
2015-07-01 08:45:47 +02:00
Neil Booth
d0308010da
Client-side fix for #1324
...
Print messages rather than throwing uncaught exceptions that kill the
thread.
I cannot fix the server side as I have no way to test it.
2015-06-30 23:14:05 +09:00
Michael Wozniak
523aa7c380
update restore multisig to add type
2015-06-27 16:12:15 -04:00
ThomasV
765ef338ec
fix multisig seed detection
2015-06-27 21:53:55 +02:00
ThomasV
118052d815
v2.4 will require protocol v0.10
2015-06-27 15:22:34 +02:00
ThomasV
56b3c98332
generic m of n multisig
2015-06-27 12:43:29 +02:00
ThomasV
37d5e3b42a
version 2.3.3, release notes
2015-06-26 14:35:22 +02:00
ThomasV
fdd43bd5ad
fix issue in f307b18546
2015-06-24 09:35:54 +02:00
ThomasV
f307b18546
Merge pull request #1268 from kyuupichan/blockchain_nothread
...
Make the blockchain class not a thread
2015-06-24 09:00:52 +02:00
ThomasV
56f8fc62f9
fix 1312
2015-06-23 16:58:21 +02:00
ThomasV
f894af90d7
fix deserialize_proxy. fixes #1309
2015-06-23 14:22:10 +02:00
ThomasV
74d26f5bdc
better error message
2015-06-15 10:52:03 +02:00
ThomasV
0682695da9
version 2.3.2
2015-06-14 11:39:41 +02:00
ThomasV
00af3b394b
Merge pull request #1280 from kyuupichan/BIP-LI01
...
Implement BIP-LI01.
2015-06-14 08:08:55 +02:00
ThomasV
ec9cdfaf48
blockchain: restore call to set_local_height, forgotten in previous commit
2015-06-13 16:45:42 +02:00
ThomasV
d09a10e0f7
fix is_used for unmatured tx
2015-06-13 16:40:50 +02:00
Roman Zeyde
90076b0b79
util: add print_msg() method to DaemonThread
...
it is used by at synchornizer.py, line 173
2015-06-13 16:58:08 +03:00
Roman Zeyde
c324d21107
transaction: added missing import
...
for "traceback.print_exc(file=sys.stdout)" statement at line 361
2015-06-13 16:58:08 +03:00
Roman Zeyde
cb4d3a78b4
verifier: fix typo
2015-06-13 16:58:08 +03:00
ThomasV
12feb4cf9c
Merge pull request #1294 from romanz/master
...
bitcoin: remove dead code
2015-06-13 13:25:28 +02:00
Roman Zeyde
6bb9ee0cf7
bitcoin: remove dead code
2015-06-13 08:34:56 +03:00
ThomasV
7a3ddfc6a4
version 2.3.1
2015-06-12 20:22:02 +02:00
ThomasV
10740470cc
fix requests_dir bug
2015-06-12 20:18:06 +02:00
ThomasV
d75d3fdf5b
fix --pending option
2015-06-12 20:15:53 +02:00
ThomasV
42084a3610
improve docstrings
2015-06-12 10:34:45 +02:00
ThomasV
1fbbd5d65d
require network to show request status
2015-06-12 09:58:29 +02:00
ThomasV
cbcb799eec
add filtering options for listrequests
2015-06-12 09:46:21 +02:00
ThomasV
f3597f865b
--force option for addrequest
2015-06-11 20:44:38 +02:00
ThomasV
db6c69f0da
Merge pull request #1289 from Kefkius/patch-1
...
Fix typo in param_descriptions
2015-06-11 13:47:06 +02:00
ThomasV
a103f59686
new flags for listaddresses
2015-06-11 12:49:14 +02:00
ThomasV
317a9de71d
check amount before calling make_payment_request
2015-06-11 12:32:52 +02:00
ThomasV
ba78093e2e
getalias: no check
2015-06-11 12:08:38 +02:00
Kefkius
b6e4013a9d
Fix typo in param_descriptions
...
heigh --> height
2015-06-11 04:55:08 -04:00
ThomasV
e5b5e8d0f4
comment our ackrequest
2015-06-11 10:50:25 +02:00
ThomasV
d6cdc085ea
fix #1283
2015-06-11 10:03:26 +02:00
ThomasV
16344b43af
fix issue #1282
2015-06-11 08:56:07 +02:00
ThomasV
e31ac7905d
Clear address cache when interface changes. Send requests only if interface is connected.
2015-06-11 02:10:06 +02:00
Neil Booth
28f440350d
Fix request handling.
...
Handle local requests immediately.
Defer those requiring connectivity until we have an interface.
2015-06-11 08:31:19 +09:00
ThomasV
5714d9f4fc
shorter docstrings
2015-06-10 23:48:36 +02:00
ThomasV
145bf5cf0a
rename decodetx and sendtx commands. merge mktx and payto commands.
2015-06-10 23:21:25 +02:00
ThomasV
e067e34313
make global options: -w and -o
2015-06-10 22:29:31 +02:00
ThomasV
2b9b42d5f7
Merge pull request #1286 from kyuupichan/remove_urllib2
...
Use requests instead - SSL handling is superior
2015-06-10 21:15:27 +02:00
ThomasV
e517321f76
Network: fix handle_requests, must process requests even if we are not connected
2015-06-10 18:26:03 +02:00
ThomasV
6ea04e2d47
Network: Fix switch_to_interface (check that interface is connected)
2015-06-10 18:24:57 +02:00
ThomasV
060e3aa23e
plugins: call load_wallet in install wizard
2015-06-10 12:40:08 +02:00
Neil Booth
a3ad32bd91
Use requests instead - SSL handling is superior
2015-06-10 16:15:00 +09:00
ThomasV
479a6f84e7
paymentrequest: add headers to http request
2015-06-10 09:04:34 +02:00
ThomasV
8bccf7b2db
replace httplib with requests
2015-06-10 08:29:50 +02:00
ThomasV
ee6b718ea4
better message
2015-06-09 16:10:44 +02:00
ThomasV
f70a996619
fix trezor initialiation hook (pass window in load_wallet)
2015-06-09 09:58:40 +02:00
Neil Booth
e8db8983ec
Make the synchronizer not a thread.
...
The synchronizer's work is done from the network proxy's main loop.
A minor problem with the old synchronizer was that it considered itself
out of date if the network was out of date. This was too generic: the
network can have pending requests unrelated to the synchronizer. This
resulted in the synchronizer often unnecessarily flipping the wallet
between up-to-date and not-up-to-date, and causing unnecessary calls
to wallet.save_transactions(). This was observable when opening the
network dialog box: frequently just opening it would cause a wallet
status change and transaction flush, simply because the network dialog
sends a get_parameters() request. This rework of the synchronizer does
not have that issue.
2015-06-09 08:41:31 +09:00
ThomasV
70037b89a9
version 2.3 and release notes
2015-06-08 18:40:21 +02:00
ThomasV
8995cdbf14
rename fields: 'time' -> 'timestamp', payment_requests
2015-06-08 13:36:35 +02:00
ThomasV
357c405ac6
fix publish_request
2015-06-08 13:21:13 +02:00
ThomasV
d367930113
amount is in satoshis
2015-06-08 13:20:42 +02:00
ThomasV
9bd94e5062
refactor payment requests
2015-06-08 12:51:45 +02:00
ThomasV
572a463806
reason->memo
2015-06-08 08:06:38 +02:00
ThomasV
3bb00f0006
store json record requests
2015-06-07 21:52:23 +02:00
ThomasV
bf755f8ac0
jsonrpc interface
2015-06-07 19:11:54 +02:00
ThomasV
48e53498db
improve requests
2015-06-07 18:44:33 +02:00
Neil Booth
98bea614d8
Implement BIP-LI01.
...
No more need to randomly place change.
2015-06-06 22:25:40 +09:00
ThomasV
0b874b2bb0
Readding pending_transactions_for_notifications, needed by the gui.
2015-06-05 08:56:55 +02:00
Neil Booth
a2445aa27d
Remove unused vars and imports.
2015-06-05 11:54:00 +09:00
Neil Booth
2f2e468d0a
SocketPipe shouldn't close the socket.
...
This is a layering violation - the SocketPipe doesn't own
the socket and provides no other way to close the socket, leading
to unnecessary complexity like that in interface.py.
I looked at deamon.py and NetworkProxy - the two other users,
and they don't close the sockets explicitly, just let them be
garbage collected.
2015-06-04 16:30:59 +09:00
ThomasV
90d7179d73
Merge pull request #1276 from kyuupichan/need_interface
...
Need an interface to process a request.
2015-06-04 05:57:04 +02:00
Neil Booth
caebdd0819
Need an interface to process a request.
...
Occasionally triggered with a race at start up, typically from
the verifier requesting a merkle root.
2015-06-04 11:22:57 +09:00
ThomasV
fc23b0f490
fix #1274
2015-06-03 14:18:49 +02:00
ThomasV
ec795ba3c0
fix var name
2015-06-03 11:39:44 +02:00
ThomasV
ab60da89ac
Add a help group for config variables. Change name of ssl variables
2015-06-03 11:34:52 +02:00
ThomasV
34360bddfb
add missing definition of COIN
2015-06-03 10:25:21 +02:00
ThomasV
0ddd94b5b3
remove forgotten debugging statement
2015-06-03 10:03:55 +02:00
ThomasV
ca62df89d4
fix: set_config
2015-06-03 10:02:12 +02:00
ThomasV
d85a11173d
verify: return earlier if request is empty
2015-06-03 09:34:35 +02:00
ThomasV
cbeeedcca2
Add note for commands that are not SPV; fix format_request parameter
2015-06-03 09:12:38 +02:00
ThomasV
fb6a74e034
fix typo
2015-06-02 16:49:21 +02:00
ThomasV
3188ff05a3
fix is_watching_only
2015-06-02 16:41:32 +02:00
ThomasV
b832a5cea4
Merge pull request #1272 from kyuupichan/if-socket
...
Fix couple of minor socket issues
2015-06-02 16:28:42 +02:00
ThomasV
088d8e8415
show request status
2015-06-02 11:36:06 +02:00
Neil Booth
ab2f80c3e0
Fix couple of minor socket issues
...
Set timeout and socket options on all simple sockets. At present
some code paths can miss it, such as when the SSL certificate is
CA-signed.
Add a missing check for failure.
2015-06-02 18:13:36 +09:00
ThomasV
e4946cf26e
setconfig: return False on error
2015-06-02 11:05:21 +02:00
ThomasV
31c4849566
url_rewrite
2015-06-02 10:41:36 +02:00
ThomasV
b83b7fa5c8
cmd line: format payment requests
2015-06-02 10:25:39 +02:00
ThomasV
2727df962e
requests: store path not url
2015-06-02 09:56:10 +02:00
ThomasV
b9e4825422
fix request_dir variable
2015-06-02 09:37:54 +02:00
ThomasV
514ea6aa8c
doc for addrequest
2015-06-02 09:31:24 +02:00
ThomasV
d41785c783
save payment requests in requests_dir
2015-06-02 09:18:39 +02:00
Neil Booth
d16714a1db
Make the blockchain class not a thread
...
Remove interface communication out of blockchain.py
into network.py. network.py handles protocol requests
for headers and chunks. blockchain.py continues to
handle their analysis and verification.
If an interface provides a header chain that doesn't
connect, it is dismissed, as per a previous TODO comment.
This removes a thread and another source of timeouts.
I see no performance issues with this when truncating the
blockchain.
Rename 'result' to 'header' for clarity.
2015-06-01 20:53:42 +09:00
ThomasV
832369d7c4
Merge pull request #1270 from kyuupichan/if-tristate
...
Make interface status tri-state.
2015-06-01 13:09:40 +02:00
ThomasV
0938299e9b
move payment requests logic to wallet, add basic commands
2015-06-01 13:02:09 +02:00
Neil Booth
76355e66c8
Make interface status tri-state.
...
This allows us to distinguish between connecting and connected
state in interface.py (used to be done in network.py but that
had other issues).
This means we don't switch to a connecting server, and get_interfaces()
does not report connecting ones.
2015-06-01 18:22:03 +09:00
Neil Booth
03e53a5e01
Create a constant for 100000000 and use it
...
Use same name as is in bitcoind.
Note that one of the constants in text.py had the wrong number
of zeroes previously...
2015-06-01 14:53:36 +09:00
ThomasV
4d9be9a6d2
commands: use decorator to register commands
2015-06-01 06:10:06 +02:00
ThomasV
7e20901e3b
read command defaults
2015-06-01 00:17:50 +02:00
ThomasV
c3f82fd69c
fix cmd descriptions
2015-05-31 23:23:13 +02:00
ThomasV
f8eb68458d
use docstrings
2015-05-31 23:17:44 +02:00
ThomasV
ddd6a58cc7
commands: extract params and options from arguments
2015-05-31 22:42:34 +02:00
ThomasV
1d5c6bdc2d
deserialized option for mktx
2015-05-31 18:21:14 +02:00
ThomasV
4042ac69ec
fix varname
2015-05-31 18:03:58 +02:00
ThomasV
9c76a0232e
distinction between 'destination' and 'address'
2015-05-31 18:02:09 +02:00
ThomasV
200563c4e9
fix sweep fee
2015-05-31 17:49:59 +02:00
ThomasV
c4d822b0cf
add 'unsigned' option
2015-05-31 17:38:57 +02:00
ThomasV
ee20910c65
fix signtransaction flags
2015-05-31 17:21:02 +02:00
ThomasV
a3cd33fe03
add option to disable dnssec
2015-05-31 16:43:27 +02:00
ThomasV
9be94c74d2
add getalias command
2015-05-31 15:06:52 +02:00
ThomasV
8513dd2c63
fix cmd names
2015-05-31 15:00:56 +02:00
ThomasV
c006678289
fix indent
2015-05-31 15:00:43 +02:00
ThomasV
5a76a0fc95
hook openalias plugin to command line interface
2015-05-31 14:42:16 +02:00
ThomasV
ee5f499fc1
use contacts in command line
2015-05-31 14:10:52 +02:00
ThomasV
5cd3bfedb6
always pass coins to wallet.make_unsigned_transactions. fix \! shortcut in commands
2015-05-31 11:31:41 +02:00
ThomasV
0531f00c80
support for \! shortcut in command line
2015-05-31 10:40:12 +02:00
ThomasV
0caa29784c
separate param_descriptions and improve help messages
2015-05-31 10:03:53 +02:00
ThomasV
cc610d352f
merge signtxwithwallet and signtxwithkey
2015-05-31 09:28:47 +02:00
ThomasV
1d5f04c588
fix function name
2015-05-31 08:49:47 +02:00
ThomasV
53a3f00389
add --deserialize option to gettransaction
2015-05-31 08:20:09 +02:00
ThomasV
9acc0e4ed0
minor formatting
2015-05-31 08:06:20 +02:00
ThomasV
2167b9e93d
Merge pull request #1264 from kyuupichan/unify_interfaces
...
Remove pending_servers, self.interfaces is now the complete set of
2015-05-31 08:02:47 +02:00
ThomasV
bd6bfcea0e
Merge pull request #1267 from kyuupichan/spendable_coins
...
get_spendable_coins and frozen addrs
2015-05-31 07:53:43 +02:00
Neil Booth
320f9a3790
get_spendable_coins and frozen addrs
...
Two callers of get_spendable_coins were removing frozen addrs
before calling. Put that functionality in the function.
We shouldn't be able to send_from a frozen address. This was
possible in the current release because logic assumed a two-element
tuple was returned when it is now three-element. Fix that too.
Command line options listunspent and createrawtransaction currently
ignore frozen addresses. I'm not sure that's right but I've preserved
that behaviour.
With this patch only the wallet class refers to self.frozen_addresses;
other clients use is_frozen() now.
2015-05-31 14:07:50 +09:00
ThomasV
00ded10810
fix: freeze does not need password
2015-05-31 06:45:51 +02:00
Neil Booth
0f29984f07
Speed up freezing and unfreezing of many addresses
...
Speedup mainly from writing to storage only once.
Make frozen_addresses a set in memory, as sets give cleaner
code and are more efficient.
Minor change in behaviour: command line freezing used to return
False if the address isn't in the wallet OR the address was already
frozen. Now it returns more like a success code: it returns False
only if the address isn't in the wallet regardless of frozen state.
Similarly for unfreezing.
2015-05-31 11:54:21 +09:00
ThomasV
d6f4b57d64
help function for python console
2015-05-30 19:13:28 +02:00
ThomasV
92a158b910
proper handling of arg_types. add more options for listaddresses
2015-05-30 18:49:58 +02:00
ThomasV
2ab9272f52
fix positional arguments
2015-05-30 16:14:56 +02:00
ThomasV
966bb3c15f
separate help and description for commands
2015-05-30 14:07:48 +02:00
ThomasV
0ad73b0899
better help
2015-05-30 13:38:05 +02:00
ThomasV
d2f3e3f349
fix cmdline listcontacts
2015-05-30 12:35:58 +02:00
Neil Booth
2b66f0d459
Remove pending_servers, self.interfaces is now the complete set of
...
interfaces we have created.
Existing code has the concept of pending servers, where a connection
thread is started but has not sent a connection notification, and
and interfaces which have received the notification.
This separation caused a couple of minor bugs, and given the cleaner
semantics of unifying the two I don't think the separation is beneficial.
The bugs:
1) When stopping the network, we only stopped the connected interface
threads, not the pending ones. This would leave Python hanging
on exit if we don't make them daemon threads.
2) start_interface() did not check pending servers before starting
a new thread. Some of its callers did, but not all, so it was
possible to initiate two threads to one server and "lose" one thread.
Apart form fixing the above two issues, unification causes one more
change in semantics: we are now willing to switch to a connection
that is pending (we don't switch to failed interfaces). I don't
think that is a problem: if it times out we'll just switch
again when we receive the disconnect notification, and previously the
fact that an interface was in the interaces dictionary wasn't a
guarantee the connection was good anyway: we might not have processed
a pending disconnection notification.
2015-05-30 17:42:11 +09:00
Neil Booth
4eaff5678d
Avoid change address reuse if possible
...
As discussed on #electrum yesterday.
Increase change gap limit to 6.
Choose the next unused change address, if any, otherwise pick
one at random from the gap limit.
2015-05-30 17:07:29 +09:00
ThomasV
48f98f75db
improve help messages
2015-05-30 09:43:42 +02:00
ThomasV
bf1aa6263c
add description to command parameters
2015-05-30 09:36:54 +02:00
ThomasV
5dd535f915
move global options to parent, to avoid order-sensitive parsing
2015-05-30 07:58:47 +02:00
ThomasV
701527df20
fix -P option
2015-05-30 06:56:45 +02:00
ThomasV
6201133c48
fix #1263
2015-05-30 06:38:46 +02:00
ThomasV
a0c7219db0
rm debugging print
2015-05-29 19:30:00 +02:00
ThomasV
2e67ca43e8
use csv instead of mkmanytx
2015-05-29 19:26:06 +02:00
ThomasV
3ddbbc1008
Parse arguments with argparse.
...
Move parser to commands.py
2015-05-29 19:24:50 +02:00
ThomasV
3195b94f28
Merge pull request #1257 from kyuupichan/update_fee
...
Fix calls to update_fee
2015-05-28 19:34:04 +02:00
ThomasV
a3dd51f476
rm failing test
2015-05-28 15:43:50 +02:00
ThomasV
9dc8393cf6
move import test to wallet.py
2015-05-28 15:39:26 +02:00
ThomasV
3fdfd23ca9
add check in importprivkey
2015-05-28 15:27:22 +02:00
Neil Booth
05cb9975cb
Fix calls to update_fee
...
Fees should be recalculated when send_from changes.
Fees should be recalculated when editing fee preference, but
only save to storage when leaving the fee per kb widget.
No need to emit a textEdited signal; the widget does that already
(with the effect that we used to call update_fee() twice).
2015-05-28 15:52:31 +09:00
ThomasV
dd8493f97e
make coin selection a bit faster
2015-05-27 11:07:57 +02:00
ThomasV
65e7dca3de
Merge pull request #1249 from kyuupichan/stale_interfaces2
...
Common stale interface testing and switching
2015-05-27 10:42:59 +02:00
ThomasV
8e6e4f1b92
Merge pull request #1255 from kyuupichan/amountedit2
...
Fix nasty bug in amount editors
2015-05-27 10:19:07 +02:00
Neil Booth
e5d243e08c
Fix nasty bug in amount editors
...
str() can convert amounts to scientific notation
2015-05-27 17:14:40 +09:00
Neil Booth
45a8740755
Common stale interface testing and switching
...
Three places used to test for lagging and switch. Commonize the
code. We test for lagging before autoconnect so lagging
diagnostics are output if not auto-connect.
Lagging diagnotics moved to server_is_lagging().
2015-05-27 00:42:43 +09:00
ThomasV
ae957f3736
make_transaction: remove unneeded inputs
2015-05-26 09:09:07 +02:00
ThomasV
7becb28ec8
Merge pull request #1246 from kyuupichan/bug_fix
...
e20dfc unintentionally inverted portable condition
2015-05-25 13:28:42 +02:00
Neil Booth
e63ac88c77
e20dfc unintentionally inverted portable condition
...
This wasn't noticed because the test was also broken.
2015-05-25 16:59:16 +09: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
d5f6651237
follow up e20dfcd3eb
2015-05-25 08:47:25 +02:00
Neil Booth
e20dfcd3eb
Fix SimpleConfig
...
SimpleConfig claims to handle configuration options in priority
command line, user config, system config, which makes sense.
In fact it appears it used priority command line, system config,
user config.
Also, from the priority ordering, it would seem correct that a
value should be unmodifiable if and only if it's set on the command
line. Previously anything in the system config would be unmodifiable.
This patch fixes these and cleans the code up a bit. I noticed this
whilst attempting to unify the 'auto_cycle' setting.
Fixup tests accordingly.
2015-05-25 15:16:19 +09:00
Neil Booth
4f6d2f3d32
Put getting of auto_cycle into one place.
...
Default to False consistently; this may change the behaviour of
network.py's get_parameters().
2015-05-25 14:09:43 +09:00
ThomasV
778297697a
lazy plugin constructor
2015-05-24 20:37:05 +02:00
ThomasV
71046371ec
Merge pull request #1242 from kyuupichan/pick_random_server
...
Clean up pick_random_server() and filter_protocol() and their
2015-05-24 16:43:17 +02:00
ThomasV
117b809bab
fix issue #1238
2015-05-24 16:14:56 +02:00
Neil Booth
01d8f79a75
Clean up pick_random_server() and filter_protocol() and their
...
call sites.
Remove unused imports and redundant random pick of server
2015-05-24 21:07:35 +09:00
ThomasV
48ad7c36a8
show plugin dependencies
2015-05-24 10:06:53 +02:00
ThomasV
d40c12c949
check gui when loading plugins
2015-05-24 09:26:28 +02:00
Neil Booth
89c1a1a0ab
Improve logic in network.py's set_parameters()
...
1) For new proxy or protocol, restart the network and default to
the requested server.
2) Otherwise if we aren't using the requested server, switch to it
3) Otherwise choose a random server if the requested server is
stale and auto_connect is True
As switch_to_interface() now has another user, move the logic
there whereby we close the old interface in order to terminate
subscriptions, in order to have it in one place.
2015-05-23 23:33:17 +09:00
ThomasV
8f98ea4aca
make plugins available without the GUI
2015-05-23 10:38:19 +02:00
ThomasV
89c277de9d
fix pruning error in #1223
2015-05-23 08:45:27 +02:00
ThomasV
0fbbeb16be
Merge pull request #1232 from kyuupichan/switch-or-start
...
switch_to_interface() to start interface if not connected
2015-05-23 07:30:00 +02:00
ThomasV
4aaa9e24f2
Merge pull request #1234 from kyuupichan/storage-tmpfile
...
Prevent race with two electrum instances on same wallet.
2015-05-23 07:22:12 +02:00
Neil Booth
77490e4764
Flush wallet storage once for a sequence of puts.
...
This speeds up save_transactions by 2 to 3 times for me.
2015-05-23 10:52:10 +09:00
Neil Booth
33a8348d48
Prevent race with two electrum instances on same wallet.
...
Whilst it's not a good idea to have two electrum instances
open on the same wallet, we should avoid throwing an
exception. Also note how the old code's handling of the
exception (caused by both renaming the file almost at the
same time, rather than a non-POSIX system not supporting
the atomic rename) can lead to the wallet file being lost
enirely because os.remove(self.path) succeeds and the
rename of the temporary no-longer-existing file then fails.
2015-05-23 10:24:10 +09:00
ThomasV
b029589fc1
fix issue #1233
2015-05-22 20:47:51 +02:00
Neil Booth
2f34f3db21
Only start if not already in pending_servers
...
This was only in one call site previously, not both.
2015-05-22 16:29:56 +09:00
Neil Booth
31ffd4b381
switch_to_interface() to start interface if not connected
...
Two places currently have switch-to-or-start-interface logic.
Put that common logic into switch_to_interface().
2015-05-22 16:24:58 +09:00
Neil Booth
346e38674b
Absorb add_interface and remove_interface
...
They are now only called from the same place; it's simpler
and clearer to put them inline.
2015-05-22 15:26:17 +09:00
ThomasV
0b201d98ab
Merge pull request #1230 from kyuupichan/switch-random-if
...
Remove interfaces in one place only
2015-05-22 08:13:14 +02:00
ThomasV
e13e42a00c
Merge pull request #1229 from kyuupichan/uri-format
...
Plain number formatting for URIs.
2015-05-22 08:12:09 +02:00
Neil Booth
274965468e
Remove interfaces in one place only
...
switch_to_random_interface used to do is_connected()
checks and remove interfaces when switching. This
is redundant: interfaces are only added to self.interfaces
once in is_connected() state from process_if_notification().
When they are disconnected, a notification is also received
and process_if_notification() performs the removal. Furthermore,
two other callers of switch_to_interface do not do explicit
is_connected() checks before calling it.
2015-05-22 15:01:11 +09:00
Neil Booth
d09d5e5dac
Plain number formatting for URIs.
2015-05-22 14:32:47 +09:00
Neil Booth
4873c455b9
Add documentation string. Fix uninitialized f error.
...
Traceback (most recent call last):
File "src/electrum/lib/network.py", line 411, in process_request
out['result'] = f(*params)
UnboundLocalError: local variable 'f' referenced before assignment
[Network] network error local variable 'f' referenced before assignment
2015-05-22 14:14:06 +09:00
Neil Booth
05dd310431
Set 'connecting' status in one place.
...
Also means when switching to an already connected server our
status doesn't quickly change to connecting and back again.
2015-05-22 14:05:58 +09:00
Neil Booth
86626d8080
Consistency in handling of self.interface
...
switch_to_interface() becomes the common place where
self.interface is set; therefore self.interface is not None
precisely when self.default_server is connected. Previously some
places required it to be connected and some didn't. Also an
interface change now sends the 'updated' notification
consistently - previously some did and some didn't.
Have network_start() call start_interfaces() - this also means
network restarts now do this.
Fix apparent off-by-one in start_interfaces()
2015-05-22 09:13:09 +09:00
Neil Booth
c918e74039
Put common network start and stop code in one place.
...
Prefer to use safer self.is_connected() as it checks interface
is not None.
Using common code gives small observable changes in behaviour:
- slightly different print_error() messages
- network restarts now enter status 'connecting' which they
didn't before, which seems correct
- status 'connecting' is done with set_status() rather than
simply assigning the status, which seems more correct. Now
that the response_queue is available in the constructor this
works; it used to fail with 'response_queue is not defined'
2015-05-22 07:52:59 +09:00
ThomasV
8620019f92
Merge pull request #1222 from kyuupichan/if_notification
...
Put interface notification handling in its own function.
2015-05-21 15:05:07 +02:00
ThomasV
5bd22d2378
follow-up to bd781d600b: use pipe
2015-05-21 12:50:26 +02:00
Neil Booth
c9a30eb5f2
Put interface notification handling in its own function.
2015-05-21 17:45:37 +09:00
Neil Booth
bd781d600b
Have queues passed to the network constructor.
...
This is somewhat cleaner as the proxy's pipe and network setup
was awkwardly interleaved. It also means network's constructor
is free to use both; currently some code is working around the
fact that the response queue doesn't exist in the constructor.
2015-05-21 12:49:39 +09:00
ThomasV
7b27f01e07
call fsync before rename
2015-05-19 11:56:33 +02:00
ThomasV
5c73bc5bc7
interface: init ping_time with 0 so that the client sends version message
2015-05-19 11:28:30 +02:00
ThomasV
2104e96a66
network: use get_nowait on one of the two queues
2015-05-19 10:22:25 +02:00
Neil Booth
63733ccd2a
No need for thread to handle requests
...
Handle requests in the main loop.
Remove unused lock.
interface.py was reworked and send_request() no longer throws.
2015-05-19 14:29:10 +09:00
ThomasV
a0e9046c2c
prepare for 2.2 release
2015-05-17 09:17:52 +02:00
ThomasV
e33bc2473b
network: don't store unanswered request if result is in cache
2015-05-17 09:00:36 +02:00
ThomasV
6d0bc5d9b3
fix: nodes retry
2015-05-17 08:41:01 +02:00
ThomasV
44f06de796
network: when interface is disconnected, clear cache and resend unanswered requests
2015-05-15 14:47:59 +02:00
mikeland86
0ec62c8f36
Fix createrawtransaction and missing deserialize()
...
Found these issues while trying to create, sign, and broadcast a raw transaction.
* createrawtransaction was using old signature for Transaction constructor
* Signwithwallet and decoderawtransaction need to call deserialize on tx before they can access inputs and outputs. (Maybe adding getInputs() and getOutputs() which deserializes if needed might be nicer)
2015-05-13 14:57:34 +02:00
ThomasV
5fa2a48343
add getmerkle command
2015-05-12 12:30:26 +02:00
ThomasV
81be685644
remove tests broken after WalletStorage update
2015-05-11 11:59:39 +02:00
ThomasV
7e9153aaa4
test if labels exist before loop. don't raise if a label cannot be converted
2015-05-11 11:55:26 +02:00
Azelphur
fe5be618db
Convert old latin1 labels, Raise exception if json conversion fails.
...
A couple of changes
1) Old electrum wallets seemed to save labels in latin1, when you call json.dumps on line 83/84 it fails silently, which causes the label import to fail. Whenever electrum saves, it then overwrites your default wallet with no labels - essentially deleting all your labels. The solution to this is iterating over all the labels for old wallets decoding anything that fails to unicode() as latin1, and then unicoding it :)
2) Failing to import data and then deleting it is bad. So I'm raising an exception to avoid data being lost.
2015-05-10 20:28:42 +01:00
ThomasV
59a9e4f710
fix new_wallet and seed language
2015-05-10 08:31:31 +02:00
ThomasV
a1d1999545
move interfaces maintenance to its own function
2015-05-08 20:13:18 +02:00
ThomasV
f2c2f9d738
network: fix confusion between addresses and cached responses
2015-05-08 17:59:33 +02:00
ThomasV
2a92a310ba
typo
2015-05-08 17:47:04 +02:00
ThomasV
8c07bdc3bc
do not timeout if interface is receiving data
2015-05-08 17:45:59 +02:00
ThomasV
233fd8ed77
revert 175bfae9e6. store last known height in wallet instead
2015-05-08 13:43:42 +02:00
ThomasV
1d517abf39
restore network_proxy.get_local_height
2015-05-08 11:12:19 +02:00
ThomasV
c2a4252065
do not pass config to storage. request height from network_proxy if connected
2015-05-08 10:58:54 +02:00
Neil Booth
13b9b577a4
Don't use self.network to get the local height.
...
This restores a working offline mode.
2015-05-08 14:45:23 +09:00
ThomasV
e06b3ba3ce
Merge branch 'offline-2' of https://github.com/kyuupichan/electrum into kyuupichan-offline-2
2015-05-08 07:32:48 +02:00
Neil Booth
37c3cce329
Remove wallet.get_transactions()
...
Because references are returned, it's not threadsafe as ThomasV
pointed out.
2015-05-08 09:31:45 +09:00
Neil Booth
97b5f6d6a3
Fix two races in interface.py.
...
First, close the socket from the thread itself rather than from
the stop() function. This prevents another thread closing the
socket that the interface thread is simultaneously using.
Second, it occasionally would happen that the parent thread such as
network.py start() an interface, do a send_request() and timeout
waiting for a response (timeouts are 0.1s). It would check
is_connected(), get False, and assume the connection has failed.
In fact the thread hadn't even been scheduled or gotten around to
completing the socket connection. Fix by having self.connected
start out True. If the connection fails or times out, we set
connected to False soon enough.
Finally for correctness we need to deepcopy a send_request() rather
than take a reference to it.
2015-05-08 07:32:31 +09:00
Neil Booth
a47881d72b
Move the verified and unverified txs to the wallet.
2015-05-07 23:54:39 +09:00
ThomasV
656560be72
show many address labels in tx default label. fixes #1200
2015-05-07 16:09:39 +02:00
Neil Booth
79de458101
Preparation for moving the set of verified and unverified txs to the wallet.
...
The verifier will retain responsibility for verification, but will no longer
hold the transaction sets itself.
Change requires_fee to take a wallet.
Add new function add_unverified_tx()
Move get_confirmations() to the wallet from the verifier.
2015-05-07 09:21:08 +09:00
ThomasV
ffda5cd866
Merge pull request #1187 from kyuupichan/local_height
...
Move away from requiring network and blockchain objects to be able to re...
2015-05-06 17:45:42 +02:00
ThomasV
8656785aa7
fix: use request_time for interface timeout
2015-05-06 17:25:29 +02:00
ThomasV
45fd3ef343
interface: send from same thread and simplify timeouts
2015-05-06 16:42:18 +02:00
ThomasV
78f5dbb72e
revert c64e0c0e64
2015-05-06 12:13:21 +02:00
ThomasV
241b3b073f
Merge pull request #1198 from kyuupichan/if-cleanup7b
...
Move response getting to its own function.
2015-05-06 11:28:03 +02:00
Neil Booth
6171779442
Move response getting to its own function.
...
This makes the operation of run() more clear.
No essential change in functionality.
2015-05-06 14:35:55 +09:00
ThomasV
43b8e202fd
replace instances of get_unspent_coins
2015-05-06 07:25:50 +02:00
ThomasV
a99c2bc9fa
less verbose debug message
2015-05-05 21:00:35 +02:00
ThomasV
9d747fb601
Merge branch 'master' of git://github.com/spesmilo/electrum
2015-05-05 20:52:28 +02:00
ThomasV
687cc7783f
show unmatured coins in status bar. fixes #1163
2015-05-05 20:52:14 +02:00
Neil Booth
0cfcd2c7b2
Remove self.lock
...
It is now unused; all necesary locking is done by the Queue objects.
2015-05-05 21:57:07 +09:00
Neil Booth
c64e0c0e64
Send requests only from the interface thread.
...
Currently requests are sent from the requestor's thread. The lock is
not properly held where necessary so this is not thread-safe. For example
it can race with the thread stopping and closing the socket the
requestor is trying to use to send with.
Resolve such races by having send_request() simply queue the requests,
which are asynchronously sent from the interface thread itself.
2015-05-05 21:36:34 +09:00
Neil Booth
6920747a5d
Move ping functionality into its own function.
...
First step in cleaning up the run() function.
Calls stop() rather than setting is_connected to False on
case of timeout, which cleanly closes the socket.
2015-05-05 20:46:34 +09:00
Neil Booth
c07e956127
Pass the response_queue to the constructor, not start().
...
Removes an unnecessary Thread base-class override. The python
documentation also strongly discourages overriding anything other
than run().
2015-05-05 20:37:25 +09:00
Neil Booth
9cf2eff16b
Make is_connected into a member function. No change in logic.
2015-05-05 20:00:10 +09:00
Neil Booth
4d55cb9528
First of several incremental patches tightening up interface.py.
...
Remove some unneeded imports, a constant and a line of dead code.
Document the current external API interface.py provides.
2015-05-05 14:02:51 +09:00
Neil Booth
175bfae9e6
Move away from requiring network and blockchain objects to be able to request local height.
...
We store it in the config object instead of in the blockchain object.
The blockchain object now refers to its config, and calls refresh_height() to update it.
The network objects also refer to the config rather than the blockchain.
This is the first of many small steps to untangle the verifier from stored state and so
permit the history tab to work in offline mode. The refactoring will simultaneously clean
up a lot of accumulated cruft.
2015-05-03 15:19:29 +09:00
ThomasV
25c6a78ae0
fix missing immport
2015-05-02 16:29:41 +02:00
ThomasV
475a48091f
Merge pull request #1183 from kyuupichan/get_history2
...
Make it 3-step instead of four. Avoid quadratic insertions.
2015-05-02 16:28:18 +02:00
ThomasV
e4038dcdba
move create_csr to gui
2015-05-02 16:26:27 +02:00
Neil Booth
2fc38332e7
Make it 3-step instead of four. Avoid quadratic insertions.
...
This is preparation to hopefully fix #1163
2015-05-02 23:17:50 +09:00
ThomasV
bbaacef960
fix format_satoshis for None values
2015-05-02 15:12:00 +02:00
ThomasV
75ddc066bb
fix #1181
2015-05-02 11:05:38 +02:00
ThomasV
8ba70c941b
add function to create CSR
2015-04-30 17:51:51 +02:00
ThomasV
c35cdf1fd8
rename ssl config variables
2015-04-30 17:33:29 +02:00
Neil Booth
db2517b901
Shrink size of changes; functionality unchanged.
2015-04-30 13:32:01 +09:00
Neil Booth
506ed8ee74
Merge branch 'master' into tray_tip_wallet
2015-04-30 13:28:13 +09:00
ThomasV
953674aac7
resize columns to content by default
2015-04-29 09:26:22 +02:00
Neil Booth
4f45e0a083
Prior lost minus sign for fractional negative numbers
2015-04-29 15:09:55 +09:00
Neil Booth
0d35dd66d2
The lite GUI passes a decimal type
2015-04-29 14:48:55 +09:00
Neil Booth
83e05b1183
Modify format_satoshis to display amounts according to locale.
...
In particular, thousands and decimal point separators are taken from locale.
2015-04-29 10:13:41 +09:00
Neil Booth
f56413d602
Put title() member func, with localization, in main_window.py
2015-04-28 21:12:25 +09:00
Neil Booth
889174ae19
Show wallet basename in tray tooltip for those of us using multiple wallets
...
Move basename (and title) logic to the wallet and use those member functions.
2015-04-28 19:32:56 +09:00
ThomasV
7316f613d6
fix history command
2015-04-28 08:58:33 +02:00
Neil Booth
deec78a9d4
Clean up block explorer handling. Add menu item to go to block explorer for an address.
...
Block explorer code is data-driven now.
Put block explorer defaulting in one place.
Fix URLs for insight.is and blockr.io.
Add tradeblock.com explorer.
Add menu item to view address on block explorer provided only one is selected.
2015-04-26 22:02:21 +09:00
ThomasV
f2749a744e
version 2.1.1
2015-04-24 21:26:08 +02:00
ThomasV
cb09d88322
fix bug introduced in 21673c95f4
2015-04-24 21:01:34 +02:00
Maran
21673c95f4
Fix wallet write to support windows
2015-04-24 13:14:17 +02:00
ThomasV
4a28c88946
atomic write wallet file
2015-04-23 17:12:02 +02:00
ThomasV
e8189490e9
store contacts in a separate file, shared between wallets
2015-04-23 12:16:46 +02:00
ThomasV
065145e557
get_history: return empty history if balance check fails
2015-04-23 09:49:24 +02:00
ThomasV
6cff7a284a
store invoices as dict. rename domain -> requestor
2015-04-22 13:59:38 +02:00
ThomasV
74b0ed5f48
move get_status to InvoiceStore
2015-04-22 13:36:07 +02:00
ThomasV
409c34d1bf
verify: create a PaymentRequest instance, to avoid blanking the signature as side effect
2015-04-22 10:25:29 +02:00
ThomasV
30bed4c5a9
sign and save to file bip70 payment request; redo receive tab layout
2015-04-21 08:45:51 +02:00
ThomasV
50bc50d78d
daemon: filter notificaions sent to client
2015-04-20 09:16:43 +02:00
ThomasV
524db55b90
don't display hashes or addresses as default labels
2015-04-19 14:30:44 +02:00
ThomasV
eac3129cba
Merge pull request #1135 from Kausheel/get_addr_received
...
Add wallet function get_addr_received()
2015-04-19 13:38:45 +02:00
ThomasV
21b2fcbe85
always_hook. fix trezor handler. fixes #1146
2015-04-18 14:59:46 +02:00
ThomasV
f82de35bd2
x509: use SKI and AKI to find parent certificate if it is missing
2015-04-17 12:30:52 +02:00
ThomasV
7796243fdd
get_common_name: return string if missing
2015-04-14 16:35:06 +02:00
ThomasV
ed5258e406
parse certificates without pyasn1
2015-04-14 15:04:04 +02:00
ThomasV
f6a00fdb34
add file: scheme to get_payment_request
2015-04-13 17:56:20 +02:00
ThomasV
036f96cf35
store invoices in a separate file, with their status
2015-04-13 14:19:59 +02:00
ThomasV
8a55a4c26c
Merge pull request #1141 from kaykurokawa/master
...
Dust threshold should be 546
2015-04-12 12:09:48 +02:00
ukurokawa
e708c446a8
Dust threshold should be 546
2015-04-11 11:41:02 -04:00
ThomasV
4fe32d2ad1
add root certificate to chain if missing. fixes #1137
2015-04-10 16:32:16 +02:00
ThomasV
c381fc2194
remove debug message
2015-04-09 19:29:53 +02:00
ThomasV
cdd5d6e130
fix #1136
2015-04-09 19:05:11 +02:00
ThomasV
eb9802356a
fix variable name in from_seed
2015-04-09 18:59:51 +02:00
Kausheel Kumar
8cf793ab98
Add wallet function get_addr_received()
2015-04-09 01:44:44 +10:00
ThomasV
be5731d463
move make_payment_request to lib
2015-04-05 18:57:00 +02:00
ThomasV
b8a72180c7
HistoryWidget class; address history window
2015-04-04 18:26:52 +02:00
ThomasV
0a7b585b6c
redo default labels with incoming tx outputs
2015-04-04 15:55:28 +02:00
ThomasV
4c729f0ff0
move format_time to util
2015-04-03 14:44:03 +02:00
ThomasV
75cf142be0
fix typo
2015-04-03 11:30:36 +02:00
ThomasV
a3422d3fae
generic multisig wallet constructor. fixes #1129
2015-04-03 11:27:57 +02:00
ukurokawa
950dc2c685
get_pubkeys is called incorrectly in get_pubkey_from_xpub()
2015-04-02 15:03:48 -04:00
ThomasV
911a60c02d
separate timeouts for server and nodes retry
2015-04-02 15:12:01 +02:00
ThomasV
5f29017c9d
pass config.path to daemon (exemptore). fixes #901
2015-04-02 12:12:18 +02:00
ThomasV
98cc9c53d1
do not write config file from network class
2015-04-02 10:50:09 +02:00
ThomasV
a805afa900
save recent_servers in separate file
2015-04-02 10:12:51 +02:00
ThomasV
881e15ae12
store config as json
2015-04-02 10:00:07 +02:00
ThomasV
0503e809d5
fix #1121 : tx.update
2015-04-01 07:57:59 +02:00
ThomasV
e3e5d95794
fix account key bug
2015-03-31 22:44:00 +02:00
ThomasV
a44f1bc4d3
Merge pull request #1115 from romanz/offline-mode-fix
...
Offline mode fixes
2015-03-31 13:57:27 +02:00
ThomasV
c9d874ce38
openalias: more error message
2015-03-31 12:21:20 +02:00
ThomasV
f77311328a
add get_completions to wallet
2015-03-31 12:01:42 +02:00
ThomasV
4d7b68658b
fix delete_contact
2015-03-31 11:29:18 +02:00
ThomasV
2f1c597e8f
print_error method for plugins
2015-03-31 10:01:53 +02:00
Roman Zeyde
a7440fc89c
wallet: skip history sort when verifier is not set
2015-03-31 09:32:21 +03:00
ThomasV
da502076bd
fix get_history
2015-03-30 20:39:06 +02:00
ThomasV
f051a3e577
update occurences of get_history
2015-03-30 20:17:24 +02:00
Roman Zeyde
c4b306cdbe
fix Transaction.deserialize() to Transaction()
2015-03-30 18:28:24 +03:00
Roman Zeyde
9d0aa737e5
transaction: call serialize() before deserialization
2015-03-30 18:28:24 +03:00
ThomasV
2d84deeaad
sanity check history
2015-03-30 14:10:46 +02:00
ThomasV
ec11e58add
handle pruning in wallet.txi/txo
2015-03-30 14:10:46 +02:00
ThomasV
3d1fa1e27f
find_pay_to_pubkey_address
2015-03-30 14:10:46 +02:00
ThomasV
bc3ed470e1
use hash as default label
2015-03-30 14:10:46 +02:00
ThomasV
e3de121be9
store deserialized tx in/out in wallet file for fast computation
2015-03-30 14:10:46 +02:00
ThomasV
d9b1271f65
version 2.1
2015-03-30 14:10:32 +02:00
ThomasV
cf0fcac9fa
fix deserialize_server bug
2015-03-28 19:17:07 +01:00
ThomasV
08f63a7f14
release notes for 2.0.4
2015-03-26 09:26:25 +01:00
ThomasV
d9874ecb01
add 10 second timeout to header requests
2015-03-25 10:18:32 +01:00
ThomasV
f50a62755c
use self.print_error
2015-03-25 09:22:27 +01:00
ThomasV
973f7f9fe5
mpk window: detect self and cosigner keys
2015-03-24 17:33:08 +01:00
ThomasV
1369c02011
safeguard: do not let daemon treads write wallet file
2015-03-24 12:23:11 +01:00
ThomasV
0200778ac1
require user to start daemon explicitly
2015-03-23 11:50:13 +01:00
ThomasV
b4ff652d89
Merge pull request #1095 from railgun74/master
...
Let wallet recovery use 64 character hex strings and legacy 24 word seeds.
2015-03-19 17:58:21 +01:00
K
41127db32d
Let wallet recovery use 64 byte hex strings and 24 word seeds.
...
1. Allow wallet recovery from 64 byte hex strings.
2. Allow use of 24 word legacy seeds created from 64 byte hex strings.
2015-03-19 08:20:32 -07:00
ThomasV
90a22f1a36
Merge branch 'master' of git://github.com/spesmilo/electrum
2015-03-17 14:31:21 +01:00
Neil
bbcfa44e54
Use string joins instead of concatenation for efficiency.
2015-03-17 21:57:06 +09:00
ThomasV
d82529a41a
function profiler
2015-03-17 11:29:17 +01:00
ThomasV
cabd6bbb2c
inputs_to_sign: handle missing num_sig
2015-03-17 07:41:27 +01:00
ThomasV
a5a7a34c2d
IOError: add file path to exception message
2015-03-15 08:04:02 +01:00
ThomasV
b93aa9bc43
do not display daemon socket path
2015-03-14 19:08:22 +01:00
ThomasV
4a4624cb85
type conversion; fixes #1077
2015-03-14 16:22:47 +01:00
ThomasV
39ba3db0dd
version 2.0.3
2015-03-14 14:29:10 +01:00
ThomasV
b2a13dbd9c
remove unused imports
2015-03-14 09:37:56 +01:00
ThomasV
4ebefc6e4c
standardize error messages in synchronizer
2015-03-14 09:29:44 +01:00
ThomasV
8e7ce452f6
move misplaced debug message
2015-03-14 09:27:18 +01:00
ThomasV
5b8588ee90
rename spv class, use own print_error
2015-03-14 09:20:27 +01:00
ThomasV
a4cb70649d
fix synchronizer hanging when not connected.
2015-03-14 08:43:43 +01:00
ThomasV
72688a5cfa
clean implementation of daemon threads
2015-03-13 23:04:29 +01:00
ThomasV
58f9ab3492
add a lock to wallet.synchronize() and fix #1049
2015-03-13 16:51:31 +01:00
ThomasV
9e4eda24b5
fix #1082
2015-03-13 12:00:08 +01:00
ThomasV
f32f1183fc
print_error methods. request timeout for interface
2015-03-12 21:39:05 +01:00
ThomasV
1569cd0420
serialize/deserialize methods for servers
2015-03-12 18:06:28 +01:00
ThomasV
c4d0314817
network: separate interface management from reconnection logic
2015-03-12 17:44:16 +01:00
ThomasV
799a08514b
move proxy logic to network.py. reload socket module if proxy is disabled
2015-03-12 12:56:06 +01:00
ThomasV
ae7405a10f
remove old http interface code, not used
2015-03-12 11:55:10 +01:00
ThomasV
92987d9019
add comment about proxy side effect
2015-03-10 09:43:22 +01:00
ThomasV
0947eb7960
should test proxy_str. fixes issue #1073
2015-03-10 09:05:44 +01:00
ThomasV
4780d8f811
do not try to connect to daemon on windows (af_unix)
2015-03-09 09:35:10 +01:00
ThomasV
6fc9ca2a41
bump version number
2015-03-08 19:09:03 +01:00
ThomasV
8852ad5281
fix transaction sweep; fixes #1066
2015-03-08 09:06:40 +01:00
ThomasV
14d7be7445
Merge pull request #1068 from gurnec/gap-limit-type
...
check arg type in change_gap_limit()
2015-03-08 03:02:57 +01:00
ThomasV
73d8ba24d9
fix network connection issues
2015-03-07 22:47:25 +01:00
Christopher Gurnee
4ba4611599
check arg type in change_gap_limit()
2015-03-07 12:51:35 -05:00
ThomasV
b53a813111
revert 33b11422
2015-03-06 21:46:30 +01:00
ThomasV
33b11422a8
give a short timeout for daemon calls that actually do not require the network
2015-03-06 08:12:30 +01:00
ThomasV
98a809415d
bump version number
2015-03-05 18:07:02 +01:00
ThomasV
15636282e4
fix issue #1061 : normalize trezor passphrases. Add passphrases to restore from seed with trezor.
2015-03-05 17:09:39 +01:00
ThomasV
1d885c11e0
fix segfault in zbar init, issue #1059
2015-03-05 07:49:07 +01:00
ThomasV
59c76f5e09
use file socket for daemon
2015-03-05 07:16:48 +01:00
ThomasV
490de0d8ce
fix password bug with xprv wallet
2015-03-04 18:57:28 +01:00
ThomasV
e9b06f494d
abort set_parameters if changes are not allowed by config
2015-03-01 07:27:05 +01:00
ThomasV
7a9141e509
deserialize network.proxy to prevent variability
2015-02-28 20:04:03 +01:00
ThomasV
fdaf4e42a9
print reason if connection fails
2015-02-28 19:45:10 +01:00
ThomasV
a90f3e0027
re-add older version of socks.py to repo, because SocksiPy-branch does not work with current code
2015-02-28 19:22:43 +01:00
ThomasV
510934d545
do not store protocol explicitly
2015-02-28 15:37:50 +01:00
ThomasV
f489466709
fix: notify proxy when switching server
2015-02-28 14:08:58 +01:00
ThomasV
78573e202d
add try..except arount get_next_account
2015-02-27 21:35:50 +01:00
ThomasV
46c290e30d
use base43 in order to send transactions by QR code
2015-02-26 13:59:29 +01:00
ThomasV
52b43c57b8
android create and restore
2015-02-25 22:48:47 +01:00
ThomasV
0f3c5ad4b1
parse_URI: utf8 decode
2015-02-25 21:13:59 +01:00
ThomasV
f92c3cadf0
fix utf8 encode in create_URI
2015-02-25 20:17:03 +01:00
ThomasV
761871b900
sanitize server and protocol
2015-02-25 17:14:31 +01:00
ThomasV
c7f89da934
copy request URI to clipboard
2015-02-25 10:01:59 +01:00
ThomasV
b29038073d
add new languages to i18n
2015-02-24 19:32:59 +01:00
ThomasV
80284d5516
updates for the old android GUI
2015-02-24 18:45:09 +01:00
ThomasV
18d16ba82c
bugfix: add pubkey to PendingAccount, to be able to spend from it
2015-02-23 19:33:31 +01:00
ThomasV
45007a27e4
plugins readme
2015-02-22 12:28:18 +01:00
ThomasV
b3364b87d1
interface: don't show traceback on error 104
2015-02-21 14:45:09 +01:00
ThomasV
56dc9f7f80
cleanup dead code
2015-02-21 08:48:15 +01:00
ThomasV
e389745491
remove appdata_dir and data_dir
2015-02-18 18:48:32 +01:00
ThomasV
b5ac7f2a7c
simplify setup.py using package_data
2015-02-18 17:13:41 +01:00
ThomasV
5f425738da
version 2.0 beta 3
2015-02-17 18:39:15 +01:00
ThomasV
acaaec8405
fix comment: standard is not bip44
2015-02-17 16:57:48 +01:00
ThomasV
9205a35c22
rm failing test
2015-02-17 15:01:06 +01:00
ThomasV
f302c90649
set self.wallet to None in plugin constructor
2015-02-17 11:39:06 +01:00
ThomasV
0934976f3a
fix #1011
2015-02-17 10:30:10 +01:00
ThomasV
58d2e90fa5
parse PEM list using tlslite
2015-02-15 21:27:11 +01:00
ThomasV
03a88743a3
fix typo: stdout
2015-02-11 21:05:33 +01:00
ThomasV
3e1078c79b
add support for rsa+sha384 and rsa+sha512 in paymentrequests
2015-02-08 20:04:42 +01:00
ThomasV
271a27fc83
fix installwizard_restore
2015-02-06 07:20:09 +01:00
ThomasV
76cbafe754
fix Master Public Keys dialog
2015-02-05 13:29:18 +01:00
ThomasV
8982a463a4
allow change_gap_limit in bip32 wallets
2015-02-03 16:26:00 +01:00
ThomasV
036147db44
fix: change_gap_limit
2015-02-03 16:18:42 +01:00
ThomasV
58146407f7
fix: gap_limit
2015-02-03 16:09:39 +01:00
ThomasV
22fdedf7a6
normalize version number
2015-02-03 15:15:27 +01:00
ThomasV
6717460ee6
version 2.0-beta2
2015-02-03 14:20:35 +01:00
ThomasV
2f7b8ce864
fix wallet.can_sign: use isinstance with BIP32 class
2015-02-03 13:14:35 +01:00
ThomasV
ca01e1d7be
handle 1.9.8 bug that created seed_v6 wallets
2015-02-03 12:20:03 +01:00
ThomasV
059d381ba8
backport padding fix to AES module
2015-02-03 08:01:01 +01:00
ThomasV
0b674eb35d
fix can_sign: detect if OldWallet is used
2015-02-02 16:06:29 +01:00
ThomasV
6bb4a554e3
suggest pip install instead of apt-get
2015-02-02 15:15:44 +01:00
ThomasV
395312e70f
fix: add wallet types only if available
2015-02-01 10:44:29 +01:00
ThomasV
62fd3ad9a0
2.0 beta
2015-02-01 09:51:54 +01:00
ThomasV
820d356325
fix saving request: binary flag is needed on windows
2015-01-31 20:25:12 +01:00
ThomasV
78ce20b0b8
fix plugins initialization
2015-01-31 18:09:50 +01:00
ThomasV
94c9bf3655
define special hooks for install wizard
2015-01-30 13:18:00 +01:00
ThomasV
935a9a980d
disable auo-connect is --server option is passed. fixes #992
2015-01-30 10:19:22 +01:00
ThomasV
3c6cfc8b70
disable server selector if server is passed from cmd line
2015-01-29 13:35:19 +01:00
ThomasV
8ca17a3e70
print traceback is an exception occurs in network.process_request
2015-01-29 11:32:58 +01:00
ThomasV
992a634a77
serialize: handle case where proxy is None
2015-01-29 11:30:42 +01:00
ThomasV
30763a6555
fix config: serialize/deserialize proxy
2015-01-29 11:21:17 +01:00
ThomasV
4eda748506
fix #991
2015-01-28 08:24:51 +01:00
Maran
fd8a931608
Make where() work with OSX app bundles
...
MEIPASS is PythonInstaller specific and won't work for py2app
modified: lib/util.py
modified: .gitignore
modified: lib/util.py
modified: setup-release.py
2015-01-27 12:32:23 +01:00
ThomasV
4120678dff
add google protobuf to packages
2015-01-27 10:01:40 +01:00
ThomasV
dda4a0fcb3
call load_wallet and close_wallet for each plugin
2015-01-26 20:42:32 +01:00
ThomasV
9d40fb2ea8
detect if we are in a pyinstaller bundle
2015-01-26 16:53:59 +01:00
ThomasV
16c72d286c
try to import all python dependencies from the main script
2015-01-26 14:14:16 +01:00
ThomasV
4ce699bf25
disable key import in all bip32 wallet classes; users should create an ImportedWallet
2015-01-23 13:54:33 +01:00
ThomasV
84fc4574d6
add password when creating imported wallet
2015-01-23 00:06:17 +01:00
ThomasV
2b42f054a9
rename SEED_PREFIX constant
2015-01-21 23:49:31 +01:00
ThomasV
906e0ecd14
rename SEED_PREFIX constant
2015-01-21 23:43:26 +01:00
ThomasV
8863b6f294
remove remaining instances of op_return type
2015-01-18 17:23:21 +01:00
dabura667
d166927fd0
Change type to 'script' and remove OP_RETURN
2015-01-19 01:03:46 +09:00
dabura667
b741dd89ca
Added arbitrary outputs
...
write your own output scripts should you be so inclined.
2015-01-18 02:37:44 +09:00
ThomasV
9a6d98f899
display and encode only hex with OP_RETURN
2015-01-15 17:55:10 +01:00
ThomasV
9285074f00
fix typo
2015-01-11 20:38:48 +01:00
ThomasV
0f5ab4c296
add ismine command. should fix issue #975
2015-01-11 20:37:08 +01:00
Charles Lehner
6d2d53b43f
Move root_name to parent class
2015-01-11 13:58:03 -05:00
ThomasV
5262d6ae73
remove wrong test
2015-01-06 18:19:00 +01:00
ThomasV
af7d94d081
Merge pull request #939 from Tafelpoot/daemon2
...
Fix Daemon on Windows
2015-01-06 13:15:33 +01:00
ThomasV
da968b60e4
drop support for multiple accounts (bip44) in standard wallets
2015-01-05 00:33:10 +01:00
ThomasV
9f9bab6cf0
fix issue #968
2014-12-31 19:21:54 +01:00
ThomasV
52e9c0b498
fix createrawtransaction, using extended serialization format
2014-12-29 20:26:00 +01:00
ThomasV
477b7c3402
fix issue #961
2014-12-25 17:24:49 +01:00
ThomasV
ceaa48fd73
fix #948
2014-12-21 13:04:07 +01:00
ThomasV
63c7a27d7e
add InvalidPassword exception
2014-12-03 22:35:05 +01:00
Tafelpoot
6557c4b9df
daemon fix on windows more compact
2014-11-28 17:08:40 +01:00
ThomasV
7ca3ba4e80
various fixes for reveive_requests
2014-11-24 12:28:11 +01:00
ThomasV
f2988b657b
Merge branch 'contacts' of github.com:Tafelpoot/electrum into Tafelpoot-contacts
2014-11-24 11:55:57 +01:00
ThomasV
01cf04079f
add NotEnoughFunds exception
2014-11-20 19:10:43 +01:00
Tafelpoot
75a0da8913
fix daemon for windows
2014-11-20 11:52:57 +01:00
ThomasV
6d8eebe2db
raise exception when seed version does not match
2014-11-15 14:42:35 +01:00
Tafelpoot
218a1ee2f7
Updated Requests
...
- added Date and Account field to Saved Requests
- requests are now saved as dict()
old requests will be deleted!!
- Account field is hidden when only 1 account is available
- address line now follows the current_account
- saved requests is sortable, default sorted by date
- saved requests only shows request for current_account
2014-11-14 19:47:34 +01:00
ThomasV
9b28ed9ba0
do not require name to create an account
2014-11-14 14:08:28 +01:00
ThomasV
c5b47bd513
always store next_account a PendinfAccount is created
2014-11-14 13:48:15 +01:00
ThomasV
2843d7a148
force python2 with daemon
2014-11-12 12:24:33 +01:00
ThomasV
56c6a50533
Merge pull request #914 from naleves/searchcontacts
...
Added searchcontacts command
2014-11-07 19:40:31 +01:00
Nick Levesque
8fae4434c1
Added searchcontacts command
2014-11-05 18:02:44 -05:00
Tafelpoot
b6f0f8c02c
Merge branch 'master' of https://github.com/spesmilo/electrum into showaccount
2014-11-05 00:38:02 +01:00
Tafelpoot
5c12c2bc2f
optimized, cleaned up, commented
2014-11-05 00:37:43 +01:00
ThomasV
fb75e2e53d
fix get_private_key_from_xpubkey
2014-11-04 10:50:28 +01:00
ThomasV
e6317ceca1
Merge pull request #909 from Tafelpoot/showaccount
...
add account info for internal transfer description
2014-10-31 15:01:22 +01:00
ThomasV
c225795793
use ssl.PROTOCOL_SSLv23
2014-10-31 14:59:59 +01:00
ThomasV
c5636be03a
minor fix
2014-10-31 13:17:32 +01:00
ThomasV
16f36ee6e2
Extend transaction serialization, format to handle unsigned inputs where only the address is known, the public key is unknown.
2014-10-31 13:01:16 +01:00
Tafelpoot
b3684ad40a
add account info for internal transfer description
2014-10-30 17:56:36 +01:00
ThomasV
581ed1ed26
separate signtxwithkey and signtxwithwallet, and simplify sign_transaction
2014-10-30 16:36:29 +01:00
Tafelpoot
74c0fa7ada
corrected deserialize
2014-10-30 11:54:43 +01:00
Tafelpoot
bc8f58104c
optimized deserialize and modified assert for multisig
2014-10-30 11:50:18 +01:00
ThomasV
cf1fbbf3ad
fix is_watching_only for imported wallets
2014-10-27 15:47:10 +01:00
ThomasV
063fc4bb2e
fix #895
2014-10-24 18:50:57 +02:00
ThomasV
311a91c03c
init qrscanner processor in scan_qr
2014-10-24 17:11:05 +02: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
ThomasV
b8a5d4146d
Do not use XDG_DATA_HOME. Tell user to use virtualenv if they are not root
2014-10-23 21:25:14 +02:00
Tafelpoot
d9c5250a6f
removed trailing whitespace and fixed indentation in history widget
2014-10-21 19:05:51 +02:00
ThomasV
60e5450a0e
rm print statement
2014-09-28 23:20:52 +02:00
ThomasV
0c0da6a36d
use certs from request module in interface.py
2014-09-28 23:19:52 +02:00
Michael Wozniak
27a663091b
Add default language for mnemonic
...
Add en as default language for mnemonic
2014-09-21 10:46:03 -04:00
ThomasV
7ef86d8bbb
better error message
2014-09-19 11:20:26 +02:00
ThomasV
17006e5285
qr scanner: show error if not installed
2014-09-19 11:08:43 +02:00
ThomasV
52450289ff
we must check host name if cert is signed by CA
2014-09-19 10:18:33 +02:00
ThomasV
889ac782c1
simplify interface.get_socket, and fix a bug with new certificates
2014-09-19 09:25:44 +02:00
ThomasV
fbb0801d15
better workaround for tlslite issue
2014-09-18 23:38:30 +02:00
ThomasV
39719dda9c
remove socks.py from repo, add it as dependency
2014-09-17 15:24:21 +02:00
ThomasV
b8f971fcd6
force reconnect after delay
2014-09-16 12:21:01 +02:00
ThomasV
590659ff4d
get_tx_fee
2014-09-15 12:57:56 +02:00
ThomasV
b305dd4a89
make wordlist use default language if available
2014-09-15 10:04:36 +02:00
ThomasV
441c68fbcc
cache xpub values in account in order to generate addresses faster
2014-09-15 09:44:59 +02:00
ThomasV
bde0ca3ea1
set default fee to 0.5mBTC/kb
2014-09-15 07:35:05 +02:00
ThomasV
8d396997dc
fee estimate: kilobyte
2014-09-14 21:58:13 +02:00
ThomasV
7275955eef
default lang is None
2014-09-14 19:54:28 +02:00
ThomasV
8ca66e7020
mnemonic: data_dir
2014-09-14 16:08:33 +02:00
ThomasV
90590f70ab
reconnect to main server after timeout
2014-09-14 14:27:39 +02:00
ThomasV
ad4449dc38
add v9 to list of tagged versions
2014-09-13 19:37:42 +02:00
ThomasV
cef75e9e7b
new seed_version: remove whitespaces only between CJK characters
2014-09-13 19:31:05 +02:00
ThomasV
1df007483e
check seed_version first
2014-09-13 19:28:09 +02:00
ThomasV
5c5bb6ae3a
make estimated fee higher than MIN_RELAY
2014-09-13 15:25:26 +02:00
ThomasV
5f4bcb420b
param to addresses is optional
2014-09-13 14:54:02 +02:00
ThomasV
b22048fdfb
fix wallet constructor
2014-09-13 10:16:09 +02:00
ThomasV
0606a30804
move wordlists to data dir
2014-09-13 09:58:11 +02:00
ThomasV
b854c3e173
lower seedphrase
2014-09-12 16:48:24 +02:00
ThomasV
fc861c035d
forgot prepere_seed
2014-09-11 16:28:03 +02:00
ThomasV
43513adb5c
seed_v9: strip whitespaces before hashing
2014-09-11 15:15:50 +02:00
ThomasV
f3e2e7b501
fix for seed_version
2014-09-11 15:11:46 +02:00
ThomasV
e22dfc443c
check seed_version before wallet_type
2014-09-11 15:04:42 +02:00
ThomasV
93d073457c
add spanish wordlist and remove accents
2014-09-11 14:20:10 +02:00
ThomasV
e7c7dc8cc9
init fee variable in make_unsigned_transaction
2014-09-11 11:04:45 +02:00
ThomasV
c2813c5b15
load_wallet: we still want to test is_enabled
2014-09-10 23:15:55 +02:00
ThomasV
397f07ca82
fix plugin initialization with load_wallet
2014-09-10 23:04:51 +02:00
ThomasV
302e444717
fix balance of PendingAccount (address was counted twice)
2014-09-10 10:58:53 +02:00
ThomasV
be1a21d974
call add_address in get_next_account
2014-09-10 10:33:49 +02:00
ThomasV
374daa25af
create a PendingAccount if coins have been sent to next_account
2014-09-10 10:09:13 +02:00
ThomasV
d2f4eed1f7
multi-account synchronization
2014-09-10 01:33:52 +02:00
ThomasV
0b7f8e74d5
move synchronize_account logic to account.py
2014-09-09 17:31:15 +02:00
ThomasV
3dc69df702
fix tx.sweep
2014-09-09 14:50:42 +02:00
ThomasV
1fb8af40c5
disable privkey export menu in trezor wallets
2014-09-09 14:30:57 +02:00
ThomasV
6361abaf4d
extended seed prefix
2014-09-09 11:51:45 +02:00
ThomasV
c657212e5b
fix: do not add zero change
2014-09-08 20:44:19 +02:00
ThomasV
0a810de898
add get_type method to PendingAccount
2014-09-08 19:46:24 +02:00
ThomasV
01ad103c37
don't change fee if it is fixed by user
2014-09-08 09:29:25 +02:00
ThomasV
bd6f21232d
fix restore from mpk command line
2014-09-08 05:17:56 +02:00
ThomasV
67b9a59d34
better fees estimates
2014-09-07 20:36:29 +02:00
ThomasV
cfa833134a
Merge pull request #824 from dabura667/txdiagopret
...
Show op_return in tx dialogue
2014-09-07 18:43:58 +02:00
dabura667
14d3b3589d
Show OP_RETURN in tx dialogue
2014-09-07 03:21:44 +09:00
ThomasV
62179fad58
Merge pull request #772 from dabura667/fiximportchange
...
Make change address for imported keys the same
2014-09-06 16:59:53 +02:00
ThomasV
b1ecb61105
fix oldwallet master_public_key
2014-09-05 17:30:19 +02:00
ThomasV
2b10ccdcc4
fix
2014-09-05 16:31:57 +02:00
ThomasV
622fb6c08b
add wallet categories
2014-09-05 16:28:53 +02:00
ThomasV
dd849964d1
interface: forward errors
2014-09-05 14:51:37 +02:00
ThomasV
0c8c21f64d
minor fix
2014-09-05 12:08:09 +02:00
ThomasV
65d0560475
storage: deepcopy and sanitize json
2014-09-05 12:04:03 +02:00
ThomasV
1e346404dd
fixes for label plugin
2014-09-04 16:37:51 +02:00
ThomasV
6101abda5d
call init_qt everytime a plugin is enabled
2014-09-04 15:45:03 +02:00
ThomasV
ca765b6622
getseed: display seed as utf8
2014-09-03 18:52:43 +02:00
ThomasV
8f314209b4
normalize unicode right after reading from file
2014-09-03 18:41:25 +02:00
ThomasV
1e75d6f854
add japanese, fix utf8
2014-09-03 17:21:43 +02:00
bip39JP
a14a2f75bb
Added Japanese wordlist
2014-09-03 23:58:37 +09:00
ThomasV
6e363bc097
check length in OP_RETURN
2014-09-03 16:35:35 +02:00
ThomasV
a2065eff72
use language in config to choose wordlist
2014-09-02 15:34:11 +02:00
ThomasV
92ba934052
NFKD (per bip39)
2014-09-02 15:21:17 +02:00
ThomasV
5a20d07fb8
add hook: make_unsigned_transaction
2014-09-02 07:47:54 +02:00
ThomasV
cc71dfea86
check all bytes in strip_pkcs7_padding
2014-09-01 15:37:38 +02:00
ThomasV
de1123e4a0
ecies: update description in comment
2014-09-01 15:20:52 +02:00
ThomasV
a97375dbb4
ecies: use the same KDF to derive aes init vector and aes and hmac keys.
2014-09-01 14:57:08 +02:00
ThomasV
eed37c41b5
ecies: don't drop sign of ephemeral key
2014-09-01 13:15:15 +02:00
ThomasV
03e420b1c0
fix tests
2014-09-01 10:49:04 +02:00
ThomasV
79588eb4da
init plugins before gui. register wallet types in plugin constructor
2014-08-31 15:33:20 +02:00
ThomasV
a3790372d8
@hook decorator for plugins
2014-08-31 11:42:40 +02:00
ThomasV
c7f667e2ed
separate add_seed from create_master_keys
2014-08-29 14:11:59 +02:00
ThomasV
2c51b0aa14
update mnemonic imports
2014-08-29 12:27:10 +02:00
ThomasV
5f4a28a2bb
fix signature_count in coinbase transactions
2014-08-28 22:26:40 +02:00
ThomasV
f183554446
rm failing tests
2014-08-28 17:48:59 +02:00
ThomasV
8816d7072f
add 8 bits to entropy target, to offset the constraint imposed by is_new_seed
2014-08-28 17:40:36 +02:00
ThomasV
4d71707be8
add portuguese wordlist, and adapt wordlist parsing
2014-08-28 17:30:44 +02:00
ThomasV
4dcdcbc068
move mnemonic to separate class and use slush's wordlist. new commands: make_seed and check_seed
2014-08-28 15:37:42 +02:00
ThomasV
744eee6858
wizard integration
2014-08-26 16:23:24 +02:00
ThomasV
d855258190
Merge pull request #789 from molecular/master
...
fix (or at least work around) #788
2014-08-25 16:02:11 +02:00
ThomasV
c2d175cb60
remove broken tests
2014-08-25 15:55:06 +02:00
ThomasV
ef74ae57ff
fix tests
2014-08-25 15:32:21 +02:00
ThomasV
03f4b4c933
fix broken test
2014-08-25 15:11:52 +02:00
ThomasV
9f8e537a7e
fix broken test
2014-08-25 14:16:31 +02:00
ThomasV
9fea7dfbde
Merge pull request #797 from Matoking/master
...
Add confirmation count to API command 'history'
2014-08-25 14:07:28 +02:00
ThomasV
89b8078549
move qrscanner from plugins to lib
2014-08-23 18:04:29 +02:00
ThomasV
91723999aa
add_cosigner_seed
2014-08-22 17:22:08 +02:00
ThomasV
8ca42bbf43
accept ssl certs signed by CA
2014-08-22 10:33:13 +02:00
ThomasV
b63fcde503
root_name
2014-08-21 18:24:47 +02:00
ThomasV
8df2179025
class for xpub wallets
2014-08-21 18:24:47 +02:00
ThomasV
3a5f64fcc7
account key must be a string (json)
2014-08-21 18:24:47 +02:00
ThomasV
58e1dd2a24
update trezor plugin
2014-08-21 18:24:47 +02:00
ThomasV
a203dab415
version number
2014-08-21 18:24:47 +02:00
ThomasV
61e737c380
wallet types
2014-08-21 18:24:47 +02:00
ThomasV
83b9ecac76
save wallet file as json
2014-08-21 18:24:47 +02:00
ThomasV
f4b390a79f
bip44
2014-08-21 18:24:47 +02:00
ThomasV
1d4631d647
bugfix for seed_v7
2014-08-21 18:19:56 +02:00
Janne Pulkkinen
95413cd1a9
Confirmation count included in API command history
2014-08-19 20:57:37 +03:00
Eagle[TM]
6b914232e4
Merge branch 'master' of https://github.com/spesmilo/electrum
2014-08-19 14:42:17 +02:00
Eagle[TM]
a7cd8b5e9f
Update default server list
2014-08-19 14:41:27 +02:00
ThomasV
f400e69d51
move two methods in subclasses
2014-08-19 13:03:29 +02:00
ThomasV
cebc942ccb
separate class for bip32 HD
2014-08-19 12:38:01 +02:00
ThomasV
20f93f7df0
set wallet.can_change_password and wallet.has_seed for trezor
2014-08-19 10:36:55 +02:00
ThomasV
ae56de3160
rm dead code
2014-08-18 18:23:45 +02:00
ThomasV
35a12b22cf
fix daemon timeout
2014-08-18 15:35:29 +02:00
ThomasV
a63eaa3c4e
daemon: multiplexing
2014-08-18 15:13:16 +02:00
ThomasV
13a01b11d2
daemon messages
2014-08-18 13:40:08 +02:00
molecular
292a569991
Merge branch 'master' of git://github.com/spesmilo/electrum
2014-08-17 11:54:32 +02:00
ThomasV
854f49fbed
fix number of interfaces being opened
2014-08-17 11:48:46 +02:00
molecular
d26d3abf5d
fix (or at least work around) #788
2014-08-16 15:40:21 +02:00
ThomasV
247f4944a6
do not store merkle root before verification succeeded. keep it in requested_merkle for the session
2014-08-15 23:30:55 +02:00
ThomasV
4f56cda0c3
do not stop thread if a tx is not verified
2014-08-15 08:35:00 +02:00
ThomasV
3a9bb3cd43
interface: print debug message with the correct id
2014-08-13 21:58:01 +02:00
ThomasV
cf03f153d9
fix: get_master_public_key
2014-08-13 16:28:27 +02:00
ThomasV
bf3f67c043
do not expose mnemonic_to_seed
2014-08-13 15:43:54 +02:00
ThomasV
1023240369
workaround the official distribution of tlslite
2014-08-11 13:22:53 +02:00
ThomasV
72d499b1a0
Merge branch 'trezor_plugin' of github.com:m0mchil/electrum into m0mchil-trezor_plugin
2014-08-08 14:56:06 +02:00
ThomasV
606f1cd3f8
prevent seed collisions
2014-08-05 10:00:15 +02:00
ThomasV
00aaa1d065
send network status on init, if there is no daemon
2014-08-04 11:38:34 +02:00
ThomasV
ecdb90b0b7
re-use pending_servers to avoid sending unnecessary notifications
2014-08-04 11:29:58 +02:00
ThomasV
b93cde14e7
custom entropy in make_seed
2014-08-01 12:04:38 +02:00
ThomasV
d33b53f850
close GUI if the network daemon is killed
2014-07-31 07:47:59 +02:00
Michael Wozniak
ef264e0bf7
Fix issue with daemon socket on OS X
...
Fix issue where daemon socket returns invalid argument errors on OS X
2014-07-30 16:39:31 -04:00
ThomasV
10faf75ee7
wallet fixes
2014-07-30 12:46:03 +02:00
ThomasV
642258ebaa
notify about interfaces
2014-07-30 11:27:52 +02:00
ThomasV
858ff86660
network: disconnected retry interval
2014-07-30 10:43:15 +02:00
ThomasV
ec5478c328
don't use pending_servers
2014-07-30 10:19:15 +02:00
ThomasV
76d03a2817
daemon sleep before terminating
2014-07-30 08:37:14 +02:00
ThomasV
efa0972971
use ping time to determine if we are disconnected
2014-07-29 17:57:03 +02:00
ThomasV
517f649532
fix: missing break
2014-07-29 17:53:31 +02:00
ThomasV
0240b8c924
fix switch_to_random_interface
2014-07-29 14:26:19 +02:00
ThomasV
411a87e0a3
fix disconnection error
2014-07-29 14:19:23 +02:00
ThomasV
1c707d05d3
rm wrong assert clause
2014-07-29 12:48:05 +02:00
ThomasV
47b71eebfb
shorter timeout: verifier too
2014-07-29 12:26:16 +02:00
ThomasV
71d97eeecc
shorter timeouts in synchronizer, so that it terminates properly
2014-07-29 12:23:42 +02:00
ThomasV
58c817f81a
close interfaces on shutdown
2014-07-29 12:13:21 +02:00
ThomasV
914c115617
move daemon_timeout out of server class
2014-07-29 10:52:28 +02:00
ThomasV
f7280e4637
cleanup daemon threads
2014-07-29 10:43:04 +02:00
ThomasV
44072a4f48
separate interface classes
2014-07-29 09:28:27 +02:00
ThomasV
ed8f9666df
remove interface.synchronous_get
2014-07-29 00:15:21 +02:00
ThomasV
087490a197
spawn daemon using daemon.py
2014-07-28 23:42:14 +02:00
ThomasV
8e5fbadc58
socket error handling
2014-07-28 22:35:49 +02:00
ThomasV
312051a242
one more daemon thread
2014-07-28 15:49:41 +02:00
ThomasV
ea29d9009d
wallet.can_sign
2014-07-28 08:27:21 +02:00
ThomasV
fb878e1045
fix: catch server.version
2014-07-28 08:23:28 +02:00
ThomasV
fb0574c5a0
fix callbacks
2014-07-28 07:53:02 +02:00
ThomasV
1ee4af8686
fix #778
2014-07-28 06:42:05 +02:00
ThomasV
28df27fba2
update interface.py
2014-07-28 00:13:40 +02:00
ThomasV
035ecbc7cd
redo inter-thread communication using pipes
2014-07-27 17:13:46 +02:00
m0mchil
a336379aa5
trezor plugin
2014-07-27 14:27:26 +03:00
ThomasV
9efc25bdba
interface: use parse_json
2014-07-26 16:24:22 +02:00
ThomasV
9a07c1cb44
rename process_response
2014-07-26 15:47:30 +02:00
ThomasV
603caf228f
call json.dump on request
2014-07-26 13:04:02 +02:00
dabura667
8722a37f13
Make change address for imported keys the same
...
Fixes #769
2014-07-26 15:24:55 +09:00
ThomasV
7abbf329b6
fix
2014-07-25 20:14:08 +02:00
ThomasV
5e47d1a635
default daemon timeout after 5 minutes
2014-07-25 17:32:31 +02:00
ThomasV
191520f064
interface.py: print -> print_error
2014-07-25 17:21:17 +02:00
ThomasV
af3fd62fd4
send server height and server lag with daemon
2014-07-25 16:32:19 +02:00
ThomasV
96070246b7
proper start and stop commands for daemon
2014-07-25 15:42:28 +02:00
ThomasV
374efd970e
fix daemon timeout
2014-07-25 15:16:52 +02:00
ThomasV
2120b1a573
command line: wait until daemon is connected
2014-07-25 13:30:27 +02:00
ThomasV
8196bc5779
adapt network dialog to daemon
2014-07-25 09:11:56 +02:00
ThomasV
09e4efc439
daemon notifications (network.status)
2014-07-24 23:17:06 +02:00
ThomasV
9ee0614edb
make daemon usable with the GUI
2014-07-24 16:12:18 +02:00
ThomasV
a195ca5c07
fix: check if wallet has master_private_keys
2014-07-14 03:21:51 +02:00
ThomasV
43d2fab9a0
get_seed -> check_password
2014-07-14 02:57:12 +02:00
ThomasV
98acf49b4e
fix get_pubkeys call
2014-07-14 02:39:14 +02:00
ThomasV
20c7bef7ac
rm dead code
2014-07-14 02:27:51 +02:00
ThomasV
b8f64ad46f
rm get_address_flags (no longer used)
2014-07-14 02:23:27 +02:00
ThomasV
b04256b474
load_transactions
2014-07-14 02:20:24 +02:00
ThomasV
3c7346ee9c
load imported_keys outside of load_accounts
2014-07-14 02:15:29 +02:00
ThomasV
a471859a3a
move master_private_keys and master_public_keys to NewWallet
2014-07-14 02:08:21 +02:00
ThomasV
24f40f610f
fix: update commands with new transaction constructors
2014-07-14 01:07:54 +02:00
ThomasV
6fb85f95bf
run_hook: no more than one plugin shall return a result
2014-07-10 17:27:54 +02:00
ThomasV
e2717284eb
Merge pull request #749 from chrisglass/clean-tests-wallet
...
Add tests to the wallet.py module.
2014-07-10 02:58:51 +02:00
ThomasV
0207029682
fix: new outputs format and payment requests
2014-07-09 21:21:47 +02:00
ThomasV
042c65939d
don't use address_is_old in code that can be run offline
2014-07-09 18:23:33 +02:00
Chris Glass
73ee95ec9a
Removed failing test for now
...
As discussed on IRC, it might be too early to write this test since the
behavior is not entirely defined yet.
2014-07-09 11:04:49 +02:00
Chris Glass
a9592459ed
Add tests to the wallet.py module.
...
This increases test coverage a lot.
2014-07-09 11:03:44 +02:00
ThomasV
6ad1c46aa5
fix: add type 'aaddress' in change output
2014-07-08 23:53:20 +02:00
ThomasV
1bb00ff5af
store output type explicitly in tuple
2014-07-08 19:38:16 +02:00
ThomasV
38e662e522
fix syntax of redeem_script
2014-07-08 19:27:43 +02:00
ThomasV
769b4002cd
fix: get_action
2014-07-07 23:35:01 +02:00
ThomasV
e327418f6e
transaction: separate deserialize and update methods
2014-07-07 18:01:43 +02:00
ThomasV
0ce2c870bb
fixes for pending accounts
2014-07-07 15:43:02 +02:00
ThomasV
5ce50f4421
get_master_public_key: always return xpub of main account
2014-07-06 23:20:27 +02:00
ThomasV
2e1d24939c
rm duplicate method getpubkey
2014-07-06 22:24:09 +02:00
ThomasV
b5b5edbee7
add_keypairs: simplification
2014-07-06 22:10:26 +02:00
ThomasV
a89abee969
Rewrite accounts and transactions: store pubkeys instead of addresses in order to avoid unnecessary derivations.
2014-07-06 21:10:41 +02:00
ThomasV
37127e563b
fix #750
2014-07-05 03:57:05 +02:00
ThomasV
0511d7e76f
fix: get_action should call get_master_public_key
2014-07-01 19:17:43 +02:00
ThomasV
2c38e85a50
better integration of plugins in installwizard (for 2fa, trezor plugins)
2014-07-01 18:46:11 +02:00
ThomasV
9a3ca0dc31
add support for RSA_SHA256
2014-06-30 20:19:18 +02:00
ThomasV
f635c5110c
try pyasn1-modules as well
2014-06-30 18:12:39 +02:00
ThomasV
20060a1177
fix #745
2014-06-30 17:59:36 +02:00
Michael Wozniak
09154fdf20
Shouldn't redo URI encoding
2014-06-30 11:10:50 -04:00
Michael Wozniak
8ad7a5a085
Update tests and fix URI parsing
...
Update URI parsing for BIP0072 compatability
Update tests for parse_URI
2014-06-30 10:41:12 -04:00
ThomasV
2efad717d8
support for OP_RETURN
2014-06-27 17:08:20 +02:00
Chris Glass
9baaaef746
Made use of fewer constants
2014-06-27 16:15:04 +02:00
Chris Glass
0ac02bf040
Made all bip32 primitives testnet compatible.
2014-06-27 15:44:43 +02:00
ThomasV
8feb2a7b67
fix missing import. fixes #738
2014-06-27 14:42:02 +02:00
ThomasV
b03d11003e
update comment on x509 class
2014-06-27 11:44:34 +02:00
ThomasV
7a7e65d66c
optional parameters for create_new_address
2014-06-27 11:38:35 +02:00
ThomasV
f9985ae233
use x509 to check if server certificate has expired
2014-06-27 11:36:51 +02:00
ThomasV
13682cab1d
use the ca list that ships with requests. update test.
2014-06-26 19:52:09 +02:00
ThomasV
b5acdab3e9
allow address creation beyond gap limit in GUI. fixes #512
2014-06-26 18:55:22 +02:00