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
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
4bcb550796
Make Peer.downloadData() atomic rather than locked under the Peer lock.
...
Resolves issue 310.
2013-02-15 15:48:53 +01:00
Mike Hearn
38ec23299c
Protect lastPingTimes under its own lock instead of the peer lock.
...
Update issue 310.
2013-02-15 15:42:37 +01:00
Mike Hearn
536bbfb231
Make Peer.getAddress() not hold the Peer lock.
...
Update issue 310.
2013-02-15 15:11:01 +01:00
Mike Hearn
067b7814e8
Use atomics for peers announced version and tracked chain height rather than locks.
...
Updates issue 310.
2013-02-14 19:31:24 +01:00
Mike Hearn
8dc9c9f27a
Fix a bug in Transaction.toString().
...
Resolves issue 309.
2013-02-14 19:21:17 +01:00
Mike Hearn
1b4fa96691
Make the last TransactionInput c'tor public, it can be used to build coinbase transactions. Updates issue 312.
2013-02-14 15:35:11 +01:00
Mike Hearn
9b1edf00bd
Clarify the getDifficultyTarget() javadoc.
2013-02-11 20:31:14 +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
fa57883a98
Delete an unused line in AbstractBlockChain
2013-02-07 10:52:44 +01:00
Mike Hearn
92e1f09a72
Some improvements to class level JavaDocs.
2013-02-05 17:27:26 +01:00
Mike Hearn
0d0039cbdb
Minor reformattings on Base58.java
2013-02-05 16:15:07 +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
6ac8eb54cb
Re-arrange the actions in PeerGroup.broadcastTransaction()
...
This fixes a bug where Netty complains about blocking an IO thread due to the await call on send and resolves a potential race condition.
2013-02-05 12:00:33 +01:00
Mike Hearn
8c488a1687
Delete a dead method from WalletProtobufSerializer.
2013-02-05 12:00:33 +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
7108751d3c
Set IRC discovery so timeout. Resolves issue 269.
2013-01-29 16:20:50 +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
112fe818d5
More Peer logging improvements.
2013-01-29 16:16:42 +01:00
Mike Hearn
4bdb0fd5ce
Restart chain download after download peer changes. Resolves issue 287.
...
The way we handle changing download peers isn't ideal and can cause some thrashing/wasted bandwidth at startup - it has lots of room for improvement.
2013-01-29 15:25:32 +01:00
Mike Hearn
20cab64943
Change some log levels in Peer.
2013-01-29 15:24:30 +01:00
Mike Hearn
1738f60e1e
Refactorings of the current filtered block tracking code.
2013-01-28 19:27:35 +01:00
Mike Hearn
1d6a8c908c
Fix off by one error in SIGHASH_SINGLE code. Resolves issue 292.
2013-01-28 16:32:32 +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
bfcf67ee5a
Allow NotFoundMessage to be constructed with a list of InventoryItems.
2013-01-28 16:32:31 +01:00
Mike Hearn
8b9ddd2caf
Link Peer and Wallet directly instead of using an event listener.
...
This paves the way for tighter coupling in future, needed for various features.
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
cea95b809d
Refresh filter every 25000 blocks to avoid a ballooning fp rate.
2013-01-27 03:41:11 -05:00
Matt Corallo
5f070e9861
Improve privacy: use const tweak + try for const filter parameters
2013-01-27 03:41:11 -05: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
db8afbdadf
Add an AbstractBlockChain.add(FilteredBlock...)
2013-01-27 03:40:31 -05:00
Matt Corallo
289c3d19f0
Add a Wallet.notifyTransactionIsInBlock(Sha256Hash txHash...)
2013-01-27 03:40:31 -05:00
Matt Corallo
661ad3cb04
Add PartialMerkleTree and FilteredBlock classes
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
a0c25aed28
Make bloom filter false positive rate configurable.
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
Matt Corallo
c751e1f179
Add Utils.checkBitLE/setBitLE to interact with bit sets.
2013-01-27 02:32:36 -05:00
Matt Corallo
3805e8956b
Remove useless conditional (old version of 95b5e0d894
was merged)
2013-01-27 02:32:36 -05:00
Matt Corallo
38d01e14a6
Fix #292 by &'ing sigHashType to treat it as unsigned.
2013-01-27 02:32:36 -05:00
Mike Hearn
3211fe59f3
Fix s/connectionTimeoutMillis/connectTimeoutMillis/ in a javadoc. Resolves issue 284.
2013-01-23 17:22:09 +01: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
19b032e2e4
Simplify TCPNetworkConnection a bit and print the version message data when the peer sends it to us, not when we get a VerAck back from our own version announcement.
2013-01-20 23:47:56 +01:00
Mike Hearn
caa92985e1
When broadcasting a spend, wait for the tx message to actually hit the wire before proceeding.
...
This resolves an issue where wallet-tool would shut down before the message was actually sent.
2013-01-20 23:47:32 +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
22f8034de8
Minor JavaDoc updates.
2013-01-16 17:55:46 +01:00
Mike Hearn
75e467dfc4
Make TestUtils.roundTripTransaction public.
2013-01-16 17:55:36 +01:00
Mike Hearn
ee715a5f59
Add some convenience getters to a couple of classes.
2013-01-16 17:55:36 +01:00
Mike Hearn
a39dfddead
Silence a newly noisy MemoryPool debug log, as we now expect to receive un-announced transactions in several cases (dep download, Bloom filtering)
2013-01-16 13:20:55 +01:00
Mike Hearn
8923af5785
Fix typo that prevented connection timeouts from being set properly.
2013-01-15 14:17:15 +01:00
Mike Hearn
4254e276fb
Clean up Peer.java a bit - remove the custom future implementation and use Guava futures instead.
2013-01-14 22:30:32 +01:00
Mike Hearn
e4e4e45a47
Allow re-signing of transactions and re-sign after adjusting the sequence number.
2013-01-12 14:47:43 +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
9a65d4cab8
Move ping timer cancellation to after channel close during PeerGroup shutdown.
...
Check if the service is running before trying to re-ping a peer.
Attempts to solve a shutdown race. Updates issue 275.
2013-01-12 14:27:49 +01:00
Mike Hearn
89c611d86b
Always use getLockTime in isFinal.
2013-01-12 14:27:49 +01:00
Mike Hearn
a6f1233b4e
Delete some 0.5 -> 0.6 migration code from WalletTool.
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
48cdc1d9e7
improve findbugs exclusions
2013-01-12 14:26:59 +01:00
Mike Hearn
9da08d2036
Try all returned IP addresses in IRC discovery and use the given timeout.
...
Resolves issue 268. Resolves issue 269.
2013-01-12 14:26:59 +01:00
Mike Hearn
682033aef6
Actually use the provided IRC server name in IrcDiscovery. Resolves issue 266.
2013-01-11 21:58:45 +01:00
Mike Hearn
43e8752ef8
Make PeerGroup.addAddress adjust the number of requested connections.
2013-01-10 14:12:50 +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
f2a6e41c82
Don't abuse BigIntegers in WalletTool/Utils when parsing hex pubkeys.
2013-01-08 17:33:19 +01:00
Mike Hearn
ee5f881c51
Run TransactionConfidence listeners with the confidence object unlocked when markBroadcastBy is called. Resolves issue 270.
2013-01-07 11:13:33 +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
7fc325900c
Clarify some parameter names in Sha256Hash and add a utility method.
2013-01-06 21:57:09 +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
Mike Hearn
972c19a95f
Use canonical path to the wallet destination file. Resolves issue 265.
2013-01-04 17:54:17 +01:00
Mike Hearn
12a652bd1e
Close the temporary FileInputStream created in Sha256Hash.hashFileContents. Updates issue 265.
2013-01-04 17:38:05 +01:00
Matt Corallo
44865a3c50
Fix NullPointerException if using chain == null in PeerGroup
2013-01-04 17:33:12 +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
Matt Corallo
810b03dd0a
Give Blocks/Transactions an idea of their optimally-encoded size.
...
In the case of Blocks/Transactions which are encoded using VarInts
which are not optimally encoded, we need to compare MAX_BLOCK_SIZE
with the optimally encoded size, not the actually encoded size.
2012-12-31 15:54:19 +01:00
Matt Corallo
009939f9be
Give VarInt a concept of originally serialized size.
...
VarInts have multiple encodings, and during parsing we need to know
the size of the actually encoded form, not the size of the optimal
encoding.
2012-12-31 15:53:11 +01:00
Matt Corallo
95b5e0d894
Make FullPrunedBlockStore/Chain upgrade-friendly.
...
This does several things to support the ability to upgrade from a
BlockChain to a FullPrunedBlockChain backed by the same
FullPrunedBlockStore:
* Add two methods to FullPrunedBlockStore to allow it to keep
track of two chain heads - one verified, one normal.
* Change preSetChainHead in AbstractBlockChain to doSetChainHead so
that FullPrunedBlockChain and BlockChain can set only the
appropriate chain head
* Add FullPrunedBlockStore.getOnceUndoableStoredBlock.
This allows a BlockChain to request only StoredBlocks which
were, at one point, associated with a StoredUndoableBlock,
effectively splitting FullPrunedBlockStore into two independent
BlockStores (one FullPruned, one normal).
* Add/use AbstractBlockChain.getStoredBlockInCurrentScope which
relies on the above additions to FullPrunedBlockStore to properly
utilize one FullPrunedBlockStore as two separate block stores
depending on the BlockChain instance used.
Note that this is not used everywhere in AbstractBlockChain as,
barring something being insanely broken, the prev block of a
block in current scope will be in current scope.
2012-12-27 16:34:27 +00:00
Mike Hearn
4e0f5d8903
FindBugs: make random an object field rather than a disposable temporary.
2012-12-26 18:57:03 +00:00
Mike Hearn
bf3a8dc085
Clear a minor FindBugs warning.
2012-12-26 18:55:17 +00:00
Mike Hearn
671a5aec18
Add a TransactionInput.verify() method that checks signatures and use it from the basicSpending test to ensure we generate valid signatures/scripts.
2012-12-26 18:14:39 +00:00
Mike Hearn
2f0d4cdbd8
Update Script javadoc.
2012-12-26 18:01:48 +00:00
Mike Hearn
273548c863
Take ping time into account when performing peer selection.
2012-12-25 01:23:28 +00:00
Mike Hearn
3197be51ea
Minor simplifications.
2012-12-25 01:23:16 +00:00
Mike Hearn
ea3fca970c
Incorporate protocol version into download peer selection logic.
2012-12-25 00:28:49 +00:00
Mike Hearn
ac61578e8a
Use a COW list in Peer instead of protecting pendingPings under the peer lock.
2012-12-24 23:57:28 +00:00
Mike Hearn
22ff79dd8a
Re-evaluate download peer when a new peer connects. Add unit tests for selecting the best peer.
2012-12-24 23:48:48 +00:00
Mike Hearn
ffc953abc8
Don't hold the Peer lock whilst invoking a ping callback.
2012-12-24 23:47:14 +00:00
Mike Hearn
eb7c4be136
Fix lock inversion.
2012-12-24 23:33:13 +00:00
Mike Hearn
8e91459dcc
Fix a bug that could cause failure to reach the requested number of peers if peer connections failed immediately due to unroutable addresses.
2012-12-24 22:33:04 +00:00
Mike Hearn
07011be796
Introduce a PeerGroup method for calculating the most common chain height.
...
Use it to make peer selection a little smarter.
Render pending peers and peers that are reporting un-common chain heights in PeerMonitor.
2012-12-24 22:32:16 +00:00
Mike Hearn
2a55c58460
Make PeerGroup startup blocking in the unit tests.
2012-12-24 21:27:49 +00:00
Mike Hearn
7d7e76a3b0
Deduplicate peers retrieved from peer discovery. Resolves issue 260.
2012-12-24 17:51:40 +00:00
Mike Hearn
75c007fab3
Fix unit tests.
2012-12-24 16:35:52 +00:00
Mike Hearn
a54e2e96eb
Fix a bug in difficulty calculation logic that is revealed by testnet3. It should not impact the main net. Resolves issue 262. Rethrow block verification errors with a message containing the block.
2012-12-24 16:12:13 +00:00
Mike Hearn
9639b45ad8
BitCoin -> Bitcoin
2012-12-24 16:11:11 +00:00
Mike Hearn
93893e10ad
Make PeerGroup use the Guava services framework. Makes start/stop optionally non-blocking. Resolves issue 258.
2012-12-21 23:03:15 +01:00
Mike Hearn
826aafd3e0
Make H2 non required.
2012-12-16 13:38:46 +01:00
Mike Hearn
eacda0bdfc
Decouple the wallet from the block chain by introducing a BlockChainListener interface, and making the Wallet implement it. Resolves issue 94.
2012-12-14 17:04:30 +01:00
Mike Hearn
5abd546eb2
Update the AbstractBlockChain javadoc.
2012-12-14 16:33:37 +01:00
Mike Hearn
f6a498c241
Remove the redundant Wallet.isTransactionRelevant(..., includeDoubleSpending) parameter, as it was always set to true.
2012-12-14 16:24:24 +01:00