Commit Graph

508 Commits

Author SHA1 Message Date
Mike Hearn
bc3fbb1448 Make the added logging more compact. 2012-07-23 16:37:14 +02:00
Mike Hearn
912760830a Add some more logging to the Peer class. 2012-07-23 14:50:13 +02:00
Mike Hearn
abc9f09db3 Ensure peer.eventListeners is always accessed under the peer lock, and switch to EventListenerInvoker in most places so listeners can remove themselves.
Resolves issue 210.
2012-07-22 02:00:30 +02:00
Mike Hearn
915a878a13 Also inform the wallet in the single peer case in broadcastTransaction. 2012-07-22 01:50:09 +02:00
Mike Hearn
5bae8ffe6c Make PeerGroup.maxConnections fully synchronized. 2012-07-22 01:22:56 +02:00
Mike Hearn
fd9eba1697 Change PeerGroup.broadcastTransaction() to wait for propagation.
It means a send won't be considered completed until it's accepted by the net.
Also is for the case where you receive a transaction (eg, via Bluetooth) and
you want to broadcast it such that you can know it's valid.

Make WalletTool use --peers instead of --peer, a comma separated list of
addresses to use. Remove the crappy sleep after send now we can wait.

Resolves issue 167.
2012-07-22 01:20:48 +02:00
Mike Hearn
42152c2483 Fix a bug in EventListenerInvoker that would crash if the last event listener removed itself. 2012-07-22 00:45:06 +02:00
Mike Hearn
c5caeaea74 Duplicate channel futures list before closing channels.
Resolves issue 221
2012-07-21 23:02:07 +02:00
Mike Hearn
bc47fccaeb Add an auto save function. A background thread will atomically auto-save to a file when there are wallet changes at a limited rate. 2012-07-21 22:37:39 +02:00
Mike Hearn
d20c185253 Re-order DNS seeds to match upstream. Pieters node comes first as it's the best maintained, Jeffs last as it's just a static list. 2012-07-21 22:34:31 +02:00
Mike Hearn
ba65e7ccf3 Delete dead code from PeerGroup that was obsoleted by the move to Netty. 2012-07-21 22:34:31 +02:00
Mike Hearn
c6d900e91c Correct stale comment in bitcoin.proto 2012-07-21 22:34:31 +02:00
Miron Cuperman
00ce3d7523 Fix incorrect synchronization on map values. 2012-07-18 12:16:29 -07:00
Miron Cuperman
0a9f529f72 Clean up Peer callback API.
Resolves issue 220.
2012-07-18 11:44:55 -07:00
Miron Cuperman
4d58ea5111 Missing synchronization for iterations.
(over synchronizedMap/synchronizedSet)
2012-07-18 10:48:07 -07:00
Mike Hearn
831f2d582f Support the invalid QRcodes generated by blockchain.info (Ben Reeves software). They put bitcoin:// at the front instead of bitcoin:, apparently because otherwise some social networks won't recognize them. 2012-07-14 13:23:00 +02:00
Matt Corallo
ad2c339d85 Fix two false-positives in test cases. 2012-07-13 17:53:30 +02:00
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
26912547ce Fix minor bug in wallet-tool wrapper script (it sucks anyway) 2012-07-05 16:01:44 +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
893013b415 Remove a couple of redundant Maven <version> tags. 2012-06-08 17:21:38 +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
e0ca3f4a7e Ignore Eclipse project files. Resolves issue 203. 2012-06-08 16:31:28 +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
dffe7f1348 Horrible hack to ensure WalletTool sends transactions. For some reason the socket gets torn down before it had a chance to write the packets out to the network. 2012-06-07 10:55:15 +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
02db1509a3 A quick hack for wallet-tool until I learn Maven better. 2012-06-03 15:49:38 +02:00
Mike Hearn
216b5a4d65 Remove a useless <excludes> section. 2012-06-03 15:49:21 +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