Commit Graph

80 Commits

Author SHA1 Message Date
Mike Hearn
643088145e Clear out some FindBugs warnings. 2012-06-08 17:53:50 +02:00
Mike Hearn
4e4abf8a54 Delete the wallet file before renaming its replacement on Windows. Resolves issue 200. 2012-06-08 17:10:35 +02:00
Mike Hearn
6fec1263ff Add a RAW_DUMP command to wallet tool. 2012-06-08 16:30:23 +02:00
Mike Hearn
335863c75d Add some helpers for creating pubkey-only outputs.
Allow spending of pubkey outputs. There are unit tests but not manually tested yet.
Implement toString() logic for printing pubkey inputs/outputs.
Don't consider coinbase transactions relevant until Jims work is in.
Support sending to pubkeys in wallet-tool
2012-06-07 10:57:34 +02:00
Mike Hearn
e863d01545 Fix receiving of pending transactions, it was broken after the memory pool changes in the case when a tx was received first on a non download peer. 2012-06-05 14:26:18 +02:00
Mike Hearn
da8dba8b23 Re-write block chain download handling to avoid parallel chain downloads occurring. Avoids big slowdowns when a block is solved during the chain download. Resolves issue 180. 2012-06-05 12:26:41 +02:00
Mike Hearn
0a689f9add Add some debug logging to Peer. Updates issue 199. 2012-06-03 15:34:54 +02:00
Mike Hearn
6ade5c38cc Update wallet tx confidence data for blocks that do not contain any relevant transactions. Resolves issue 197.
TESTED=synced a wallet with a mainnet key and watched depth/work rise as new blocks were solved
2012-06-03 15:31:21 +02:00
Mike Hearn
cd5431b310 Print more information in Transaction/Wallet toString outputs to reflect last seen block hash and confidence/depth data. 2012-06-03 14:20:42 +02:00
Mike Hearn
5deecef64c Update a TestUtils helper to allow solved blocks to have transactions in them. Rewrite lastSeenBlockHash test to use it and eliminate a todo. 2012-06-03 14:20:02 +02:00
Mike Hearn
417dcefa67 Close the FileInputStream created in Wallet.loadFromFile(). Resolves issue 198. 2012-06-03 11:35:22 +02:00
Jim Burton
80f141cbf5 TransactionConfidence changes (coinbase phase 2) + Mike's feedback 2012-06-01 16:14:18 +02:00
Fireduck
61fba05d3d Makes Wallet easy to extend.
Adds WalletProtobufHelper, which is an easy class to extend
to add extensions to the wallet serialization.

Modified WalletProtobufSerializer to use that helper.
2012-06-01 15:35:16 +02:00
Mike Hearn
db67db5943 Take the directory of the wallets absolute path name, to avoid creating temporary wallets in the system default directory. This does not play well with NFS. 2012-06-01 15:22:11 +02:00
Mike Hearn
73e640e3b3 Take out a bogus assert that did not do what I thought it did. 2012-05-30 16:17:45 +02:00
Mike Hearn
d9c2aabf66 Note about running time in BlockStore.getChainHead(). Resolves issue 191. 2012-05-30 00:15:06 +02:00
Mike Hearn
1f96f850e0 Automatically set up fast catchup time on a PeerGroup when wallets are added. Resolves issue 183. 2012-05-30 00:08:18 +02:00
Mike Hearn
adb46c7dcb Make isAvailableForSpending and markAsUnspent public. Add JavaDocs for them. Resolves issue 193. 2012-05-29 23:58:31 +02:00
Mike Hearn
7705bd59a4 Version 0.6-SNAPSHOT 2012-05-21 16:46:44 +02:00
Mike Hearn
e375270d6b Remove deduplication code. It is dead for a long time now already. 2012-05-21 16:10:28 +02:00
Mike Hearn
e42063806c Write+rename wallet files. 2012-05-21 15:31:21 +02:00
Mike Hearn
0739a6f674 Port to the latest BouncyCastle API and switch to the SpongyCastle lightweight API. It has the following benefits:
- Keeps us up to date with the crypto library
 - Resolves the need for an Android artifact by using a renamed lib
 - Switches to the lightweight API so minimizes our dependencies, which is also required for the native branch to be merged

 Resolves issue 171
