Commit graph

1846 commits

Author SHA1 Message Date
Mike Hearn
9d46c48db9 Fix Sha256Hash hashcode function.
Delete wallet deserialization unit test, as we now consciously are breaking serialization compatibility. Resolves issue 213.
2012-07-09 22:28:29 +02:00
Mike Hearn
ec096993e6 Test and fix transactions in multiple chains going the other way (appears in side chain first, then best) 2012-07-09 22:02:55 +02:00
Mike Hearn
038438b394 Fix a bug that could cause inconsistent wallets.
When a side chain block contains the same transactions as the best chain, we incorrectly inserted into the inactive map, triggering assertion failures. Resolves issue 202.
2012-07-09 21:38:52 +02:00
Mike Hearn
ac3fc068d0 Correct a comment, a few logging statements. 2012-07-05 16:01:31 +02:00
Mike Hearn
4bf8252041 Print a trailing newline in coinbase transaction toString method. 2012-07-05 16:01:14 +02:00
Mike Hearn
4d1e6259a7 coinbase phase 3 - coinbase death and resurrection now working (updated with Mike's comments) 2012-07-04 19:19:19 +01:00
Mike Hearn
6a2139f681 BitCoin -> Bitcoin. Add a Peer c'tor that lets you specify useragent instead of a full VersionMessage. 2012-07-04 17:58:35 +02:00
Mike Hearn
f018e2956e Fix a class casting bug that isn't picked up by the unit tests as they don't use a real socket. Due to the move to embedded handlers during code review. 2012-07-04 17:58:35 +02:00
Mike Hearn
567fccbf8a Fix indentation in core/pom, clear a couple of findbugs warnings that were introduced with the last commit. 2012-07-04 17:58:35 +02:00
Miron Cuperman
fa10523007 Netty network stack.
This should resolve some scalability and robustness issues.
2012-07-04 17:08:35 +02:00
Mike Hearn
2d8f25a2da Bump locator size to 100 to match coinbase maturity. Add a few more comments to address Mirons review comments for chain download fixes. 2012-06-14 13:42:06 +02:00
Mike Hearn
c5d0573107 Another attempt to fix Windows. Resolves issue 200. 2012-06-10 15:00:36 +02:00
Mike Hearn
8648e02f52 Throw away messages until version negotiation is complete rather than throwing an exception. There's a bug in Satoshis code (bug 1436) that can cause alerts to be relayed before nego finishes. 2012-06-09 23:58:42 +02:00
Mike Hearn
f55219a603 Extra log line 2012-06-09 23:57:51 +02:00
Mike Hearn
7d1c982c9a Make AlertMessage toString contain the actual alert message. 2012-06-09 23:57:41 +02:00
Jim Burton
96e27cfe27 Renamed TransactionConfidence.OVERRIDDEN_BY_DOUBLE_SPEND to DEAD 2012-06-08 17:58:41 +02:00
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