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 bd781d600b8ce2bc9dcebebbdb0fb60ad2fb892e: 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