Commit Graph

2470 Commits

Author SHA1 Message Date
Neil Booth
2a1b717a21 Fix scripts/peers
Needed an almost complete rewrite now we use select.
2015-08-31 17:44:50 +09:00
Neil Booth
748662dede Add a debugging traceback. 2015-08-31 14:38:19 +09:00
Neil Booth
2ee506ac03 Fix typo. 2015-08-31 14:05:38 +09:00
Neil Booth
768adfb337 Fix "restore" further by accepting --mpk 2015-08-31 13:52:18 +09:00
Neil Booth
2d05e7d891 Merge the network and network_proxy 2015-08-31 12:00:38 +09:00
Neil Booth
4d6a0f29ee Fix 'restore' command line to take -C. 2015-08-31 11:34:44 +09:00
ThomasV
92e0744470 Refactoring of daemon:
* gui and daemon are in the same process
 * commands that require network are sent to the daemon
 * open only one gui window per wallet
2015-08-30 11:31:51 +02:00
Neil Booth
351272f0b6 Small optimization for large wallets
Previously the verifier job would scan all transactions in
unverified_tx each time it ran.
Nothing was ever removed from this map; it would essentially
be the full set of transactions.
As the job runs about 10 times a second, for a wallet with 500 txs
this would be 5,000 useless loops a second.
This patch makes unverified_tx be simply the set of confirmed
transactions that haven't yet been verified.  txs are added once
confirmed, and removed once verified.  Hence it will almost always be
empty.
2015-08-28 12:39:19 +09:00
Neil Booth
478bde8afa Access to unverified_tx no longer needs a lock
Once the proxy thread jobs are created only they access this,
and they all run under the proxy thread, so there is no contention.
2015-08-28 11:10:50 +09:00
ThomasV
578a83fa30 show error message raised during sign_transaction. see issue #1422 2015-08-27 08:22:02 +02:00
Neil Booth
695aebaa80 Clean up imports; use self.print_error 2015-08-27 15:12:54 +09:00
Neil Booth
91049c8af8 Protect proxy against ill-formed server responses 2015-08-27 15:09:00 +09:00
Neil Booth
9455815ad0 Merge requested_merkle and merkle_roots. 2015-08-26 17:12:40 +09:00
Neil Booth
b64c42b1eb Make the verifier a thread job instead of a thread
The verifier, like the synchronizer, now runs as part of the
network proxy thread.
2015-08-26 17:07:36 +09:00
Neil Booth
01491dd1d0 Have network_proxy use ThreadJob framework
Rename WalletSynchronizer to Synchronizer so that diagnostic messages,
which are based on class name, still refer to Synchronizer.
2015-08-26 16:50:40 +09:00
Neil Booth
56654ec4e9 Introduce thread job framework.
This is a cleaner generalization of the functionality added
to network_proxy.py a few months ago, whereby jobs can be
added and removed from a thread's main loop.  This allows
us to cut down on unnecessary threads.

A follow-up patch will update the proxy to this framework.
2015-08-26 16:41:12 +09:00
Roman Zeyde
eb66289314 test_transaction: add BCDataStream test case 2015-08-25 15:51:22 +03:00
Roman Zeyde
33b78551a3 test_transaction: add Transaction.sweep() test case 2015-08-25 15:21:44 +03:00
Roman Zeyde
6a7e145053 test_transaction: add test suite for lib.transaction module 2015-08-25 12:05:49 +03:00
Neil Booth
a056f9804b Notify when a chunk of headers is validated
And a couple of cosmetic changes.
This should fix #1379.
2015-08-25 14:27:53 +09:00
Roman Zeyde
3c3d96f69e test_mnemonic: add tests for mnemonics 2015-08-24 17:35:17 +03:00
Roman Zeyde
bb97624de2 test_account: add test case for OldAccount 2015-08-24 10:57:41 +03:00
Roman Zeyde
893849ab39 test_account: add test case for BIP32_Account 2015-08-24 10:57:41 +03:00
Roman Zeyde
a92ca583bd test_interface: fix check_host_name test 2015-08-24 10:02:10 +03:00
Neil Booth
49a48d52ac Use select. 2015-08-22 14:03:08 +02:00
ThomasV
85c0dda1a9 version 2.5 2015-08-22 13:42:53 +02:00
ThomasV
234471b70c version 2.4.3 and release notes 2015-08-22 11:42:18 +02:00
dabura667
678ec84267 Add Chinese Simplified wordlist 2015-08-20 23:18:47 +09:00
ThomasV
37034bdf7f listunspent: convert value to float 2015-08-19 11:10:55 +02:00
ThomasV
6bbfef5198 add timestamp to history command output, convert value to float 2015-08-19 11:04:06 +02:00
ThomasV
93b674982e fix tx strip 2015-08-18 16:33:51 +02:00
ThomasV
f583fcfedb do not import dns on android 2015-08-18 12:15:56 +02:00
ThomasV
3f1e4ae3b1 strip spaces from raw tx 2015-08-18 10:17:53 +02:00
ThomasV
4a514c7638 version 2.4.2 and release notes 2015-08-17 13:20:45 +02:00
ThomasV
fa9ce51685 deprecate dumpprivkeys 2015-08-16 16:30:55 +02:00
ThomasV
02e81a3655 read command line arguments from stdin if '-' is passed 2015-08-16 16:11:52 +02:00
ThomasV
5686499eae fix #1400 2015-08-16 13:50:03 +02:00
ThomasV
bfae04e6f0 Improved in network callbacks:
* Pass arguments
 * Don't redraw history when a tx is verified.
 * Fix new tx notifications.
