Commit Graph

3135 Commits

Author SHA1 Message Date
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
ThomasV
38f5deee86 use an input queue in synchronizer, so that new addresses can be created from other threads 2014-06-26 17:41:09 +02:00
Chris Glass
b2f8d507de Fixed docstrings 2014-06-26 13:24:14 +02:00
Chris Glass
99a31b0c6a Fixes previously introduced bug
The passed in command line options were saved to the user config.
2014-06-26 13:22:02 +02:00
Chris Glass
956f725b35 Forward-merging changes from master
To make sure tests pass or fail with the latest code.
2014-06-26 11:23:46 +02:00
Chris Glass
34f0a65c49 Added more tests for user config parsing. 2014-06-26 11:08:13 +02:00
Chris Glass
ad3640d7a4 Added tests for the system config function. 2014-06-26 10:08:00 +02:00
Chris Glass
221fa5848f System config should never be None 2014-06-25 20:33:04 +02:00
Chris Glass
5eeae69425 Added more tests for edge cases. 2014-06-25 18:04:37 +02:00
Chris Glass
8997c760a2 Do not use mutables as default values!
This blog article explains why (just an example, many other articles
discuss this ad nauseam):
http://pythonconquerstheuniverse.wordpress.com/2012/02/15/mutable-default-arguments/
2014-06-25 17:43:45 +02:00
Chris Glass
fff3ed9b77 Added a lot of tests for SimpleConfig
Refactored the SImpleConfig class a lot to make sure the behavior is
always defined.
2014-06-25 17:34:51 +02:00
ThomasV
05dba32315 Merge branch 'master' of git://github.com/spesmilo/electrum 2014-06-25 16:46:05 +02:00
ThomasV
54973062bd restore from xprv 2014-06-25 16:45:55 +02:00
ThomasV
935286fe1c Merge pull request #733 from chrisglass/add-more-tests
Add more tests
2014-06-25 12:07:51 +02:00
Chris Glass
af5a0eba33 Added mnemonic to seed tests 2014-06-25 11:21:39 +02:00
ThomasV
8795e1a746 Comment on wallet classes. Use address_is_old to check if address is beyond gap limit 2014-06-25 10:53:06 +02:00
Chris Glass
4675ea5321 Added util test file 2014-06-25 10:50:21 +02:00
Chris Glass
bc98223188 Added more bitcoin tests 2014-06-25 10:39:50 +02:00
Chris Glass
9dc814ec8c Made _do_test_crypto private to allow nosetests 2014-06-25 08:45:37 +02:00
Chris Glass
413945435a Added private/public key tests
Including converting from a private key to a public key, and
deriving the primary address from a private key.
2014-06-25 08:27:45 +02:00
Chris Glass
73c33820db Moved bitcoin.py tests to their own file
This allows standard python testing tools to discover and run them.
2014-06-25 07:35:49 +02:00
ThomasV
0c440ee6a6 wallet.is_beyond_limit (False for imported accounts) 2014-06-24 20:47:44 +02:00
ThomasV
c742e8c5cf minor fix 2014-06-24 17:43:23 +02:00
ThomasV
0c6d470296 various bugfixes for imported addresses 2014-06-24 16:47:58 +02:00
Chris Glass
2765b66411 Removed uselss comment. 2014-06-24 15:48:50 +02:00
Chris Glass
01f3e31c6b First cleanup branch commit
This fixes some import and whitespace issues to align closer to pep8.
I added a few comments to make further contributions easier.
2014-06-24 16:12:43 +03:00
ThomasV
2c7bf3ca1a detect if wallet can sign tx before showing sign button 2014-06-24 13:22:10 +02:00
ThomasV
b32d0c77a3 fix bug with the order of signatures in tx input 2014-06-23 09:42:07 +02:00
ThomasV
37148b72d4 show number of tx signatures in gui 2014-06-22 12:07:41 +02:00
ThomasV
b28a0bcdd4 getmpk: return list of accounts 2014-06-22 08:06:37 +02:00
ThomasV
a24e32266f help text for signrawtransaction 2014-06-22 08:05:13 +02:00
ThomasV
3f15a8f217 serialize: do not use x_pubkeys if we have enough signatures. 2014-06-21 22:09:35 +02:00
ThomasV
785b54f8f4 fix add_keypairs: support old wallets 2014-06-21 21:39:57 +02:00
ThomasV
85505c1d8e cleanup (dead code) 2014-06-21 21:17:40 +02:00
ThomasV
0636ef8b32 compact serialized format for unsigned and partially signed transactions. 2014-06-21 21:06:09 +02:00
ThomasV
a40ed14953 fix save_qrcode 2014-06-17 18:32:49 +02:00
ThomasV
e2d03f1cc9 show popup if qr scanner not enabled 2014-06-17 16:45:45 +02:00
ThomasV
52e74ccda1 parse_scriptSig 2014-06-17 13:48:58 +02:00
ThomasV
c07c1c58ed access to global configuration using set_config and get_config 2014-06-17 12:03:41 +02:00
ThomasV
2b2a8d17df bundle dependencies in 'packages' dir. use qrcode instead of pyqrnative 2014-06-17 11:02:46 +02:00
ThomasV
f43ddf1d8f parse_URI: amount is in satoshis 2014-06-15 09:26:52 +02:00
ThomasV
47c491624e show expired status in invoices tab 2014-06-13 16:53:43 +02:00
ThomasV
38e7d8ebe5 show color if payment request has expired 2014-06-13 16:39:07 +02:00
ThomasV
36cee62849 import paymentrequests only when really needed 2014-06-13 16:25:25 +02:00
ThomasV
58c302a4cf minor fixes 2014-06-13 16:08:46 +02:00
ThomasV
6f3c9e6a44 unify util.parse_URI 2014-06-13 16:02:30 +02:00
ThomasV
14331afc2b adding file generated by protobuf 2014-06-13 00:06:45 +02:00
ThomasV
173c034e26 on_header: return early if block_height is missing 2014-06-12 15:49:53 +02:00
ThomasV
6631ab9406 verify if pr has expired 2014-06-12 15:47:48 +02:00
ThomasV
503fd99cdb add pay_invoice menu item 2014-06-12 15:35:46 +02:00
ThomasV
4e1068b343 broadcast tx of payment request 2014-06-12 15:15:05 +02:00
ThomasV
68a75af1bd save and display request status 2014-06-12 11:27:18 +02:00
ThomasV
89a1b48ba1 column for payment request memo 2014-06-12 10:20:06 +02:00
ThomasV
86aba082e1 fix bug #718 2014-06-11 13:10:48 +02:00
ThomasV
5ed0f2224d Fix daemon port 2014-06-10 20:44:52 +02:00
ThomasV
4ec31b9fe9 prevent collision on daemon port. Add Imported_Wallet (bolkin) 2014-06-10 20:40:42 +02:00
ThomasV
958f764dae verify payment requests with tlslite and pyasn1 (pure python) instead of m2Crypto 2014-06-10 14:32:17 +02:00
ThomasV
440f972fd3 show payment request details 2014-06-07 19:53:54 +02:00
ThomasV
14dfa6f5b0 store payment requests even if M2Crypto is not available 2014-06-07 11:11:49 +02:00
ThomasV
513f9c2d89 save invoices 2014-06-06 16:16:14 +02:00
ThomasV
38a6747eff fix: sanitize outputs 2014-06-06 07:48:08 +02:00
ThomasV
e699ab6660 coin control: select UTXOs in menu 2014-06-05 21:55:11 +02:00
ThomasV
26d133c20a payment request: show status with help button 2014-06-05 17:40:58 +02:00
ThomasV
31226b8a34 add pbkdf2 dependency 2014-06-05 16:19:13 +02:00
ThomasV
5a89734d6c do not raise an error if user config file is corrupted 2014-06-03 16:16:43 +02:00
ThomasV
90a558e02c fix get_pubkey for imported keys 2014-06-03 15:35:09 +02:00
ThomasV
1045b537aa unit test for aes 2014-06-03 13:15:41 +02:00
ThomasV
274c67f984 check message length in mnemonic encode 2014-06-03 09:35:34 +02:00
ThomasV
30b608c6fb move tests to unittest format 2014-06-03 09:34:59 +02:00
ThomasV
194291c80b update imported keys 2014-06-02 08:59:41 +02:00
ThomasV
650ef92c5f class MyVerifyingKey, with constructor to submit to python-ecdsa 2014-05-30 21:24:23 +02:00
ThomasV
501bb92584 Remove Bitcoin address from serialized encryption format. Enable encrypt commands, fix ser_to_point() and add some tests 2014-05-28 12:20:04 +02:00
Lucas Ryan
a3d02525e2 in ecies encryption, mac headers+ciphertext instead of just ciphertext 2014-05-27 11:37:37 -07:00
Lucas Ryan
93f61f1717 replaced jackjack encryption with corrected ecies implementation 2014-05-27 10:55:51 -07:00
ThomasV
adb53e4c41 fix #699 2014-05-21 22:04:10 +02:00
ThomasV
35c270e075 explicit type for imported wallets. fixes #698 2014-05-21 16:04:58 +02:00
ThomasV
217ba7c80c createrawtransaction: keep all fields for input_info 2014-05-21 12:37:00 +02:00
ThomasV
84954b0778 update calls to is_complete() method. fixes #693 2014-05-21 11:36:37 +02:00
ThomasV
a21a175679 mpk hex encoding 2014-05-15 09:13:50 +02:00
ThomasV
c3676cc6e6 wallet.is_used() method 2014-05-12 11:28:00 +02:00
ThomasV
a66df2a3fa multi seed and mpk dialogs 2014-05-12 10:53:04 +02:00
ThomasV
b9143b3800 show request memo 2014-05-10 22:43:53 +02:00
ThomasV
9e2db24f5d return error status for payment requests 2014-05-10 20:35:00 +02:00
ThomasV
0fb6cdcb1a add 2of3 wallets in wizard 2014-05-09 16:27:12 +02:00
wozz
5a312290e2 Target Calculation Update
fix #686
2014-05-08 12:44:36 -04:00
ThomasV
a18d21d946 fix cmd line wallet creation. fixes #684 2014-05-08 15:18:38 +02:00
ThomasV
370bdbe855 fix payment ack 2014-05-07 18:59:51 +02:00
ThomasV
e8a5070948 fix parse_url 2014-05-07 18:34:00 +02:00
ThomasV
0149ec5921 sanitize payment request code 2014-05-07 18:20:17 +02:00
ThomasV
ec234105a5 send error messages for payment requests 2014-05-07 18:10:14 +02:00
ThomasV
87fa402c34 support for payment requests in the gui 2014-05-07 15:26:38 +02:00
ThomasV
2642b7e126 can_import 2014-05-07 11:53:32 +02:00
Michael Wozniak
96e1ea42a8 update to certificate check for Subject Alt Names 2014-05-05 12:09:48 -04:00
ThomasV
f004dff9ef adding initial bip70 script (wozz) 2014-05-05 17:31:39 +02:00
ThomasV
7f67b36a19 fix: num_accounts should return only confirmed bip32 accounts 2014-05-05 12:17:25 +02:00
ThomasV
fa4c2b96d7 p2sh wallets cannot create accounts 2014-05-05 12:03:01 +02:00
ThomasV
97a6f91451 fix: is_address, is_private_key: check that text is not empty 2014-05-05 10:03:31 +02:00
ThomasV
8534ec603f dumpprivkey -> getprivatekeys 2014-05-05 09:13:10 +02:00
ThomasV
563a7d99b9 rename command dumpprivkey as getprivatekeys 2014-05-05 09:11:36 +02:00
ThomasV
90f5133983 utf8 encode seed (old wallets) 2014-05-05 01:19:04 +02:00
ThomasV
c76da17262 utf8 encoding for seed encryption 2014-05-04 20:31:05 +02:00
ThomasV
430c7aa92e fix: get_seed 2014-05-04 19:52:47 +02:00
ThomasV
c9fc6275ab move private key methods from wallet to accounts 2014-05-04 19:43:15 +02:00
ThomasV
9b8ad42a66 id of imported account 2014-05-04 14:13:34 +02:00
ThomasV
339dd46d98 return imported addresses as sorted 2014-05-04 13:54:53 +02:00
ThomasV
e9968e4a39 imported_keys and accounts 2014-05-04 13:46:37 +02:00
ThomasV
4a33cf256b remove dead code: get_imported_balance 2014-05-04 12:54:35 +02:00
ThomasV
09a2254739 fix #676 2014-05-04 10:22:35 +02:00
ThomasV
0536f256cf fix: imported_account 2014-05-02 12:41:37 +02:00
ThomasV
2a938ad516 fix: pending accounts 2014-05-02 11:19:02 +02:00
ThomasV
fdf8697e58 handle pending and imported accounts using account child classes 2014-05-02 11:10:12 +02:00
ThomasV
95df9cd103 fix bugs on wallet creation 2014-05-01 18:58:24 +02:00
ThomasV
46c0dda3b9 sweep privkeys in gui 2014-05-01 17:35:01 +02:00
ThomasV
3faeb7eab6 define check_password for imported wallets 2014-05-01 13:08:12 +02:00
ThomasV
ace127ee43 fix password dialog, for imported wallets 2014-05-01 12:42:06 +02:00
ThomasV
95fce65e12 disable wallet menus when they do not apply 2014-05-01 12:19:24 +02:00
ThomasV
84052bcdb2 fix bug with has_seed 2014-04-30 15:44:46 +02:00
ThomasV
9c37ed68f4 wallet.has_seed 2014-04-30 11:40:53 +02:00
ThomasV
56e8ad3397 cleanup wallet classes 2014-04-30 11:18:13 +02:00
ThomasV
17216da392 can_create_account 2014-04-30 10:40:47 +02:00
ThomasV
7e0711f6ec move synchronizer class in its own file. abstract wallet class. 2014-04-30 10:32:40 +02:00
ThomasV
bb88c891dc move set_url to __init__. fixes #672 2014-04-30 07:59:59 +02:00
ThomasV
582fb76e9e new class: Imported_Wallet 2014-04-29 21:04:16 +02:00
ThomasV
23df7394df is_new_seed: encode utf8 2014-04-29 19:30:31 +02:00
ThomasV
0ba73dfc95 restore get_master_public_key function. fixes #668 2014-04-29 12:26:58 +02:00
ThomasV
5d68ce4f22 wizard: option to create multisig wallet manually 2014-04-29 11:45:39 +02:00
ThomasV
70a638a7c3 more robust install wizard 2014-04-28 17:30:48 +02:00
ThomasV
c295c79754 fix signrawtransaction 2014-04-27 14:26:15 +02:00
ThomasV
5a02836933 fix input_info for signrawtransaction 2014-04-26 18:44:45 +02:00
ThomasV
0c100c1480 add_cold_seed 2014-04-25 17:51:41 +02:00
ThomasV
e552930d34 sweep command (does not broadcast) 2014-04-25 17:23:26 +02:00
ThomasV
217900bbfa watching_only wallets have a single account 2014-04-25 11:48:13 +02:00
ThomasV
1662a9e9c5 fix: get_master_public_key 2014-04-25 10:39:07 +02:00
ThomasV
a1daba6afe get_master_public_keys 2014-04-25 10:16:07 +02:00
ThomasV
a3dd9f700c no accounts in multisig wallets 2014-04-24 14:29:08 +02:00
ThomasV
7bef756813 simplify getseed: do not return hex 2014-04-23 16:14:31 +02:00
ThomasV
26c65dd65f lower default fee. fixes #403 2014-04-23 16:10:01 +02:00
ThomasV
5d9b9492e1 abstract and improve seed and key methods 2014-04-21 22:09:15 +02:00
ThomasV
41f9da1559 fix #655 2014-04-20 10:42:13 +02:00
ThomasV
6c96b38abf installwizard: multisig wallets 2014-04-19 20:23:27 +02:00
ThomasV
86917c2ff3 handle coinbase transactions explicitly 2014-04-19 10:32:23 +02:00
ThomasV
df59c8e013 fix #563 2014-04-17 18:41:34 +02:00
ThomasV
80a988e337 slightly better notifications. at least, it fixes #652 2014-04-17 17:38:21 +02:00
ThomasV
696766c370 json-friendly debug messages. fix #659 2014-04-17 17:20:07 +02:00
ThomasV
3e1a87397d Merge branch 'master' of git://github.com/spesmilo/electrum 2014-04-17 17:05:45 +02:00
ThomasV
8a7a6f347b fix #661 2014-04-17 17:05:36 +02:00
Drak
d082ed3cb5 Lower minimum tx fee in line with Bitcoin 0.9
Since Bitcoin Core 0.9 the minimum relay tx fee was lowered to `0.00001`.
2014-04-14 21:20:42 +01:00
ThomasV
cba7a5d68d fix signatures returned by get_address_from_input_script. fixes #653 2014-04-13 14:57:42 +02:00
wozz
4a79769af4 Merge pull request #650 from wozz/URI-bug
Bitcoin URL Handling

