Commit Graph

  • b14444401b Sha256Hash is immutable so byte[] should be marked as final. Mike Hearn 2015-03-05 13:43:25 -08:00
  • e536b0eb93 Take out Alex Kotenko's testnet seed as it appears to be down. Mike Hearn 2015-03-03 11:02:21 -08:00
  • c049df3239 Devrandom's proposed changes due to his review of 'ECKey/DeterministicKey: replace ECPoint with a LazyECPoint wrapper that doesn't delays parsing of key bytes into a key structure until it's needed.' Andreas Schildbach 2015-02-20 19:02:39 +01:00
  • 88933a1d41 ECKey: extend the comment about why private keys of zero and one are now forbidden Mike Hearn 2015-01-28 19:37:13 +01:00
  • d92894fc4f ECKey: add a sanity check for private keys that are zero or one. This should never happen but there have been reports from the wild that somehow once or twice someone managed to get a private key of zero into their wallet. Mike Hearn 2015-01-28 16:13:24 +01:00
  • 2fe1f7b271 SPVBlockStore: add a workaround for a Windows specific bug. We should scrap the use of mmap in this class if we can, too many platforms have odd bugs and glitches with it. Mike Hearn 2015-01-27 18:40:58 +01:00
  • 9fd16c4dcb Adjust getutxo min protocol version. Mike Hearn 2015-01-08 18:35:19 +01:00
  • 1fe2d73b50 WalletAppKit to use new Wallet.reset(). Andreas Schildbach 2015-01-06 15:02:11 +01:00
  • 4d315b6d17 When connecting outputs to inputs, cache its value in the input. This will make sure the fee is also known after a blockchain replay. Andreas Schildbach 2014-12-19 23:27:46 +01:00
  • 7956b33e8b Add Wallet.reset() to prepare the wallet for a blockchain replay. Andreas Schildbach 2014-12-23 23:04:57 +01:00
  • 7282ecaf72 WatchMempol: fix a regression Mike Hearn 2014-12-21 13:57:17 +01:00
  • d5d73d2f37 Add isPubKeyOnly and isEncrypted to both ECKey.toString() and DeterministicKey.toString(). Andreas Schildbach 2014-12-11 20:58:45 +01:00
  • f985d66882 Make curve and bits in LazyECPoint final. Andreas Schildbach 2014-12-11 22:40:13 +01:00
  • 513c9d1529 Transaction.toString(): Don't try printing hash160 for non-address type outputs Mike Hearn 2014-12-09 14:23:41 +01:00
  • f6c94cc46e Add Wallet.getIssuedReceiveKeys() and Wallet.getIssuedReceiveAddresses() so that derived addresses can be shown in an UI. Andreas Schildbach 2014-10-21 16:04:36 +02:00
  • f3cb714e87 Fix Integer to long casting compiler error for Eclipse. Andreas Schildbach 2014-12-05 17:03:35 +01:00
  • 8a5c415bd7 Wallet: fix a bug that could cause a temporarily corrupted balance, when two pending transactions arrive backwards Mike Hearn 2014-12-04 17:09:53 +01:00
  • 9f83de3b94 Fix lock inversion tags<->wallet lock. Mike Hearn 2014-12-04 11:28:26 +01:00
  • 7adb824b5e Fix potential race condition when checking keychain for key rotation time. Andreas Schildbach 2014-11-16 12:27:11 +01:00
  • f0cc85a600 Don't spam the log with setting key rotation time while loading wallets. Instead, print it with the wallet dump. Andreas Schildbach 2014-11-16 11:16:24 +01:00
  • 6459f1ac74 Bloom filtering: check for malformed Merkle trees. Resolves issue 593. Thanks to Pieter Wiulle. Mike Hearn 2014-11-24 13:59:42 +01:00
  • 15a3f66752 ECKey/DeterministicKey: replace ECPoint with a LazyECPoint wrapper that doesn't delays parsing of key bytes into a key structure until it's needed. The process of decoding keys from the wallet previously involved decompressing/recompressing them which was taking ~seconds for hundreds of keys on Dalvik/2012 era Androids. After this patch loading such a wallet takes a few hundred milliseconds, most of which is spent inside RIPEMD160. Mike Hearn 2014-11-19 15:50:22 +01:00
  • 45c53c6bd5 Fix formatting dates at several places. Common mistakes: Andreas Schildbach 2014-11-07 21:55:17 +01:00
  • 25817ae75f Prepare 0.12.3-SNAPSHOT Andreas Schildbach 2014-11-01 14:49:41 +01:00
  • ed3ef7d15e Make stall threshold configurable and reset parameters to be more appropriate for most wallets. Mike Hearn 2015-03-18 13:30:42 +01:00
  • f693d88620 Add JavaDocs for the new PeerGroup methods added by Oscar. Mike Hearn 2015-03-18 12:49:13 +01:00
  • 2c5d9f73ed Allow disabling bloom filters on the peer group without using a FullPrunedBlockChain Oscar Guindzberg 2015-02-19 17:28:58 -03:00
  • c6ee7449c3 Adjust stall period to 15 seconds and min speed to 5 kB/s. The previous 6 seconds caused otherwise quick peers to be disconnected too often. Also, fixed a compare bug and a comment. Andreas Schildbach 2015-03-14 13:10:31 +01:00
  • 7e12da357c Undo the memory usage optimisation for scriptPubKey parsing on Android to see if CPU time now matters more than memory (especially when combined with the wallet unspents tracking work). Mike Hearn 2015-03-13 18:00:05 -07:00
  • 7f14f7e491 On Android, use non-cycle detecting locks with fairness activated (experimental) Mike Hearn 2015-03-13 17:59:24 -07:00
  • 59b426afe0 Increase wallet autosave delay for wallet-tool and WalletAppKit. Since we have some recovery for out-of-sync wallets in place, we can afford to save less often. Andreas Schildbach 2015-03-10 18:13:10 +01:00
  • 9e4d25b2c2 Properly ignore PeerGroupTest.peerPriority(). Andreas Schildbach 2015-03-11 09:06:24 +01:00
  • c4a49eeb85 Experiment: disconnect a peer if it falls below 10 blocks per second for at least 6 seconds. This is an attempt to speed up chain sync by load balancing off slow peers. Mike Hearn 2015-03-11 12:59:41 -07:00
  • 3e1f615853 Correct a comment in ChainSplitTest Mike Hearn 2015-03-10 18:48:37 -07:00
  • 3116b612bd Disable flaky PeerGroup.peerPriority test pending a rewrite of it to be less flaky. Mike Hearn 2015-03-10 17:07:17 -07:00
  • 821de89e69 TransactionOutput: take parent hash and index into account in the hashcode. Inserting TransactionOutput's with identical scripts/values but different outpoints into a hashset will work properly now. Mike Hearn 2015-03-10 17:03:21 -07:00
  • c0297f2c12 TransactionOutPoint: fix hashCode to include index. Mike Hearn 2015-03-10 16:51:00 -07:00
  • 75b952d1c7 Sha256Hash: use Guava to pack the hash code instead of hand written code. Mike Hearn 2015-03-05 14:06:56 -08:00
  • 6aa4e51de6 Sha256Hash: some tweaks and renamings in the API (backwards compatible). Mike Hearn 2015-03-05 13:59:15 -08:00
  • bf60a925bc Sha256Hash is immutable so byte[] should be marked as final. Mike Hearn 2015-03-05 13:43:25 -08:00
  • c30df6ca25 Peer: Bug fix for the case where we don't want to download even block headers. Mike Hearn 2015-03-05 13:43:11 -08:00
  • 6c733b2f22 Wallet: suppress an invalid static analysis warning. Mike Hearn 2015-03-03 11:02:44 -08:00
  • 59e06c0a9b Take out Alex Kotenko's testnet seed as it appears to be down. Mike Hearn 2015-03-03 11:02:21 -08:00
  • f12122f585 Address: serialize network parameters in Java serialization as well. Mike Hearn 2015-03-03 11:02:01 -08:00
  • 8e75134932 ChannelConnectionTest: Delete unused field. Mike Hearn 2015-03-01 21:24:21 +01:00
  • e0870efd61 Rewrite how WalletTemplate estimates scrypt difficulty, as the old approach was horribly busted and could use tons of RAM. Backport from Lighthouse. Mike Hearn 2015-02-25 18:58:15 +01:00
  • 99ff22d77b Fix a bug in SendMoneyController that caused it to forget the amount of money requested across password requests. Fixes #316. Mike Hearn 2015-02-25 18:49:25 +01:00
  • 03f2f9e47a Make MemoryFullPrunedBlockStore just implement FullPrunedBlockStore. UTXOProvider is redundant Oscar Guindzberg 2015-02-23 17:57:45 -03:00
  • dbf04a812b Devrandom's proposed changes due to his review of 'ECKey/DeterministicKey: replace ECPoint with a LazyECPoint wrapper that doesn't delays parsing of key bytes into a key structure until it's needed.' Andreas Schildbach 2015-02-20 19:02:39 +01:00
  • 1b26034506 Fix typo Oscar Guindzberg 2015-02-23 17:54:11 -03:00
  • 1542a88b5f Put back the KeyChainGroup log message and remove an apparently useless wallet creation on the load path in WalletAppKit that was triggering it. Mike Hearn 2015-02-23 12:07:06 +01:00
  • b81b0f78d5 Fix a typo, and reformat the comment to 120 cols En-Ran Zhou 2015-02-23 04:23:30 -06:00
  • bef4980abd (API CHANGE) Return a TransactionBroadcast object from PeerGroup.broadcastTransaction. Mike Hearn 2015-02-20 15:01:54 +01:00
  • 298cccfe4f Remove misleading log statement. Mike Hearn 2015-02-20 15:00:19 +01:00
  • 4303a253c8 Split an unwieldy log line. Mike Hearn 2015-02-19 15:12:07 +01:00
  • 7ef5ab9abf Don't discard hierarchy data when deserializing an HD key. Fingerprints are now ints rather than four-byte arrays. Adam Mackler 2015-01-30 02:21:25 -05:00
  • eed4901a6e Add a couple of missing thread safety bits to PeerGroup members. Mike Hearn 2015-02-17 16:33:38 +01:00
  • c0b34109d0 Delete some dead code from PeerGroup Mike Hearn 2015-02-17 16:32:16 +01:00
  • 1efa1442c8 (API CHANGE) Pass the FilteredBlock into PeerEventListener.onBlocksDownloaded when present. Keep track of downloaded vs server-side filtered transactions per second. Add a keyboard shortcut to wallet-template to force disconnection from the current peer. Mike Hearn 2015-02-17 15:19:02 +01:00
  • fcd4b8b68a Block: getTransactions() should not throw if the block represents a header, but rather return null. Mike Hearn 2015-02-17 15:16:43 +01:00
  • b2c1aba4d6 PeerGroup: sync improvements round two. Move chain download speed monitoring out of AbstractBlockChain and fix it so it doesn't sometimes print garbage. Add a stall detector. Next step is to force switch download peers when there's a long enough stall. Mike Hearn 2015-02-16 18:11:46 +01:00
  • 887bc63ce2 PeerGroup: simplify how the download peer is selected to avoid pointless thrashing at startup. This change will probably reduce load on the network as well. Mike Hearn 2015-02-16 17:45:48 +01:00
  • 7d98075efe DnsSeedDiscovery: toString() method to give better log errors. Mike Hearn 2015-02-16 17:43:06 +01:00
  • be353f8556 Merge remote-tracking branch 'upstream/master' langerhans 2015-02-12 23:15:09 +01:00
  • e8138c21b0 Change PeerGroup.addPeerFilterProvider to return a ListenableFuture<BloomFilter> Adam Mackler 2015-02-04 06:06:27 -05:00
  • 212aa41143 Updates PeerGroup's javadoc: PeerGroup is not a guava service as from 27bc229 Carlos Lopez-Camey 2015-02-07 17:04:22 -06:00
  • 815c4b9ced Add current-receive-addr action to wallet-tool. Andreas Schildbach 2015-01-26 14:55:19 +01:00
  • c72c48cd58 Add Comparable to VersionedChecksummedBytes Sean Gilligan 2015-01-02 23:02:25 -08:00
  • 0d51cee24f PeerGroup: ignore another source of RejectedExecutionException during shutdown Mike Hearn 2015-02-02 17:29:50 +01:00
  • 653773d67a PeerGroup: don't try and trigger connections during shutdown Mike Hearn 2015-01-29 19:24:14 +01:00
  • bc60f0d1f2 TransactionBroadcast: only consider a tx rejected if it has more than half peers signalling a reject. Mike Hearn 2015-01-29 19:24:02 +01:00
  • c981555be4 RejectMessage: add a c'tor for initialising a new message and fix a bug in serialisation. Mike Hearn 2015-01-29 19:19:28 +01:00
  • f3fa050c09 DeterministicKeyChain Builder - add seedCreationTimeSecs() Oscar Guindzberg 2015-01-28 17:17:37 -03:00
  • f1f07df11b ECKey: extend the comment about why private keys of zero and one are now forbidden Mike Hearn 2015-01-28 19:37:13 +01:00
  • fd10654143 Fix wallet tests that were using 1 as a private key. Mike Hearn 2015-01-28 18:34:27 +01:00
  • fe2aff49ae DnsDiscovery: attempt workaround for apparent lack of working thread safety on some Linux platform C libraries. Mike Hearn 2015-01-28 16:21:40 +01:00
  • ad4fb5103c NioClientManager: use a daemon thread so GUI apps can quit fast if they want to without a slow/hung network thread keeping things hanging around. This may break compatibility with apps that expect to be able to start bitcoinj and then exit the main thread: if it causes too many problems this change may be reverted. Mike Hearn 2015-01-28 16:20:51 +01:00
  • f4cce4c3c0 ECKey: add a sanity check for private keys that are zero or one. This should never happen but there have been reports from the wild that somehow once or twice someone managed to get a private key of zero into their wallet. Mike Hearn 2015-01-28 16:13:24 +01:00
  • f9338519be Add 20 second timeout to HttpDiscovery Mike Hearn 2015-01-27 21:52:19 +01:00
  • 9b5307ad45 WalletAppKit: remove accidental Java 7-ism that was introduced a few commits ago. Mike Hearn 2015-01-27 19:03:48 +01:00
  • 07d85f24ad SPVBlockStore: add a workaround for a Windows specific bug. We should scrap the use of mmap in this class if we can, too many platforms have odd bugs and glitches with it. Mike Hearn 2015-01-27 18:40:58 +01:00
  • c2c3b715f3 PeerGroup: fix another regression with handling of disconnected peers Mike Hearn 2015-01-27 18:39:46 +01:00
  • d5f47f37d3 Allow building a MarriedKeyChain with a watchingKey Oscar Guindzberg 2015-01-20 12:37:58 -03:00
  • 068da489ef WalletAppKit/SPVBlockStore: release the file lock explicitly when closing, as otherwise apps that try to shut down the store then delete the file can crash on Windows. Mike Hearn 2015-01-22 18:09:07 +01:00
  • a698c5846e Peer: invoke disconnection handlers on timeout even if we didn't successfully connect yet. Mike Hearn 2015-01-21 16:45:03 +01:00
  • 2138c8aec4 PeerGroup: log connected/pending/max in handlePeerDeath too Mike Hearn 2015-01-21 16:44:35 +01:00
  • 33228cdb19 Bump the number of max peers to 12 by default instead of 4, as we're seeing more tx broadcast flakyness from the network these days. Also use 80% of max peers as the number to wait for before tx broadcast instead of half. Mike Hearn 2015-01-21 16:23:50 +01:00
  • 46344dd0b1 PeerGroup: fix the IPv6 routing failure detection which was broken by a recent change and improve logging in a bunch of places. Mike Hearn 2015-01-21 16:22:46 +01:00
  • b9cf28d358 TransactionBroadcast: Better logging Mike Hearn 2015-01-21 15:48:59 +01:00
  • 71e9a2d4b2 WalletTemplate: don't override default PeerGroup params as they should be appropriate out of the box. Propagate WAK startup errors to the UI. Mike Hearn 2015-01-21 15:48:42 +01:00
  • 101ad83906 Make KeyCrypterScrypt.randomSalt() public. Mike Hearn 2015-01-17 15:01:52 +01:00
  • 3456e896ec Make Address (& super & subs) Cloneable Sean Gilligan 2015-01-02 23:02:25 -08:00
  • 336b0f6aa2 Fix typo Oscar Guindzberg 2015-01-16 11:32:05 -03:00
  • 96451e626d Travis now lists system info with each build, so don't run lsb_release any more. Andreas Schildbach 2015-01-13 18:21:46 +01:00
  • cd7dc3e535 Don't print logging messages when calculating checkpoints. Mike Hearn 2015-01-12 16:53:45 +01:00
  • 8863cd5afd Refresh checkpoints Mike Hearn 2015-01-12 16:53:20 +01:00
  • b069ffd312 BriefLogFormatter: Add an initWithSilentBitcoinJ method. Mike Hearn 2015-01-12 16:50:59 +01:00
  • d7118d524e Threading: print fewer warnings of excess closure buildup. We should really use a rate limiter here. Mike Hearn 2015-01-12 16:44:10 +01:00
  • 5f07f98c05 WAK: Don't add dns discovery for regtest mode. Mike Hearn 2015-01-12 16:43:44 +01:00
  • d9537b8ea9 Wallet: minor style fixies Mike Hearn 2015-01-12 16:43:25 +01:00