3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-01-31 23:32:16 +00:00
Commit Graph

894 Commits

Author SHA1 Message Date
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
f8e5b17b85 Add crap WalletTool hack to work around issue with Netty. 2013-03-21 14:23:55 +01:00
Mike Hearn
e449c77026 Don't rely on padding checks to tell us if the decryption was correct.
Fix a few minor javadoc issues. Resolves issue 356.
2013-03-19 17:30:08 +01:00
Mike Hearn
89d30142c3 Fix some labels in the wallet encryption tests. 2013-03-19 17:29:26 +01:00
Mike Hearn
57b3fb4368 Bump language level to java 6 in the pom and fix the ToyWallet demo. 2013-03-19 15:40:52 +01:00
Mike Hearn
b7eab44990 Remove a couple of checkNotLocked asserts that didn't get deleted last time. 2013-03-19 15:40:31 +01:00
Mike Hearn
7696835f86 Fix over-eager locking in PeerGroup and ensure the resulting code doesn't race, resolving a lock inversion. Also, take into account the possibility of a block being mined before it's fully propagated and add some discussion.
Resolves issue 353.
2013-03-19 15:21:24 +01:00
Mike Hearn
0548e983ed Fix a race condition in the memory pool code. Update issue 353. 2013-03-19 14:55:12 +01:00
Mike Hearn
8b437eaf95 Fix a thread safety issue. Update issue 353. 2013-03-19 14:54:00 +01:00
Mike Hearn
e5265a5342 Add more comments explaining Bloom filtering to avoid confusion. 2013-03-18 23:24:59 +01:00
Mike Hearn
57b4774985 Clean up another listener invocation a bit. 2013-03-18 23:24:59 +01:00
Mike Hearn
0c3096ed74 Add a --unixtime flag to wallet-tool ADD_KEY 2013-03-18 23:24:59 +01:00
Mike Hearn
eb2da1e33f Implement support for password protected wallets and spending unconfirmed transactions in WalletTool. 2013-03-18 18:27:13 +01:00
Mike Hearn
c988212441 Remove a redundant null check in checkAESKey() 2013-03-18 18:27:13 +01:00
Mike Hearn
dc433761dd Print whether a key is encrypted or not in ECKey.toString() 2013-03-18 18:27:13 +01:00
Mike Hearn
33499aab78 JavaDoc fix to KeyCrypter. 2013-03-18 18:27:13 +01:00
Mike Hearn
7799024c5c Don't dump the salt bytes in toString() and change how it's printed. 2013-03-18 18:27:13 +01:00
Mike Hearn
732c5e631e Make it easier for people to override just the tx eligibility behavior in DefaultCoinSelector by using a protected method. 2013-03-18 18:27:13 +01:00
Mike Hearn
aaa2ec4c5a Add some convenience methods for encrypted wallets. Minor style fixes. 2013-03-18 18:27:13 +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
32353bdc2e Bit more logging in TCPNetworkConnection 2013-03-18 17:33:16 +01:00
Mike Hearn
311e0549b9 Delete unneeded pong logging. Resolves issue 352. 2013-03-18 10:44:16 +01:00
Mike Hearn
1ed2459522 More minor issues found by IntelliJ static analysis. 2013-03-15 17:19:28 +01:00
Mike Hearn
3a899767b4 Clear some minor cosmetic issues found by IntelliJ static analysis. 2013-03-15 17:14:07 +01:00
Mike Hearn
c2e96be58b Remove obsolete code that handled migration from java serialized wallets. 2013-03-15 17:12:52 +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
e140662ea2 Fix a regression in saving wallets on Windows. 2013-03-13 12:23:12 +01:00
Mike Hearn
9bc9a4b262 For now, throw on cycles. Also remove checkNotLocked(), as it isn't actually the right thing to do. 2013-03-11 16:07:33 +01:00
Mike Hearn
c351df567e PeerGroup: Remove a now-useless synchronized block and mark a few more fields final. 2013-03-11 15:48:46 +01:00
Mike Hearn
a6d0c9169b Clear a few more misc IntelliJ inspection alerts. 2013-03-11 15:06:27 +01:00
Mike Hearn
fb9bfb960e Fix a bug that would cause ping nonces to always be set to zero, thus screwing up perceived ping times. 2013-03-11 15:02:16 +01:00
Mike Hearn
4d01e107fa No-op: auto-simplify a few constructs 2013-03-11 14:58:47 +01:00
Mike Hearn
ac8a5008fe Add JCIP thread annotations jar and use @GuardedBy in Peer.
Unlock Peer almost completely and make it fully thread safe with minimal use of locking.
Introduce a new convention that volatile variables have a v prefix.
2013-03-11 14:51:15 +01:00
Mike Hearn
45ce6fe9df Bit more debugging code in TestWithNetworkConnections 2013-03-11 14:30:10 +01:00
Mike Hearn
c21f182d78 Move refreshing of the bloom filter out of the PeerGroup and into the Peer, where it belongs. 2013-03-11 12:39:46 +01:00
Mike Hearn
bffc85fa24 Move message processing out of the handler class and into the top-level Peer class. 2013-03-11 12:25:10 +01:00
Mike Hearn
b2ab3e1c43 Delete EventListenerInvoker, it is no longer needed. 2013-03-11 12:21:42 +01:00
Mike Hearn
971c9c5999 Remove more usages of EventListenerInvoker in PeerGroup and fix a TODO. 2013-03-11 12:21:01 +01:00
Mike Hearn
081663f857 Remove event listener in PeerGroup.removeWallet() to avoid a memory leak.
Resolves issue 344.
2013-03-11 12:10:41 +01:00
Mike Hearn
807447ca1a Unlock Peer event listeners. 2013-03-07 18:43:23 +01:00
Mike Hearn
2333c44657 Add a comment. 2013-03-07 18:43:15 +01:00
Mike Hearn
c8c1e68152 Unlock TransactionConfidence event listeners, make sure MemoryPool is not locked when a tx is marked broadcast by a peer to avoid inversions via listeners.
Unfortunately this introduces some new FindBugs warnings because it doesn't understand the inside-out locking pattern used here, despite that it's correct.
Update issue 233.
2013-03-07 17:38:13 +01:00
Mike Hearn
0534231de9 Run wallet event listeners unlocked. Resolves another inversion.
Update issue 223.
2013-03-07 17:08:15 +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
f0aff6484e Narrow the locking in Peer.processInv() to avoid invoking memoryPool.seen() with the Peer lock held.
This resolves an inversion that can occur if a transaction confidence listener is run due to being marked as broadcast.
Update issue 233.
2013-03-07 17:08:07 +01:00
Mike Hearn
2fb3667c42 Add a 1-liner Locks.checkNotLocked method to make it clearer than writing checkState(!lock.isLocked()); 2013-03-07 16:18:53 +01:00
Mike Hearn
0221b71418 Convert block chain to use a cycle detecting lock. 2013-03-07 15:57:50 +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