closes #649
2014-04-12 14:15:08 -04:00
ThomasV
d30d7b2188 fix #651 2014-04-12 19:53:52 +02:00
Michael Wozniak
8874242fa7 Bitcoin URL Handling
Update Bitcoin URL handling to reject URLs with duplicate keys

issue: #649
2014-04-12 12:19:42 -04:00
Fynn
cc13dd25b3 Accept FreeBSD OS 2014-04-10 11:37:58 -03:00
ThomasV
1751c3ac7f fix: public instead of private 2014-04-09 07:36:33 +02:00
ThomasV
f550b452be transaction: add_signature(), is_complete() methods 2014-04-07 11:03:12 +02:00
ThomasV
102bc204d5 hooks and workflow for 2of3 wallets 2014-04-06 21:38:53 +02:00
ThomasV
f4b1621910 rename do_send as send. fixes #645 2014-04-05 18:35:15 +02:00
ThomasV
c24482c21a check seed in gui. fixes #622 2014-04-05 10:34:51 +02:00
ThomasV
38a59c0b37 re-enable seed tests. get_public_keys method 2014-04-05 10:08:54 +02:00
ThomasV
02c3bc131e fix and simplify tx serialization 2014-04-03 21:23:35 +02:00
ThomasV
8e644a4dc8 sort signatures for multisig 2014-04-03 20:48:31 +02:00
ThomasV
66e1e2707d get_pubkey_from_x 2014-04-03 16:11:28 +02:00
ThomasV
a194edbefb account:simplification 2014-04-03 14:32:03 +02:00
ThomasV
4fb5296a92 account:simplification 2014-04-03 14:30:00 +02:00
ThomasV
9c34f9a1da fix: getpubkey 2014-04-03 14:17:42 +02:00
ThomasV
f68ecb3e26 multisig accounts: sort pubkeys 2014-04-03 14:15:02 +02:00
ThomasV
f522d6c36d sort pubkeys in multisig scripts 2014-04-02 14:04:39 +02:00
ThomasV
df540cb241 move get_keyID to accounts 2014-04-01 23:53:07 +02:00
ThomasV
5c31263848 fix load_accounts 2014-04-01 19:10:59 +02:00
ThomasV
05fcdce018 fix redeem scripts 2014-04-01 19:10:35 +02:00
ThomasV
9fccf9c287 helper functions for bip32 derivations 2014-04-01 19:10:13 +02:00
ThomasV
9567af0219 fix CKD in p2sh accounts 2014-04-01 12:34:03 +02:00
ThomasV
5a43b633d6 update bip32 accounts and wallet 2014-04-01 11:25:12 +02:00
ThomasV
9663600d5d update bip32 derivations, using xpriv and xpub serialization format 2014-03-31 12:16:15 +02:00
ThomasV
91ba04c4d7 update bip32 derivations, using xpriv and xpub serialization format 2014-03-31 12:12:29 +02:00
ThomasV
328432f5f4 update bip32 derivations, using xpriv and xpub serialization format 2014-03-31 12:00:57 +02:00
ThomasV
7cc04f383b Merge pull request #617 from flatfly/patch-3
Remove unused import
2014-03-16 20:18:22 +01:00
ThomasV
f92b483942 disable encrypt/decrypt 2014-03-16 16:35:12 +01:00
flatfly
2a28fa07e3 Update daemon.py 2014-03-16 15:04:40 +01:00