2015-08-16 11:36:23 +02:00
ThomasV
438bc94dce fix #1399 2015-08-16 11:25:23 +02:00
ThomasV
ede7423bf2 Merge pull request #1397 from romanz/master
Add tests to bitcoin.py and ripemd.py
2015-08-15 13:42:59 +02:00
ThomasV
e0939348c3 minimize calls to estimated_fee 2015-08-15 12:31:57 +02:00
ThomasV
6232a0b76c speedup fee computation when collecting small inputs 2015-08-15 10:02:47 +02:00
Roman Zeyde
ac8e792c58 test_ripemd: add simple test case for ripemd module 2015-08-15 09:52:27 +03:00
Roman Zeyde
fa412c3a86 test_bitcoin: add tests for int packing 2015-08-15 09:41:20 +03:00
Roman Zeyde
175fef2d56 test_bitcoin: add test case for seeds 2015-08-15 09:20:01 +03:00
ThomasV
8a3e5032b1 Merge pull request #1389 from romanz/master
remove unused code
2015-08-14 16:48:23 +02:00
ThomasV
d69da1ef43 add/remove transaction: remove unused tx_height parameter 2015-08-14 15:30:00 +02:00
ThomasV
e9b346ed29 add command for master private key 2015-08-14 15:23:50 +02:00
Roman Zeyde
abc7429b0f bitcoin: remove multiple imports 2015-08-09 19:35:02 +03:00
Roman Zeyde
b5854b6e8b account: remove unused variables 2015-08-09 19:35:02 +03:00
Roman Zeyde
a3a01be8ce remove unused code 2015-08-09 19:02:04 +03:00
ThomasV
c3991091de move init_qt hook 2015-08-07 20:06:31 +02:00
ThomasV
6b87256795 sign tx with empty scriptSig inputs 2015-08-07 17:11:42 +02:00
ThomasV
5f413aca1c rm unneeded float conversion 2015-08-07 14:36:43 +02:00
ThomasV
c844d22a19 synchronous_get: return -> raise exception 2015-08-07 12:22:47 +02:00
ThomasV
85d9b8aa8d fix: dePem cert before parsing 2015-08-07 11:58:59 +02:00
ThomasV
ca3c320ef4 simplify x509 constructor 2015-08-07 11:39:30 +02:00
ThomasV
713fa00d86 fix estimatefee for daemon 2015-08-07 10:54:32 +02:00
ThomasV
65c7dfafbc check alias in signrequest 2015-08-07 09:00:00 +02:00
ThomasV
34e3261efd fix estimate_fee 2015-08-06 19:26:34 +02:00
ThomasV
714445aba8 fix: wallet.is_used 2015-08-06 19:19:25 +02:00
ThomasV
e93ff18776 rename help -> commands 2015-08-06 15:52:38 +02:00
ThomasV
aadffa0c8f check_ssl_config: verify pubkey 2015-08-05 20:59:51 +02:00
ThomasV
a9e74da11c check SSL certificate in config dialog 2015-08-05 20:49:45 +02:00
ThomasV
43880d452e dynamic fees 2015-08-05 15:45:28 +02:00
ThomasV
476d198be9 fix missing occurences of X509.parse 2015-08-04 18:31:08 +02:00
ThomasV
e8d30129ea replace TLSLite dependency with minimal RSA implementation 2015-08-04 18:16:06 +02:00
Neil Booth
4c8408b42d Print reason for failure to connect headers
Used to fail just with a "header didn't connect" message, now
it gives a reason too.
2015-08-01 13:09:52 +09:00
ThomasV
8ae64064b6 dont silence dns errors 2015-07-31 21:56:22 +02:00
ThomasV
380bccacf0 request_queue.put should never block, because maxsize is not set 2015-07-31 20:11:12 +02:00
ThomasV
963ec4ca3e dnssec: don't call get_default_resolver 2015-07-31 20:02:55 +02:00
ThomasV
9938fbd160 version 2.4.1 2015-07-31 14:52:16 +02:00
ThomasV
465d1dfd8b fix #1378 2015-07-31 14:51:48 +02:00
ThomasV
2ec19e7528 fix bugs with ecdsa/dnssec 2015-07-31 13:49:14 +02:00
Eagle[TM]
4731418af9 Use ssl.PROTOCOL_TLSv1 on client side to avoid SSLv23 2015-07-30 20:40:05 +02:00
ThomasV
77b0e7be5e network: initial status should be 'unknown', distinct from 'connecting' 2015-07-30 11:32:16 +02:00
ThomasV
348a9b0e21 fix imports, cleanup 2015-07-29 22:16:36 +02:00
ThomasV
e96a0945ca do not use pycrypto for DNSSEC validation 2015-07-29 22:06:44 +02:00
Roman Zeyde
5fbd7553ed interface: fix check_host_name() pattern matching
The existing pattern matching code:

    val.find('*.') == 0 and name.find(val[1:]) + len(val[1:]) == len(name)

