3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-01-31 07:12:17 +00:00
Commit Graph

782 Commits

Author SHA1 Message Date
Matt Corallo
61ed962e63 Implement PUSHDATA4 in Script.parse 2012-08-20 17:50:19 +02:00
Matt Corallo
a831374b72 Fix handling of improperly-encoded DER signatures to match OpenSSL
This always reads variables in DER signatures as positive, even
when they are encoded as negative.
2012-08-20 17:50:19 +02:00
Matt Corallo
dd89369538 Fix a bug in Script.parse to allow 0-length pushes. 2012-08-20 17:50:19 +02:00
Matt Corallo
60748ed72e Print any opcode in Script.toString, adding Script.getOpCodeName 2012-08-20 17:50:19 +02:00
Matt Corallo
8b07672922 Add all script OP constants from the reference client. 2012-08-20 17:50:18 +02:00
Mike Hearn
8cc41330e6 Delete the old confidence migration code that was used in the days of serialized wallets. It's no longer needed. 2012-08-20 16:55:53 +02:00
Mike Hearn
200ca96f49 Rewrite the class javadoc for Wallet and remove a dead autosave variable. 2012-08-20 16:44:56 +02:00
Matt Corallo
5abc124134 Remove redundant programCopy from Script. 2012-08-20 16:23:12 +02:00
Matt Corallo
dc943b6e6d Remove unused multi-byte script support. 2012-08-20 16:23:11 +02:00
Matt Corallo
30db7cfd47 Use pong(+nonce) messages.
* Adds a Pong class
* Uses nonces in pings (when applicable)
* Responds to pings with pongs (when applicable)
* Changes protocol version to 60001
2012-08-20 16:23:11 +02:00
Matt Corallo
5f8ae00dd6 Use minimum values for SpendableCoinbaseDepth.
Use 100 for SpendableCoinbaseDepth instead of 120 on mainnet, and
use 100 on testnet, as the reference client does.
2012-08-20 16:23:11 +02:00
Matt Corallo
20d72d7de4 Use a ScriptChunk class in place of byte[] arrays. 2012-08-20 16:23:11 +02:00
Matt Corallo
ca1466e628 Make isCoinBase() equivalent to the reference one. 2012-08-20 16:23:11 +02:00
Matt Corallo
2aaa601293 Use signed 64-bit values for TransactionOutput.value.
The reference client (stupidly) does this, and we were incorrectly
de-serializing values from the reference client.
2012-08-20 16:23:11 +02:00
Matt Corallo
8cd9cc11a4 Make Script throw ScriptException instead of ArrayIndexOutOfBounds
...when an invalid PUSHDATA constant is used.
2012-08-20 16:23:11 +02:00
Matt Corallo
c5e62f16b0 Fix serialization of GetBlocksMessage 2012-08-20 16:23:11 +02:00
Matt Corallo
6f6a946967 Fix typo in comment in TransactionConfidence.java 2012-08-20 16:23:10 +02:00
Mike Hearn
e2108d922d Close ByteArrayOutputStreams. Resolves issue 244. 2012-08-20 16:12:49 +02:00
Mike Hearn
6f6c5d6773 Add a toString overload on Wallet. Print private keys in WalletTool when available. 2012-08-20 16:01:19 +02:00
Mike Hearn
75e04174c4 Introduce a concept of "minimum peers for broadcast" to PeerGroup.broadcastTransaction. This can be used to make sending faster when you are bringing up the network in parallel. It defaults to half the max connections. The idea is to insulate you from slow remote peers somewhat. 2012-08-20 16:00:55 +02:00
Mike Hearn
8746dabcad Rewrite wallet auto-saving to not require polling. Resolves bug 242. 2012-08-20 14:46:44 +02:00
Mike Hearn
9f036bff84 Mark as spent the outputs used by pending transactions. Resolves issue 243. 2012-08-20 14:46:00 +02:00
Miron Cuperman
c4304fe07d Bring back PeerGroupThreadFactory 2012-08-03 16:49:45 -07:00
Mike Hearn
3560d18ea2 Don't increment maxConnections when using connectTo from the PeerGroup thread. Resolves issue 234. 2012-07-23 16:42:21 +02:00
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