3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-02-13 10:45:51 +00:00

131 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
d309863560 Save the last seen chain height as well as hash in the wallet. 2013-03-04 18:52:09 +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
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
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
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
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
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
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
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
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
988641a5f7 Label transactions with their source (network, wallet, other, etc).
This will be used to allow spending of unconfirmed change.
2013-02-15 16:47:10 +01:00
Mike Hearn
90662e9238 Support compressed pubkeys in the dumpprivkey format encoder/decoder.
Resolves issue 308.
2013-02-11 12:18:16 +01:00
Mike Hearn
1c8ddaad36 Delete long-dead code related to the previous protocol version that didn't use checksumming until post-handshake. 2013-02-09 12:35:58 +01:00
Mike Hearn
5ce607f1ae Add a minimum version to Peer and use it to exclude peers so old they don't support pong messages. 2013-02-05 15:14:58 +01:00
Mike Hearn
37cb4205b3 Minor cleanups to unit tests: remove redundant params from some test helper methods. 2013-02-05 12:00:32 +01:00
Mike Hearn
a62825bd8f Make the NetworkParameters.testNet() point to testNet3 and rename oldTestNet->testNet2(). Resolves issue 285. 2013-01-30 17:56:57 +01:00
Mike Hearn
590d47f273 Add Wallets to all peers not just the download peer. Resolves issue 297.
Also fix the unit test that was meant to catch this error so it didn't accidentally probe the download peer case. And prevent adding of wallets multiple times (which caught another error in the unit tests).
2013-01-29 16:17:46 +01:00
Mike Hearn
dece35e95c Fix typo in name of FilteredBlockAndPartialMerkleTreeTests 2013-01-28 16:32:32 +01:00
Mike Hearn
35d6084bbf Refactor some of the wallet/peer interaction. Analyze dependencies of relevant pending transactions.
The Peer object now asks each connected Wallet if it cares about a transaction. If it does, then receivePending() is not called immediately, but rather after downloading of dependencies and with those dependencies. If any dependencies are time locked, a new wallet property controls whether they are discarded or not.
2013-01-28 16:32:31 +01:00
Mike Hearn
e9babb2772 Use ping messages to work around the lack of notfound messages on old nodes.
For now optimistically assume Gavin merges the notfound patch into bitcoin-qt, version wise.
2013-01-28 16:32:31 +01:00
Mike Hearn
b7b52c3fc9 Add support for recursively downloading mempool dependencies of a given mempool transaction.
This isn't currently used anywhere, but can be used as the first step of doing some basic risk analysis of unconfirmed transactions.
2013-01-28 16:32:31 +01:00
Mike Hearn
43e1d084cb Add Matts copyright notice to TestWithPeerGroup 2013-01-28 16:20:43 +01:00
Matt Corallo
1ea4cb457d Add the new nFlags BloomFilter fields to control auto-updating. 2013-01-27 03:41:10 -05:00
Matt Corallo
3906aa62d9 Add test cases for PMT/FilteredBlock including network download. 2013-01-27 03:40:31 -05:00
Matt Corallo
9577bd644e Ask peers for filtered blocks when appropriate and handle them. 2013-01-27 03:40:31 -05:00
Matt Corallo
a5f9c3381b Add relayTxesBeforeFilter flag to VersionMessage, PROTOCOL_VERSION
This adds a relayTxesBeforeFilter flag to VersionMessage, bringing
it in line with PROTOCOL_VERSION 70001, and bumps the
PROTOCOL_VERSION accordingly.
2013-01-27 03:40:31 -05:00
Matt Corallo
7c03eefefd Send peers a bloom filter from our wallet(s). 2013-01-27 03:40:31 -05:00
Matt Corallo
394d0b788d Add Wallet.getBloomFilter and a test-case for it. 2013-01-27 03:40:30 -05:00
Matt Corallo
e263229b62 Add BloomFilter class/messages and a test-case. 2013-01-27 02:32:36 -05:00
Mike Hearn
40c13eb3f3 Fix send futures in FakeChannelSink to unbreak a unit test that deadlocks after a previous change. 2013-01-23 17:17:00 +01:00
Mike Hearn
d919ede7a8 Specify time zone in block chain unit test. Resolves issue 291. 2013-01-23 17:12:53 +01:00
Mike Hearn
6504296b79 Avoid confusing bugs by switching NetworkParameters.testNet() to be testnet3 not testnet2. 2013-01-16 18:15:46 +01:00
Mike Hearn
75e467dfc4 Make TestUtils.roundTripTransaction public. 2013-01-16 17:55:36 +01:00
Mike Hearn
916e33254f Resolve some race conditions.
It was possible that during saving of a wallet a network thread would update the confidence metrics due to broadcast announcements. This change makes TransactionConfidence use a COW list so the broadcast peer set can be iterated over safely. Resolves issue 277.
2013-01-12 14:27:49 +01:00
Mike Hearn
b5b43f3a15 Better support for lock timed transactions.
Lock times are now included in various toString dumps.
Transactions can estimate their lock time when the time is specified as a block number.
Add support to WalletTool for creating timelocked transactions.
2013-01-12 14:26:59 +01:00
Mike Hearn
dd9e0d5d0d Fix my previous buggy commit that changed Utils.bitcoinValueToFriendlyString 2013-01-10 13:26:19 +01:00
Mike Hearn
d268270d7b Use compressed pubkeys by default. Resolves issue 111. 2013-01-09 23:45:24 +01:00
Mike Hearn
0bdfa7b635 Better formatting in Utils.bitcoinValueToFriendlyString 2013-01-09 23:45:23 +01:00
Mike Hearn
ae6b2fbd4d Improvements to the ECKey class:
- Implement ECDSA key recovery.
- Use it to implement sign/verifymessage functionality that's compatible with Bitcoin-Qt.
- Redesign the signing APIs a bit.
2013-01-06 22:07:55 +01:00
Mike Hearn
7e8ed913ec Use ChannelGroups for shutdowns. This cleans up the code and makes the PeerGroup shutdown futures work correctly. 2013-01-04 18:29:47 +01:00
Matt Corallo
0208b426f5 Add a few more tests to FullBlockTestGenerator.
...including one which (somewhat) tests the optimally encoded size
stuff.
2012-12-31 15:56:06 +01:00