Commit Graph

  • c41b6d74fa Better base58 encoding/decoding that resolves some edge cases. Patch from Vasile Rotaru. Mike Hearn 2012-05-09 11:11:09 -07:00
  • 0a3189c3b4 WalletTool: fix --help and allow privkeys/pubkeys to be parsed as hex or base58. Mike Hearn 2012-05-02 17:56:05 +02:00
  • 1087d837e5 Log the IP being used to connect to IRC. Mike Hearn 2012-05-02 17:17:55 +02:00
  • ff770a8d83 Add an explicit test in WalletTest.blockChainCatchup for confidence levels. Mike Hearn 2012-05-02 16:59:50 +02:00
  • fe9cbf8b7b Wallet.isConsistent tests Miron Cuperman 2012-04-10 13:25:39 -07:00
  • 6a82462d2d More Wallet consistency checks Miron Cuperman 2012-04-09 19:06:16 -07:00
  • a0da0c548f Refactor transaction signing code so users can get the signature hash of an arbitrary input. Also add/fix comments in bitcoin.proto and make the Transaction.pool field optional. Mike Hearn 2012-04-15 19:07:02 +02:00
  • 7f5c8dc3a8 Set outpoint.fromTx during TransactionInput.connect even in the conflict case. Resolves issue 181. Also introduce a helper for creating double spends and rewrite the test case for this in WalletProtobufSerializer to cover more codepaths. Add a comment noting that in the double spending case the overriding transaction isn't presently being stored in the wallet. Mike Hearn 2012-04-15 17:51:31 +02:00
  • 9fa25f990b Make it easier to understand the wallet code by using an enum instead of a bool for TransactionInput.connect() Mike Hearn 2012-04-15 16:26:11 +02:00
  • 6deeaaf8ac One more minor consistency cleanup. Mike Hearn 2012-04-15 16:15:17 +02:00
  • 73a5d95bea Introduce additional comment and some minor reformatting / simplification of the protobuf serializer. Mike Hearn 2012-04-11 23:08:39 +02:00
  • 8796705987 Better internal sanity checking in the wallet deserializer and simplify the code. Also reformat and introduce another helper method. Mike Hearn 2012-04-10 23:57:55 +02:00
  • 0fb81a7288 Fix output directory of protobuf regeneration. Mike Hearn 2012-04-08 14:27:08 +02:00
  • 513a75b4ba Download transactions from whichever peer announced them first. Mike Hearn 2012-04-08 14:26:53 +02:00
  • 2023e05d7e Fix detection of end of block chain download when syncing a wallet with no keys. Mike Hearn 2012-04-08 00:13:01 +02:00
  • 71754929e4 Support pubkey only keys in the protobuf serializer. Mike Hearn 2012-04-07 23:45:40 +02:00
  • cf30280767 Catch up with new testnet rules. Resolves issue 164. Mike Hearn 2012-04-07 23:28:18 +02:00
  • 2f904e7a37 Fix unit test. Mike Hearn 2012-04-07 17:02:00 +02:00
  • 0ab36f7839 Some more wallet-tool fixes/improvements. Mike Hearn 2012-04-06 18:41:53 +02:00
  • b008cd0388 Don't validate difficulty transitions on the testnet as there was a recent rule change, and nobody cares about security on testnet anyway. Mike Hearn 2012-04-06 18:41:40 +02:00
  • 40e4ac0a49 Restore error message that got accidentally taken out. Mike Hearn 2012-04-06 18:40:51 +02:00
  • 4e3d5313e6 Fix issue 166. Consider intra-block dependencies when deciding whether to send transactions to the wallet. Mike Hearn 2012-04-06 18:03:07 +02:00
  • 577318b9ea Start auto-migration to protobuf wallets. Mike Hearn 2012-04-06 16:02:00 +02:00
  • 265c76db59 Don't crash if trying to print a transaction with no inputs Mike Hearn 2012-04-06 16:01:44 +02:00
  • a170372562 Add a static method to go from string ID to NetworkParameters and use it to simplify the WalletProtobufSerializer API. Mike Hearn 2012-04-06 14:58:36 +02:00
  • ece8f548a9 Support for sending money from wallet-tool. Mike Hearn 2012-04-06 14:37:49 +02:00
  • b3e092a5e8 More logging in Peer/PeerGroup Mike Hearn 2012-04-06 14:36:54 +02:00
  • c400a7c756 Peer.java: change trace to info on receiving a block Wallet.java: print more info to logs if wallet sizes are inconsistent Mike Hearn 2012-04-06 13:39:41 +02:00
  • b7379d562f WalletTool improvements: - Can now wait for blocks, wallet-relevant transactions or for wallet balance to meet a given condition - Simplified the code somewhat Mike Hearn 2012-04-05 20:34:31 +02:00
  • 7bf9724079 Fix issue 174, replaced all File usage with TemporaryFolder rule in JUnit. Jonny Heggheim 2012-04-05 17:10:36 +02:00
  • 6c1e3aa49a Comment fixes Mike Hearn 2012-04-05 00:58:51 +02:00
  • d82f102b4b Introduce a new MemoryPool abstraction and use it for tracking peer confidences. This replaces the previous, less explicit system which had each peer try and track all transactions it'd seen in a per-peer pool. Mike Hearn 2012-04-04 21:35:10 +02:00
  • dc42630526 Invoke transaction confidence listeners when a new peer broadcasts the given transaction. Use EventListenerInvoker to run the listeners. Mike Hearn 2012-04-02 17:23:48 +02:00
  • 6368862ffe Clear out some more FindBugs warnings. Mike Hearn 2012-04-04 23:52:02 +02:00
  • de1f5b8726 Add a findbugs exclusion file. Mike Hearn 2012-04-04 22:45:13 +02:00
  • eb490f7168 Stop the main thread as the peer group thread is now daemonized. Mike Hearn 2012-04-04 17:38:05 +02:00
  • b899b0acd3 BitCoin -> Bitcoin Mike Hearn 2012-04-04 17:37:47 +02:00
  • 8fc09f5808 Make network parameters to BitcoinURI optional. Mike Hearn 2012-04-02 17:36:47 +02:00
  • 9075561993 Support for discovering the network parameters from an address. Different exception type for wrong network parameters so chain-crossing can be handled differently. Mike Hearn 2012-04-02 12:23:29 +02:00
  • 11117dacbe Be super-explicit in the error message for calling getFromAddress on a coinbase transaction input. Mike Hearn 2012-03-26 15:41:56 +02:00
  • 0c90081c12 Make wallet tool compile to a minimized, bundled JAR so it can be used standalone, and change the wallet-tool script to use it that way. It makes running much faster. Mike Hearn 2012-04-02 16:13:45 +02:00
  • 628cbb6a1d Replace all asserts with Preconditions, which are always enabled. Updates issue 132. Mike Hearn 2012-04-02 14:09:52 +02:00
  • 3e5f796407 Add a dependency on Guava base libraries and replace a few asserts with Preconditions, which means they will always run including in production code. Fix a bug revealed by this (IntelliJ does not run unit tests with assertions enabled!) Mike Hearn 2012-04-02 13:40:20 +02:00
  • 2e451800d1 Update comments/exception message in Peer.getPeerBlockHeightDifference() Mike Hearn 2012-04-02 13:24:49 +02:00
  • 3bc999a032 Properly close connecting peers. Miron Cuperman 2012-03-27 10:28:06 -07:00
  • 1e52a6eccc Catch certain exceptions when trying to close socket. Miron Cuperman 2012-03-26 16:15:40 -07:00
  • 9474eaa0d4 Change NetworkConnection API to separate connect method. Miron Cuperman 2012-03-26 15:23:14 -07:00
  • 92398d2c47 Check whether Peer should stop after each message. Miron Cuperman 2012-03-26 12:15:44 -07:00
  • a77d071d35 Catch exceptions thrown during signature checking. Some versions of Android cannot reliably check ECDSA signatures! Resolves issue 160. Mike Hearn 2012-03-26 15:39:10 +02:00
  • 58971b6728 Throw an exception rather than assert on trying to get from address of generation transaction Miron Cuperman 2012-03-23 16:58:06 -07:00
  • 91a5949930 Additional level of locking to work around Android issue Miron Cuperman 2012-03-23 13:43:23 -07:00
  • 4f0c10bd2d Expose correct version message. Miron Cuperman 2012-03-21 11:06:40 -07:00
  • 576650142c Lock in BOBS on creation, do not swallow non-IO exceptions Miron Cuperman 2012-03-23 12:53:54 -07:00
  • 4b1c32584f Lock BlockStore files to prevent concurrent access. Miron Cuperman 2012-03-23 10:53:54 -07:00
  • 7f6d636cec Expose several useful Peer fields, for issue 158. Miron Cuperman 2012-03-19 09:40:17 -07:00
  • a119286b29 POM changes and refactorings from Gary. Mike Hearn 2012-03-16 13:20:50 +01:00
  • 6e162057c1 Removed IML files from git. Mike Hearn 2012-03-13 19:00:33 +01:00
  • 0e52c98c45 Use the standard Maven directory layout, rename "lib" to "core". Mavenize submodules. Mike Hearn 2012-03-13 18:57:03 +01:00
  • 216deb2d35 Re-organize the source tree so people can depend on bitcoinj without pulling in the examples, tools, or dependencies thereof. Mike Hearn 2012-03-11 20:01:12 +01:00
  • a86ca77a58 Move to 0.5-SNAPSHOT Mike Hearn 2012-03-09 15:34:34 +01:00
  • 74b2f6c172 Update version number to 0.4 from 0.4-SNAPSHOT. Remove the TODO file. Sync contributors list in the POM with the AUTHORS file. Mike Hearn 2012-03-09 15:33:04 +01:00
  • 2e319dec90 Fire onCoinsSent/Received from commitTx() so it is called when using sendCoins[Async]. Resolves issue 154. Mike Hearn 2012-03-07 14:43:54 +01:00
  • bb97da6a5a Fix race condition on PeerGroup shutdown. Miron Cuperman 2012-03-06 12:49:45 -08:00
  • 789798bae0 Serialize key creation time. Miron Cuperman 2012-03-03 14:00:05 -08:00
  • 0d195e17c8 Lower the priority of the PeerGroup thread and daemonize it. Mike Hearn 2012-03-02 15:32:58 +01:00
  • 0b20b47c0c Clear another FindBugs warning in PeerGroup. Mike Hearn 2012-03-02 15:24:20 +01:00
  • 32a2be53c4 Make adding/removing event listeners lock PeerGroup. Take out use of synchronizedList as it's redundant. Resolves issue 148. Mike Hearn 2012-03-02 15:15:36 +01:00
  • 31463c506f Use EventListenerInvoker in PeerGroup, and clear a FindBugs warning about an unlocked access to the running property. Mike Hearn 2012-03-02 15:08:55 +01:00
  • b25446271a Synchronize on event listeners in EventListenerInvoker. Mike Hearn 2012-03-02 15:08:36 +01:00
  • 001afa9ae2 Print TX values in Wallet.toString() Mike Hearn 2012-03-01 18:56:12 +01:00
  • 0a473a8d76 Remove an unnecessary save point in ToyWallet. Mike Hearn 2012-03-01 18:56:02 +01:00
  • 40bd728703 Add a Transaction.getValue(Wallet) method. Mike Hearn 2012-03-01 18:55:46 +01:00
  • ddb6da155b Merge branch 'master' of https://code.google.com/p/bitcoinj Mike Hearn 2012-03-01 18:07:30 +01:00
  • feb85a13d3 Remove private key from ECKey.toString and put it in toStringWithPrivate Miron Cuperman 2012-02-29 14:50:57 -08:00
  • 1df679cd17 Change how wallet callbacks are run in the case of a tx that both sends and receives coins from the wallet (common case). Mike Hearn 2012-02-24 15:25:38 +01:00
  • c8e76a8f9b Log slow reads in BOBS. Mike Hearn 2012-02-24 15:25:06 +01:00
  • 812ca60b9b BIP21 bitcoin URI implementation. Jim Burton 2012-02-15 16:25:51 +00:00
  • 168a5a40e1 Fix a minor bug in the ChainSplitTests Mike Hearn 2012-02-19 15:04:02 +01:00
  • 54a2a71460 Replace WalletEventListener.onDeadTransaction with a generic confidence changed callback, this simplifies the case of listening for all confidence changes in all wallet transactions and gives a single place to save the wallet from. Mike Hearn 2012-02-19 15:01:30 +01:00
  • 68424281c5 Print out alert messages to the log. Mike Hearn 2012-02-19 12:22:43 +01:00
  • 0e198e68e8 Add top 50 blocks to the block locator. Should make chain split handling more robust. Mike Hearn 2012-02-13 23:39:23 +01:00
  • 2f72eb64d7 Note that there is a race in MockNetworkConnection. Fixing it will have to wait until I am less tired. Mike Hearn 2012-02-13 23:32:14 +01:00
  • e8548a197c Make Message inner exception class static, for efficiency. Clears a FindBugs warning. Mike Hearn 2012-02-13 23:03:15 +01:00
  • cbf60e1056 Clamp the blocksLeft parameter of the PeerEventListener.onBlocksDownloaded() callback to zero. It was being set from the difference between chain height and peer advertised chain height, which can legitimately be negative, but this is confusing and resulted in a bug in DownloadListener which could cause it to never correctly flag the end of chain download. Resolves issue 86. Mike Hearn 2012-02-13 22:02:13 +01:00
  • 5fde54e8e3 Add an initVerbose() method to BriefLogFormatter. Note: this does not actually appear to work :( Mike Hearn 2012-02-13 21:36:49 +01:00
  • 57d518aba9 Fix an issue in block chain handling, whereby a duplicate block received that was not the chain head could result in wallet corruption and bogus "block forks the chain" messages. Resolves issue 135. Mike Hearn 2012-02-13 21:36:09 +01:00
  • a70c868f3f Update the README to use correct capitalization of Bitcoin and reference the wallet-tool script. Mike Hearn 2012-02-13 20:48:26 +01:00
  • 1d772a059f Add a little shell script that invokes WalletTool via maven. Mike Hearn 2012-02-13 20:48:05 +01:00
  • 5bc9e49941 Lower the level of a spammy log line. Mike Hearn 2012-02-13 20:47:52 +01:00
  • d08f2f7808 WalletTool: allow specification of debug levels and force a particular peer to be used. Add a bit of logging to WalletTool itself. Mike Hearn 2012-02-13 20:47:32 +01:00
  • 2c93dfba32 More JavaDocs for PeerAddress and default the port for the prodnet rather than zero, which is pretty useless. Mike Hearn 2012-02-13 20:46:42 +01:00
  • 1204a901e6 Make the semaphore in DownloadListener private Mike Hearn 2012-02-13 20:46:14 +01:00
  • dec8d5aeb8 Fix a minor bug in Peer.java where it wasn't always correctly constructing the block locator. Resolves issue 138. Bug found by Vasile Rotaru. Mike Hearn 2012-02-12 22:41:03 +01:00
  • cfd06195a0 WalletTool: allow control of logging from the command line. Change how block chain download is waited for. Mike Hearn 2012-02-12 22:14:01 +01:00
  • 11dcb0a682 Log chain height in BlockChain c'tor Mike Hearn 2012-02-12 22:13:25 +01:00
  • af826772c5 Fast shutdown for PeerGroup. Miron Cuperman 2012-02-09 14:52:48 -08:00
  • 6597f01874 Handle the not-enough-funds case in sendCoinsAsync and sendCoins(PeerGroup ...). They got a NPE in this case during a recent refactoring. Resolves issue 136. Mike Hearn 2012-02-10 17:00:29 +01:00
  • 2d0891cf4b Add missing synchronized keywords to various Wallet methods that were missing them. Resolves issue 137. Mike Hearn 2012-02-10 16:56:26 +01:00
  • d2e35cc744 Make GetBlocksMessage/GetHeadersMessage not compare equal despite identical contents, resolves issue 140. Mike Hearn 2012-02-10 16:49:25 +01:00
  • 21c5e14700 Fix a minor bug in AddressMessage. Patch from Vasile Rotaru. Resolves issue 138. Mike Hearn 2012-02-10 16:44:57 +01:00