ThomasV
3ee61c4c6e
define wallet.dummy_address method
2016-02-02 19:56:34 +01:00
ThomasV
eb36884c66
move estimate_fee back to wallet
2016-02-02 12:26:28 +01:00
ThomasV
0b54ed0243
follow up 0d52911561
2016-02-02 07:18:18 +01:00
ThomasV
ddc1869551
disambiguate types returned by get_fd_or_server
2016-02-01 13:10:01 +01:00
ThomasV
690c862923
move static methods away from daemon class; restore initial logic
2016-02-01 10:20:22 +01:00
ThomasV
3b00f62d46
remove another unnecessary static method
2016-02-01 09:25:57 +01:00
ThomasV
1c83c3e060
do not declare pointless static methods
2016-02-01 09:12:53 +01:00
ThomasV
56c7d4139e
fix: Daemon.get_server
2016-02-01 09:02:57 +01:00
Neil Booth
e61fffab55
Trezor/KeepKey: force watching only improvements
...
Only warn about watching only once given a chance to pair.
Failure to pair makes watching-only and warns.
In error message to user, distinguish between failure to connect
and failure to pair.
2016-01-31 19:36:21 +09:00
Neil Booth
abaf1bc6dc
daemon: remove two unneeded member vars
2016-01-31 18:03:50 +09:00
Neil Booth
a90c935758
Remove unreachable code
2016-01-31 14:53:25 +09:00
Neil Booth
788ab520ea
Remove dead code from prior
2016-01-31 14:48:57 +09:00
Neil Booth
e6020975a5
daemon: prevent races by opening with O_EXCL
...
Rework the way the daemon and server are created. If we might
want to create a daemon, try to grab the lockfile with O_EXCL.
If we got it, create a server and daemon, otherwise try and
connect to the server. If connecting to the server fails (including
after sleeping a little in case the server was recently created),
remove the lockfile and start over.
Other fix: shut down network gracefully on daemon exit.
Fixes #1638
2016-01-31 14:46:03 +09:00
Neil Booth
f91f03b3d4
daemon: fix long-standing bug in status request
...
Gracefully handle a status request when self.network is None
2016-01-31 11:50:44 +09:00
Neil Booth
ec24087b5a
Move some logic from electrum to daemon
...
Ultimate goal is to try and stop the daemon race at startup.
Need to isolate logic of checking for server and creating one.
2016-01-31 11:43:11 +09:00
Neil Booth
f6f7113978
daemon: create network inside constructor
2016-01-31 10:58:27 +09:00
ThomasV
ed401761f1
sorry, confused
...
This reverts commit 5e6a55edd5
.
2016-01-30 11:24:53 +01:00
ThomasV
5e6a55edd5
Revert "Revert "Daemon network cleanup""
...
This reverts commit 2c7b10a776
.
2016-01-30 11:13:11 +01:00
ThomasV
2c7b10a776
Revert "Daemon network cleanup"
...
This reverts commit 0a1b3eac9c
.
2016-01-29 17:37:56 +01:00
Neil Booth
0a1b3eac9c
Daemon network cleanup
...
All Daemon creation was preceded by Network creation, based on
config, and passing it to Daemon.
As config is passed to Daemon, it might as well create its own
network and the code is in one place.
2016-01-29 22:14:50 +09:00
Neil Booth
412e2a8d2c
Create is_pairable() function and use it.
...
Fixes #1653 .
2016-01-29 19:26:05 +09:00
ThomasV
a04b510395
fix: don't chmod config file on android
2016-01-28 14:43:12 +01:00
Neil Booth
bf942b5259
Trezor: another place needs client handler set
2016-01-27 21:27:51 +09:00
ThomasV
963dcf0c6b
rm test_ripemd
2016-01-26 15:48:34 +01:00
ThomasV
56c4a8746f
remove python implementation of ripemd160
2016-01-26 15:18:28 +01:00
ThomasV
fe9ec6de06
reformatting
2016-01-26 13:51:47 +01:00
ThomasV
9b09c55356
dynamic fees: use hardcoded value as upper bound
2016-01-25 16:46:50 +01:00
Neil Booth
268dcbcac5
Trezor: multi-device window parenting fix
2016-01-24 23:18:41 +09:00
Neil Booth
93e0c72ce2
Plugins: start thread at end of constructor
...
Don't add jobs twice
2016-01-24 19:59:58 +09:00
Neil Booth
80e15577b5
Update comment
2016-01-24 19:45:13 +09:00
Neil Booth
dee402b961
Plugin wallets: better error when unloadable
...
Used to get:
jsonrpclib.jsonrpc.ProtocolError: (-32603, u'Server error: File "src/electrum/lib/plugins.py", line 144, in wallet_plugin_loader | KeyError: \'trustedcoin\'')
Now get:
jsonrpclib.jsonrpc.ProtocolError: (-32603, u'Server error: File "src/electrum/lib/plugins.py", line 81, in load_plugin | RuntimeError: cmdline implementation for trustedcoin plugin not found')
2016-01-24 19:39:59 +09:00
Neil Booth
f4fa53e915
Trezor: fixes for latest libtrezor
...
We were relying on internals of libtrezor that they just
changed. However their changes don't work on Mac either.
Work around both issues. I think this...
Fixes #1637
2016-01-24 14:33:21 +09:00
Neil Booth
f8ed7b058d
Improved multi-device handling
...
Ask user which device to use when there are many. If there
is only one skip the question. We used to just pick the
first one we found; user had no way to switch.
We have to handle querying from the non-GUI thread.
2016-01-24 13:41:03 +09:00
Neil Booth
a0ef42d572
Fix typo causing change address reuse
2016-01-24 11:16:05 +09:00
Neil Booth
97bc1b2788
Don't split small change
2016-01-23 22:10:25 +09:00
Neil Booth
efa1efedca
Hardware wallets: limit change outputs to 1
2016-01-23 22:05:08 +09:00
Neil Booth
9729f5b6d3
get_account_addresses: None->all user-visible a/cs
...
Otherwise we can end up sweeping to a non-visible address.
2016-01-23 18:07:02 +09:00
Neil Booth
83a531b3e4
Revert "Sweep keys: don't default to hidden address"
...
This reverts commit 605cc47a3d
.
2016-01-23 17:32:43 +09:00
Neil Booth
605cc47a3d
Sweep keys: don't default to hidden address
...
The issue is electrum uses None as the current account
to mean the default account. This just gave rise to
all addresses being listed including in hidden accounts.
Really "None" as used in main_window.py and history_widget.py
means "a single unspecified account" not "all accounts".
So implement the idea of a default account, and don't let
a hidden account be the default one.
2016-01-23 17:17:10 +09:00
Neil Booth
618026f96c
Installwizard: tweak hardware wallet handling
2016-01-22 22:16:58 +09:00
Neil Booth
0d14781463
Trezor: GUI fixes
...
Trezor window was doing GUI stuff outside the GUI thread
2016-01-21 23:33:15 +09:00
Neil Booth
24037be99c
Clean up client caching and handling
2016-01-21 22:56:53 +09:00
ThomasV
858b9c5655
kivy: improve settings dialog
2016-01-21 12:12:55 +01:00
Neil Booth
b878c010da
Minikey: minimum length 20
...
On second thoughts there seems little reason to accept text
of length <= 20 for minikeys.
2016-01-21 08:11:50 +09:00
Neil Booth
f7859c041e
Support Casascius minikeys
2016-01-19 22:00:16 +09:00
Neil Booth
eebabdf209
Merge branch 'client_thread'
2016-01-19 21:01:46 +09:00
ThomasV
4122c108fc
plugins: enable & disable methods
2016-01-19 10:03:05 +01:00
Neil Booth
06c262d0dc
TrezorClient: should be in a separate thread
...
First steps; get show_address working.
Client is not responsible for showing exceptions.
Suppress uninteresting exceptions.
2016-01-18 07:33:04 +09:00
ThomasV
d200b236ae
replace tx.input, tx.output by methods, so that deserialize calls are encapsulated
2016-01-17 15:04:11 +01:00
ThomasV
321ab10742
detect RBF transactions
2016-01-17 14:28:17 +01:00
ThomasV
bd94bb31db
Merge branch 'master' of git://github.com/spesmilo/electrum
2016-01-16 15:05:59 +01:00
ThomasV
4f0631d78d
don't use assert is is_xprv (weird kivy bug)
2016-01-16 15:05:29 +01:00
Neil Booth
371f8d6dc3
network: gracefully handle EINTR in select syscall
2016-01-16 21:14:14 +09:00
Neil Booth
f1bb3e846d
Remove unused import
2016-01-16 19:03:06 +09:00
Neil Booth
15707b5590
Coin chooser: use deterministic randomness
2016-01-16 18:55:50 +09:00
ThomasV
abdb7f8470
fix tests
2016-01-15 18:14:06 +01:00
ThomasV
3b10bd8307
follow up eb085c2e23
2016-01-15 09:10:04 +01:00
ThomasV
eb085c2e23
Clarify preferences dialog:
...
* rename 'Oldest First' policy as Priority
* show multiple change and fee multiplier on separate lines
2016-01-15 09:02:03 +01:00
Neil Booth
6bf91b8ae2
Update comments and tooltips.
2016-01-15 15:25:01 +09:00
Neil Booth
53fa973898
Move change_amounts() to base class.
...
Update tooltip of the preference.
2016-01-15 15:21:25 +09:00
Neil Booth
641f23229d
Add multiple change output preference
...
Limit to 3 if enabled.
2016-01-15 14:54:26 +09:00
ThomasV
0d52911561
define constants for tx output types
2016-01-14 17:15:50 +01:00
ThomasV
da8fce1914
if available, use relayfee from server instead of hard coded value
2016-01-14 16:06:22 +01:00
ThomasV
0464a1a6b0
remove gtk gui
2016-01-13 15:29:04 +01:00
ThomasV
388ed01d0f
fix start_threads in wizard
2016-01-13 15:02:58 +01:00
Neil Booth
889c4cb7fb
Multisig: create and restore work
...
Override run in derived class to catch UserCancelled again
Restore self.finished() hook.
Fix a typo.
2016-01-13 22:38:32 +09:00
ThomasV
2f6e2ebcd2
test if wizard is needed in daemon
2016-01-13 14:30:09 +01:00
Neil Booth
9390a97e9e
Bring the network dialog into the new framework
2016-01-13 21:11:06 +09:00
Neil Booth
4c9b224d4c
Put open_wallet back as class method.
2016-01-13 20:56:44 +09:00
ThomasV
ef1f649d58
fix missing parameter
2016-01-13 11:31:23 +01:00
ThomasV
632905dfbe
instantiate wizard only if needed
2016-01-13 11:27:17 +01:00
ThomasV
58fe42cea2
revert commit 4ba4611599
for relicencing
2016-01-12 09:35:45 +01:00
Neil Booth
1ec3ad59cc
Ledger: get new wallet creation working again
...
This is enough to get new wallet creation working in the
absence of errors.
2016-01-11 14:23:35 +09:00
Neil Booth
b120dd8849
Fix root derivation changes for BIP44_Wallets
...
Wallet keys use root_name
Also typo xub -> xpub
2016-01-11 11:39:56 +09:00
Neil Booth
384b8cd5f2
Install wizard: simplify create_or_restore
...
- Use ChoiceLayout to organize the layouts
- Do wallet filtering in wizard.py as it's GUI independent.
- Only pass the descriptions.
2016-01-10 23:00:59 +09:00
ThomasV
c47e3499ce
rename wallet methods
2016-01-10 12:56:15 +01:00
Neil Booth
450ab76f78
Fix install wizard
...
Used to pass the wallet as an argument to wallet methods.
2016-01-10 20:44:20 +09:00
Neil Booth
cda92cd12c
Move cosigner methods to BIP32_RD_Wallet
2016-01-10 20:37:22 +09:00
Neil Booth
637164d335
Introduce BIP32_RD_Wallet
...
Represents a BIP_32 wallet with a root derivation.
This permits us to see address derivation for NewWallet types
in the QT Gui.
2016-01-10 20:20:04 +09:00
Neil Booth
3d781a2d1b
BIP32_HD_Wallet: Fix address derivation
...
Unfortunately there was root_name and root_derivation confusion
in the past for classes derived from BIP_32_HD_Wallet.
Address derivation used root_name and so would begin with 'x/'
whereas it should have begun with root_derivation, and so started
with 'm/'.
This fixes that old wart and removes some fudges from the trezor
code that used to work around it.
2016-01-10 20:06:13 +09:00
Neil Booth
4743f033b4
Fix the backwards-compat 'next_account2' code
2016-01-10 19:26:17 +09:00
Neil Booth
5baa5feb11
Put restore_wallet_class back in the derived classes
2016-01-10 18:41:20 +09:00
Neil Booth
9946feb352
Have BTChipWallet derive from BIP44_Wallet
...
Narrowing the gap with the Trezor code a bit
2016-01-10 17:38:39 +09:00
Neil Booth
81d641a13f
Show BIP32 path for BIP32_HD_Wallet classes
...
from right-click Show Public Keys menu.
Fixes #1598
2016-01-10 14:53:00 +09:00
ThomasV
9ad4d63ad1
wizard: small tweaks, fix show_restore
2016-01-09 10:35:10 +01:00
Neil Booth
2f1d6b2379
Have Trezor dialog work even if wallet unpaired
...
Required cleanup of handler logic. Now every client
is constructed with a handler, so there is never a
question of not having one.
2016-01-09 17:15:31 +09:00
Neil Booth
3e8598c245
Move trezor-specific install wizard code to plugin
2016-01-09 15:21:38 +09:00
Marco Pontello
065f6aa370
Added Blockchain URI (BIP 122) to block explorers list.
2016-01-08 20:23:17 +01:00
ThomasV
6acbe4226e
don't open wizard window if no action was required
2016-01-08 13:44:59 +01:00
ThomasV
d867fcc266
update create_main_account in tests
2016-01-07 01:02:44 +01:00
ThomasV
5915b9b7e1
restore action-driven wizard logic
2016-01-07 00:55:23 +01:00
ThomasV
90a2fc1379
Revert "Fix MultiSig wallet creation."
...
This reverts commit 21038843ea
.
2016-01-07 00:46:34 +01:00
Neil Booth
6fb7dbd30d
Implement passphrase protection toggling.
...
Along with chicken box.
2016-01-06 23:08:02 +09:00
Neil Booth
9b29c6c2e6
Trezor: all four available device initializations
...
Trezor and KeepKey devices can now be initialized by:
- device-generated seed
- existing seed
- BIP39 mnemonic
- master private key
2016-01-06 22:18:56 +09:00
ThomasV
bdb4782b36
Revert "Install wizard multisig improvement"
...
This reverts commit 4e7c6e5d16
.
That commit breaks the separation between make_seed and add_cosigners
2016-01-06 12:01:25 +01:00
Neil Booth
4e7c6e5d16
Install wizard multisig improvement
...
Preserves independence of wizard.py from wallet type;
the dependence is expressed entirely through actions
Fixes #1611
2016-01-06 19:31:12 +09:00
ThomasV
62868ab29a
Register loaded wallets in daemon, to prevent a wallet from being opened twice.
...
Simplify the wizard logic.
2016-01-06 00:58:43 +01:00
Neil Booth
3d9f321cae
Use a shared device manager
...
Use a shared device manager across USB devices (not yet taken
advantage of by ledger). This reduces USB scans and abstracts
device management cleanly.
We no longer scan at regular intervals in a background thread.
2016-01-06 07:56:58 +09:00
Neil Booth
21038843ea
Fix MultiSig wallet creation.
...
Fixes #1603
2016-01-05 21:22:43 +09:00
ThomasV
bd309cff49
restore default labels
2016-01-04 15:40:57 +01:00
Neil Booth
87363c8301
Trezor: Implement resetting a device
2016-01-03 13:34:03 +09:00
Neil Booth
f3e6bf0280
Passphrase-related fixes
...
Move normalize code to one place on the wallet
Passphrases don't have password strength meter
2016-01-03 09:03:07 +09:00
Neil Booth
ff39333d32
Not all wallets have plugins
2016-01-02 20:47:04 +09:00
Neil Booth
21bf5a8a84
Better support for USB devices
...
Benefits of this rewrite include:
- support of disconnecting / reconnecting a device without having
to close the wallet, even in a different USB socket
- support of multiple keepkey / trezor devices, both during wallet
creation and general use
- wallet is watching-only dynamically according to whether the
associated device is currently plugged in or not
2016-01-02 20:39:29 +09:00
Neil Booth
dbf154d5f2
Finish moving the multisig regex to one place
2016-01-02 00:39:44 +09:00
Neil Booth
12f62212ba
Move wallet_kinds to the base class
...
This logic isn't gui-dependent so belongs in wizard.py
2016-01-02 00:35:09 +09:00
Neil Booth
1d07960290
Remove constructor method of plugins
...
Clean up wallet class loading.
2016-01-02 00:16:15 +09:00
Neil Booth
c7bd1e9428
Fix plugin dialog logic I broke recently
2016-01-01 19:22:34 +09:00
Neil Booth
d63e754c67
Remove some unused hook infrastructure
2016-01-01 19:15:01 +09:00
Neil Booth
11d135b32d
Better install wizard
...
Break out the workflow logic of the install wizard
into a base class. This means reimplementing with
full support in a new GUI is now easy; you just provide
ways to request passwords, show messages etc. The API
is fully documented in the base class.
There are a couple of minor outstanding issues, including that
the old messages shown when recovering a wallet are missing.
I will come back to that. Ledger wallet might be broken.
Other improvements:
The install wizard code is now easy to follow and understand.
Hardware wallets can now be restored without any need for their
accompanying libraries.
Various bits of trustedcoin were broken and have been fixed.
Many plugin hooks can be removed. I have only started on this.
2016-01-01 16:48:18 +09:00
Neil Booth
e6dbe621c6
Make class methods static on Wallet
2015-12-31 16:05:05 +09:00
Neil Booth
f263f8b0fd
Convert legacy restored hardware wallets
...
Hardware wallets do not have a seed and hardware wallet
code should not have to worry about that case.
2015-12-31 09:51:27 +09:00
Eagle[TM]
2c797cd75b
Update default server list
2015-12-30 14:47:40 +01:00
Neil Booth
1d51335827
Remove need for self.wallet for h/w wallets
2015-12-30 17:03:26 +09:00
Neil Booth
84450b9189
Revert mistaken commit
2015-12-29 23:16:53 +09:00
Neil Booth
ed3c0a5469
Remove a name-clashing unnecessary local variable
2015-12-29 23:08:10 +09:00
Neil Booth
0f70d0b8a5
The constructor() concept doesn't exist
...
Did it ever?
2015-12-29 22:59:25 +09:00
Neil Booth
9d9fcbde64
Proper treatment of restored hardware wallets
...
They have a different wallet type; they require no plugin nor
plugin libraries to use.
Remove pointless public key code that was implemented in the
base classes already.
Partial fix for #1592 . Unfortunately the plugin and library
are still required to actually restore the wallet, but for
no reason that isn't fixable.
2015-12-28 20:24:15 +09:00
Neil Booth
11e1c62f28
Move hardware wallet to trezor/
...
On second thoughts it does go better there.
2015-12-27 18:23:46 +09:00
Neil Booth
669cf74789
Fix trezor restore
...
Broken by my recent changes
2015-12-27 15:38:52 +09:00
Neil Booth
3a1bb5b61a
Combine keepkey and trezor wallet code
...
Essentially identical so silly to have two copies.
Also fix a double-dialog during sign bug that caused one to not
disappear (on MacOSX at least).
2015-12-26 16:25:10 +09:00
Neil Booth
c298860e11
A fix and cleanups for hardware wallets
2015-12-26 12:02:19 +09:00
Neil Booth
a58c19d7c0
Clean up and fix account adding
...
As per BIP44, 20 addresses are checked for transactions, not just the
first one.
Show the last account only if used or named.
If all accounts are used, prompt for password to create new one.
Fixes #1128
2015-12-25 23:34:04 +09:00
ThomasV
fb8f9e55ef
Cleanup main script, with semantic changes:
...
The --offline flag applies only to GUI.
Commands must use the daemon if a daemon is running, otherwise they are run offline.
Commands that only require the wallet do not have the require_network flag.
2015-12-23 15:59:32 +01:00
ThomasV
8bcd132423
Merge branch 'master' of git://github.com/spesmilo/electrum
2015-12-23 10:54:45 +01:00
ThomasV
acbe67fd1f
separation between RPC and non-RPC commands.
2015-12-23 10:54:31 +01:00
Neil Booth
9484b6371f
More modality fixes and cleanups
2015-12-23 18:31:36 +09:00
Neil Booth
72fdf0cd21
Better error when opening a non-wallet file
...
Also window modality fixes for __init__.py
2015-12-23 13:54:43 +09:00
Neil Booth
e1c0298fc2
Write the wallet less often
...
This should speed up synchronization / restoration of large wallets.
Wallets are written only when they switch to up_to_date state, or
when stop_threads() is called when closing the daemon, or when
a command line command finishes.
2015-12-20 15:47:46 +09:00
Neil Booth
0a3d74de8f
Avoid index-out-of-range
...
Also add sanity assertion
2015-12-20 12:19:44 +09:00
Neil Booth
25a2ceda23
Fix copyright.
2015-12-20 12:06:23 +09:00
Neil Booth
5c3a6db445
Fix negative amounts assertion
...
Change amounts could be negative after deducting the cost of the extra
change output; floor them at zero. Move the assertion to the main
code. Simplify rounding logic.
2015-12-19 13:44:12 +09:00
ThomasV
3bed2e3106
don't wait for wallet sync in rpc commands; instead, show wallet status in status command
2015-12-17 17:54:49 +01:00
ThomasV
026f9312a7
fix more type errors caused by jsonrpc (parsing floats and transactions)
2015-12-16 20:17:20 +01:00
ThomasV
b3ef2249b5
add more features to settings dialog
2015-12-16 11:53:37 +01:00
ThomasV
30ace570d3
kivy: choice_dialog and load_wallet_by_name
2015-12-16 08:57:47 +01:00
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