Commit Graph

395 Commits

Author SHA1 Message Date
Mike Hearn
54354c16b6 Add SPVBlockStore, a new higher performance replacement for BOBS that uses a fixed-size mmapped ring buffer, with caching on top to cover up for slow Dalvik mapped byte buffer operations. 2013-03-05 14:48:28 +01:00
Mike Hearn
9d6a3cc1e9 Upgrade Guava and make a simple accessor for building cycle-detecting locks. 2013-03-05 14:48:28 +01:00
Mike Hearn
d309863560 Save the last seen chain height as well as hash in the wallet. 2013-03-04 18:52:09 +01:00
Mike Hearn
d626b19a55 Change default ping time to 2sec 2013-03-04 18:44:36 +01:00
Mike Hearn
0608b3a383 Fix a bug that could cause pinging a remote node as fast as it will respond. 2013-03-04 18:28:26 +01:00
Mike Hearn
9a0950e578 Check for null InetAddress in PeerAddress c'tor. 2013-03-04 15:55:44 +01:00
Mike Hearn
1175fe9588 Change the parameter of BlockChainListener.notifyNewBestBlock to be StoredBlock instead of Block, so listeners can get height/work information as well. The Wallet doesn't need this but other listeners may do. 2013-03-04 15:55:39 +01:00
Mike Hearn
00071d3cfc Add a couple of convenience features: peerGroup.addAddress(InetAddress) and an AbstractBlockChainListener class. 2013-03-04 15:55:35 +01:00
Mike Hearn
43b1ae1a29 Remove redundant and buggy expression in the check for whether to send a bloom filter. 2013-03-02 11:52:46 +01:00
Mike Hearn
6799dcc348 Refuse to create transactions larger than the max standard size. 2013-03-01 19:48:45 +01:00
Mike Hearn
1c8ee2b116 Upgrade to the latest Netty. Resolves issue 321. 2013-03-01 16:44:27 +01:00
Mike Hearn
018dcd345c Fix a couple of ordering issues with the unit tests. 2013-03-01 16:23:07 +01:00
Mike Hearn
34f3d8b088 Minor comment fix in Block.java 2013-03-01 14:30:28 +01:00
Mike Hearn
301299cff9 Don't print difficulty transition times when it's less than 50 msec. 2013-03-01 14:30:23 +01:00
Mike Hearn
2e895e4e09 Optimization when downloading blocks (should be rare these days), don't format log messages that requires an expensive hash->string conversion if the debug channel is not enabled. 2013-03-01 14:30:17 +01:00
Mike Hearn
049baad8c6 Avoid trying to resolve dependencies of newly solved orphan blocks when we are still downloading headers. 2013-03-01 14:30:11 +01:00
Mike Hearn
fbc14c1040 Make NetworkParameters singleton and (mostly) immutable.
Resolves issue 51.
2013-02-28 19:39:05 +01:00
Mike Hearn
559df0b3f8 Trivial cleanup 2013-02-28 19:27:13 +01:00
Mike Hearn
55898d3ee3 Fix a redundant null comparison, clears one more findbugs warning. 2013-02-28 18:38:28 +01:00
Mike Hearn
93d8a8da1f Update findbugs.xml to suppress useless warnings. 2013-02-28 18:38:16 +01:00
Mike Hearn
f9a57db818 Fix crash in toString() for an unparsed block header object. 2013-02-28 18:06:58 +01:00
Mike Hearn
ec1504f9dc Remove another java7-ism. 2013-02-28 17:52:32 +01:00
Mike Hearn
29cea2e6f0 Fix a java7-ism 2013-02-27 16:55:11 +01:00
Mike Hearn
e14e7a228c Fix bug that could cause huge slowdowns during initial header sync: peers were not checking if they were still download peers after receiving header messages. 2013-02-27 13:45:50 +01:00
Mike Hearn
a700b97f75 Delete the Derby block store. It isn't that useful now we have full verification based on H2. 2013-02-25 21:43:43 +01:00
Mike Hearn
6b684a6dc6 Resolve more FindBugs warnings. These changes are all no-ops. 2013-02-22 12:05:29 +01:00
Mike Hearn
3ae65f7a2f Don't invoke onCoinsSent for cases when the balance doesn't change, just onWalletChanged directly.
Also implement equals/hashCodes for SaveRequest.
Resolves a couple of FindBugs warnings.
2013-02-22 12:05:14 +01:00
Mike Hearn
1a5f74a148 Add/fix hashCodes/equals() implementations in some cases. Clears more FindBugs warnings. 2013-02-21 15:42:14 +01:00
Mike Hearn
440619f1c5 Test the ability to choose your own change address. This clears a FindBugs warning about the field never being written. 2013-02-21 15:41:47 +01:00
Mike Hearn
8540f879bd Fix a bug in Peer error logging, found by FindBugs. 2013-02-21 15:41:33 +01:00
Mike Hearn
3680c7f52f Restrict scope of NPE check for Bouncy Castle bug. 2013-02-21 14:42:04 +01:00
Mike Hearn
85c9950d9e Clear all possible NPE findbugs warnings, and fix some getter/setter synchronization mismatches. 2013-02-21 14:29:26 +01:00
Mike Hearn
002539f2b8 Treat client protocol versions higher than the version we prefer equally so we don't zap peers that upgrade early when unimportant (for us) protocol changes roll out. 2013-02-21 12:27:52 +01:00
Mike Hearn
32cc7b4880 Catch NullPointerException from bouncy castle signature verification. This can be triggered by a specially crafted signature. Thanks to Sergio Damian Lerner for finding this. 2013-02-19 22:33:15 +01:00
Mike Hearn
4b4eb7b623 Clear some more FindBugs warnings, including a real bugfix to the bloom filter calculations. 2013-02-19 17:44:41 +01:00
Mike Hearn
883bf03007 Clear some FindBugs warnings. 2013-02-19 17:05:23 +01:00
Mike Hearn
5a3515bef0 Refactor the code that sets filters a bit, and send a mempool query after wallet contents change in case of a key import. 2013-02-19 16:11:22 +01:00
Mike Hearn
3c606516be Query the memory pool of nodes that support Bloom filtering. 2013-02-19 16:11:22 +01:00
Mike Hearn
f4033076e8 Don't build/send Bloom filters when there are no keys in any wallets.
Resolves issue 324.
2013-02-19 16:11:22 +01:00
Mike Hearn
72d6f23e92 Version 0.8-SNAPSHOT 2013-02-19 16:11:22 +01:00
Mike Hearn
0c1d308b5b Refactor version constants a bit.
Resolves issue 206.
2013-02-18 15:57:05 +01:00
Mike Hearn
d4cfad59cf Fix a bug where pending transactions with spent outputs would be considered unspent, triggering consistency assertions.
Resolves issue 313.
2013-02-15 16:47:11 +01:00
Mike Hearn
d310c289ab Clarify another JavaDoc. 2013-02-15 16:47:11 +01:00
Mike Hearn
7ccd81c462 Update TODO list at top of wallet class. 2013-02-15 16:47:11 +01:00
Mike Hearn
e99e4bd63c Consider age of outputs when creating spends. 2013-02-15 16:47:11 +01:00
Mike Hearn
757334da80 Change getBalance to use the default coin selector instead of its own logic for calculating the available and estimated balances. 2013-02-15 16:47:11 +01:00
Mike Hearn
29727113a5 Support ID based construction of unit test network params. Fixes an issue in the serializer tests. 2013-02-15 16:47:11 +01:00
Mike Hearn
068db43569 Add a setter for the coin selector. 2013-02-15 16:47:10 +01:00
Mike Hearn
4273820eac Allow spending of unconfirmed change when it's been seen by the network.
Resolves issue 40.
2013-02-15 16:47:10 +01:00
Mike Hearn
fd45fa0f17 Refactor coin selection out into a separate object and reimplement the existing policy. 2013-02-15 16:47:10 +01:00