2012-05-18 17:03:55 +02:00
Jim Burton
6c31abd698 coinbase-tx phase1 complete (add blockheight to wallet and protobuf) 2012-05-17 14:18:31 +01:00
Mike Hearn
23a960e0f4 Fix a bug revealed by the better wallet consistency checks - after reprocessing an unincluded transaction at the end of a re-org, check if connected transactions now need to be moved to the spent pool. 2012-05-15 23:45:59 +02:00
Mike Hearn
2081c2234b Ignore blocks that are sent to us which we never requested. Updates issue 180. 2012-05-15 22:39:20 +02:00
Mike Hearn
1b1457449a Add a BitcoinURI.convertToURI variant that takes a String instead of an Address. Remove test for null param -> IllegalArgumentException as that's not consistent with the rest of the library. Resolves issue 152. 2012-05-14 20:57:14 -07:00
Mike Hearn
3d5a7ea7ec Don't use peers that claim to have a block chain and then report a height of zero. These are probably buggy reimplementations of the protocol. 2012-05-14 20:52:06 -07:00
Mike Hearn
c41b6d74fa Better base58 encoding/decoding that resolves some edge cases. Patch from Vasile Rotaru. 2012-05-09 11:12:45 -07:00
Mike Hearn
0a3189c3b4 WalletTool: fix --help and allow privkeys/pubkeys to be parsed as hex or base58. 2012-05-02 17:56:05 +02:00
Mike Hearn
1087d837e5 Log the IP being used to connect to IRC. 2012-05-02 17:17:55 +02:00
Mike Hearn
ff770a8d83 Add an explicit test in WalletTest.blockChainCatchup for confidence levels. 2012-05-02 16:59:50 +02:00
Miron Cuperman
fe9cbf8b7b Wallet.isConsistent tests
Resolves issue 184.
2012-05-01 18:57:03 -07:00
Miron Cuperman
6a82462d2d More Wallet consistency checks 2012-05-01 18:45:48 -07:00
Mike Hearn
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.
2012-04-15 19:07:30 +02:00
Mike Hearn
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. 2012-04-15 17:51:31 +02:00
Mike Hearn
9fa25f990b Make it easier to understand the wallet code by using an enum instead of a bool for TransactionInput.connect() 2012-04-15 16:26:11 +02:00
Mike Hearn
6deeaaf8ac One more minor consistency cleanup. 2012-04-15 16:15:17 +02:00
Mike Hearn
73a5d95bea Introduce additional comment and some minor reformatting / simplification of the protobuf serializer. 2012-04-11 23:08:39 +02:00
Mike Hearn
8796705987 Better internal sanity checking in the wallet deserializer and simplify the code. Also reformat and introduce another helper method. 2012-04-10 23:57:55 +02:00
Mike Hearn
0fb81a7288 Fix output directory of protobuf regeneration. 2012-04-08 14:27:08 +02:00
Mike Hearn
513a75b4ba Download transactions from whichever peer announced them first. 2012-04-08 14:26:53 +02:00
Mike Hearn
2023e05d7e Fix detection of end of block chain download when syncing a wallet with no keys. 2012-04-08 00:13:01 +02:00
Mike Hearn
71754929e4 Support pubkey only keys in the protobuf serializer. 2012-04-07 23:45:40 +02:00
Mike Hearn
cf30280767 Catch up with new testnet rules. Resolves issue 164. 2012-04-07 23:28:18 +02:00
Mike Hearn
2f904e7a37 Fix unit test. 2012-04-07 17:02:00 +02:00
Mike Hearn
b008cd0388 Don't validate difficulty transitions on the testnet as there was a recent rule change, and nobody cares about security on testnet anyway. 2012-04-06 18:41:40 +02:00
Mike Hearn
40e4ac0a49 Restore error message that got accidentally taken out. 2012-04-06 18:40:51 +02:00
Mike Hearn
4e3d5313e6 Fix issue 166. Consider intra-block dependencies when deciding whether to send transactions to the wallet. 2012-04-06 18:03:07 +02:00
Mike Hearn
577318b9ea Start auto-migration to protobuf wallets. 2012-04-06 16:02:00 +02:00
Mike Hearn
265c76db59 Don't crash if trying to print a transaction with no inputs 2012-04-06 16:01:44 +02:00