Commit Graph

2363 Commits

Author SHA1 Message Date
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