Mike Hearn
82171f5b50
Deprecate the getFromAddress() getters and simplify the Script c'tor by removing superfluous parameters.
2013-04-18 15:35:34 +02:00
Mike Hearn
42b2cfa3f0
Don't unit test failed decryption message, that's annoying.
2013-04-13 21:54:47 +02:00
Mike Hearn
d14ac586d7
Add a few basic sanity checks on transactions received from the network at various points, to avoid syntactically invalid transactions from getting into the system (e.g. no inputs or outputs).
2013-04-12 11:10:48 +02:00
Matt Corallo
2a33065e31
Add a bitcoind/bitcoinj testing tool that compares bitcoind's rules
...
...by creating blocks and then comparing their acceptance by
bitcoind to their acceptance by bitcoinj.
2013-04-01 18:05:35 +01:00
Mike Hearn
cb670bdc39
BOBS: Suppress deprecation warning.
2013-04-01 18:02:29 +01:00
Mike Hearn
d92f944564
Peer: Allow peer listeners to handle exceptions thrown in the peer thread.
2013-03-30 19:28:58 +00:00
Mike Hearn
3d6691c82a
Switch to using DNS for testnet discovery, as LFnet has gone away.
...
Put DNS seeds into NetworkParams.
Deprecate IrcDiscovery and remove the unit tests for it.
Update examples and tools to use DNS for everything.
Resolves issue 299.
2013-03-29 17:39:24 +00:00
Mike Hearn
89d45b638f
WalletTest: Remove temp code that snuck in to the tests accidentally.
2013-03-29 17:21:38 +00:00
Mike Hearn
89079fd8d4
WalletTest: Heterogeneous is hard to spel corectly :) Also it's probably unfamiliar to non native speakers. Replace it with the simpler word "mixed".
2013-03-29 17:07:22 +00:00
Mike Hearn
4273dacc00
Check that the private key decrypted correctly in ECKey.sign(). Resolves issue 359.
2013-03-29 17:05:39 +00:00
Mike Hearn
56285da06c
Lots of bug fixes to double spend handling.
...
Fix some corruptions that could occur during a Finney attack. Resolves issue 182.
2013-03-21 16:14:16 +01:00
Mike Hearn
608810cfc1
Improvements to tx handling in the wallet.
...
Attach inputs of pending transactions when relevant transactions appear in the chain. Resolves issue 345.
Check transactions for being double spends independent of whether they send/receive us money. Resolves a potential security issue.
2013-03-21 14:24:59 +01:00
Mike Hearn
89d30142c3
Fix some labels in the wallet encryption tests.
2013-03-19 17:29:26 +01:00
Mike Hearn
5d0518dafd
Merge encrypted wallets functionality by Jim Burton.
2013-03-18 18:27:12 +01:00
Mike Hearn
17efb4d6b7
Add more logging and fix a bug in the dependency resolution process that occurred when using ping/pongs instead of notfound. It could result in hung dependency resolution and interfered with block downloads.
2013-03-18 17:33:54 +01:00
Mike Hearn
3db55946df
Fix another stupid bug in the pinging code that could cause crashes.
2013-03-15 16:03:02 +01:00
Mike Hearn
45ce6fe9df
Bit more debugging code in TestWithNetworkConnections
2013-03-11 14:30:10 +01:00
Mike Hearn
0c30050a97
Delete the cycle test, we can trust that Guava works.
2013-03-07 17:08:15 +01:00
Mike Hearn
9d87997736
Some more tweaks to the Locks class.
2013-03-07 15:36:07 +01:00
Mike Hearn
9de6dca8c1
Move cycle detecting lock creation out into a new Locks class, rather than stuff it into Utils.
...
Convert PeerGroup and Peer to also use cycle detecting locks, and add a unit test to Wallet to check that cycle detection works.
Change default policy to warn. Now warnings are being triggered, the followup commits will fix them.
2013-03-07 13:58:04 +01:00
Mike Hearn
94670f3df0
Make Peer.memoryPool final and introduce a new c'tor for it.
2013-03-06 16:08:52 +01:00
Mike Hearn
1ba2c9d5de
Use a cycle detecting lock in Wallet and convert its event listeners array to a COW list.
...
This does not currently detect or break any cycles, even though some are known.
2013-03-06 15:10:52 +01:00
Mike Hearn
18a14c6668
Indent fix
2013-03-05 14:48:28 +01:00
Mike Hearn
fb56237de8
Fix a couple of unit tests and resolve Matts comment.
2013-03-05 14:48:28 +01:00
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