will return True in the following case:

   val = '*.host.com'
   name = 'blah.org'

since string.find() will return -1, len(val[1:]) == 9 and len(name) == 8.
2015-07-26 18:11:30 +03:00
ThomasV
70d59bbe06 Merge pull request #1376 from romanz/master
util: fix small typo at parse_URI() and update its unittests
2015-07-25 17:19:28 +02:00
ThomasV
96c3513cb2 add character encoding declaration to index.html 2015-07-25 12:50:00 +02:00
ThomasV
cbf13197e2 websocket: hostname 2015-07-25 12:31:35 +02:00
ThomasV
e9f5e6866d check www dir on daemon start 2015-07-25 12:25:47 +02:00
Roman Zeyde
87d3fafa22 util: fix small typo at parse_URI() and update its unittests 2015-07-25 12:41:37 +03:00
ThomasV
0c5bfb8c26 print -> util.print_error 2015-07-24 14:23:03 +02:00
ThomasV
e6924d9912 prevent websocket closing with balnk target 2015-07-24 13:30:51 +02:00
ThomasV
3da148f406 use local copy of javascript files 2015-07-24 12:36:08 +02:00
ThomasV
f0e6f5bf64 Merge branch 'master' of github.com:spesmilo/electrum 2015-07-24 11:39:31 +02:00
ThomasV
18d145cced add websocket to webpages 2015-07-24 11:39:12 +02:00
Neil Booth
0f2d4bd375 Add bitflyer.jp block explorer 2015-07-24 15:17:15 +09:00
ThomasV
41d9c94821 don't add bip70 suffixes 2015-07-22 16:00:08 +02:00
ThomasV
6d54512627 clearrequests command; minor type fix 2015-07-22 15:46:53 +02:00
ThomasV
508b5373ac minor fixes 2015-07-22 15:33:50 +02:00
ThomasV
8960b16e09 more sanitization 2015-07-22 15:28:43 +02:00
ThomasV
b813ba0bdd sanitize timestamp and expiration in requests 2015-07-22 15:24:15 +02:00
ThomasV
37c07278d5 update var names 2015-07-22 09:37:17 +02:00
ThomasV
8f507d2afd change var name 2015-07-22 09:24:44 +02:00
ThomasV
acbd434f76 cleanup request signing 2015-07-22 09:06:03 +02:00
ThomasV
a8ed934a7f fix bug with make_unsigned_request 2015-07-21 16:30:25 +02:00
ThomasV
a6c65b8997 change internal format of requests 2015-07-21 12:26:37 +02:00
ThomasV
2c1fb1e37c do not raise exception if uri has an unknown key 2015-07-21 11:54:45 +02:00
ThomasV
e77f0c98e7 extend bitcoin: URI with signature data, instead of serialized format 2015-07-21 11:40:55 +02:00
ThomasV
9c30ad3dd5 extend bitcoin URIs with signed payment requests passed directly 2015-07-18 18:42:56 +02:00
ThomasV
e879cb4552 https download of headers 2015-07-18 11:17:19 +02:00
ThomasV
380e072842 fix bug with import_key 2015-07-18 11:00:41 +02:00
neocogent
8792301846 restrict to *. only, add DN support also 2015-07-17 11:17:43 +07:00
neocogent
3c563b85ad adjust comment about wildcards 2015-07-17 04:22:39 +07:00
neocogent
59c231808f add wildcard ssl support 2015-07-17 04:03:40 +07:00
Neil Booth
e7ea3e5d01 Add two more block explorers
chain.so and biteasy.com
2015-07-15 20:58:19 +09:00
ThomasV
471cab6089 do not base64encode signatures in requests 2015-07-14 16:37:04 +02:00
Neil Booth
677f235e4b Fix typo. 2015-07-14 09:00:59 +09:00
ThomasV
f320178db9 no empty amount in bip70 2015-07-13 21:37:41 +02:00
ThomasV
6fa7f57f10 express expiration dates in natural language 2015-07-13 20:47:11 +02:00
ThomasV
aa7b9af501 minor fix 2015-07-12 08:13:09 +02:00
ThomasV
da55d9ed6e payment requests: cmdline fixes 2015-07-11 21:09:56 +02:00
ThomasV
fbc23a61a3 fix cmdline addrequest 2015-07-11 21:03:02 +02:00
ThomasV
dff8f6b338 rework paymentrequest methods 2015-07-11 20:26:30 +02:00
ThomasV
35aba0c14b show alias satus in gui after fetch 2015-07-11 18:14:00 +02:00
Eagle[TM]
4578777c29 network: Update default servers 2015-07-10 19:35:02 +02:00
ThomasV
cb2bc54f96 store and display signatures of own requests 2015-07-09 14:15:30 +02:00
ThomasV
71243c2a57 dnssec: fix hash, and skip SOA 2015-07-09 09:02:39 +02:00
ThomasV
094ce2e4b3 add DNSSEC chain validation 2015-07-08 19:20:54 +02:00
ThomasV
538846ee0b remove incorrect dnssec validation 2015-07-08 15:14:00 +02:00
ThomasV
f3c4a55e77 add dnssec verification to payment requests 2015-07-07 08:59:03 +02:00
ThomasV
e9f3b21519 Fix transaction update 2015-07-06 00:22:19 +02:00
ThomasV
15f592f022 trezor multisig: build xpub from pubkey 2015-07-05 23:29:36 +02:00
ThomasV
0368a2cd5e fix bug from #1281 2015-07-05 18:16:33 +02:00
ThomasV
b0f7411a0a check and fix history on startup 2015-07-05 17:29:41 +02:00
ThomasV
e2c19ff871 fix #1344 2015-07-05 16:19:44 +02:00
ThomasV
9947173183 fix tx deserialize 2015-07-05 13:29:02 +02:00
ThomasV
5c2235e54b make tx.deserialize preserve existing inputs 2015-07-04 17:33:18 +02:00
ThomasV
c224a9ad9d enable multisig with trezor 2015-07-04 12:10:52 +02:00
ThomasV
7933ac4324 reformatting 2015-07-04 12:07:33 +02:00
ThomasV
250bb03034 Merge pull request #1337 from kyuupichan/auto_connect
Suggested auto_connect daemon mode fix for #1336
2015-07-03 09:58:57 +02:00
ThomasV
9e84d12a6f Merge pull request #1339 from kyuupichan/daemon
Avoid string representation issues, fix #1338
2015-07-03 09:41:21 +02:00
Neil Booth
930304e46b Remove apparently dead code. 2015-07-03 13:57:42 +09:00
Neil Booth
389c8e8a8d Only write config file once. 2015-07-03 13:56:17 +09:00
Neil Booth
3a50c78a47 Avoid string representation issues
Caused by unicode vs non-unicode strings.
Fixes #1338
2015-07-03 13:53:15 +09:00
Neil Booth
5acbe00cbf Suggested auto_connect daemon mode fix for #1336 2015-07-03 11:50:53 +09:00
ThomasV
65e7667eba build reverse history index, to know when a transaction can be removed 2015-07-02 16:07:04 +02:00
ThomasV
616becd9a8 move openalias from plugins to core 2015-07-02 12:44:53 +02:00
ThomasV
fa2de58c90 redo fixes for 1324 2015-07-02 09:22:59 +02:00
ThomasV
ccd07c6a80 Merge branch 'synchronizer-unthread' of https://github.com/kyuupichan/electrum into kyuupichan-synchronizer-unthread 2015-07-02 09:20:51 +02:00
ThomasV
0c37009cdb fix is_address (forgot p2sh) 2015-07-02 08:53:17 +02:00
ThomasV
c0858f314f Merge branch 'master' of git://github.com/spesmilo/electrum 2015-07-02 08:48:53 +02:00
ThomasV
cf5328b143 do not accet testnet addresses in bitcoin.is_address 2015-07-02 08:48:48 +02:00
Roman Zeyde
daee02e22d commands: fix typo
rename "sec" to "privkey"
2015-07-01 18:15:35 +03:00
Roman Zeyde
9c06bee8c7 interface: slow_parse() is not defined for X509 2015-07-01 16:54:11 +03:00
ThomasV
604d5d432c sanitize server at the interface level (follow up to issue #1330) 2015-07-01 09:09:00 +02:00
ThomasV
0ac3aebb88 fix proxy setting issue #1330 2015-07-01 08:45:47 +02:00