Matt Corallo
3d74934b6f
Add a length-prefixed protobuf connection server/client.
...
This forms the base for payment channel network connections, with
a simple single-threaded server which accepts new connections, a
simple single-threaded client which makes a single connection to a
server, and a ProtobufParser which handles data generated by a
connection, splits them into Protobufs and provides a reasonable
interface to users who wish to create/accept protobuf-based
connections.
2013-06-27 14:15:44 +02:00
Mike Hearn
c4572696b1
Some fixes to wallet serialization:
...
1) Switch the outpoint index field to be uint32 and fix isCoinBase() to consider the unsigned versions only. Resolves issue 420.
2) Regenerate the protobuf and fix an out of date definition in WalletProtobufSerializer that it exposed.
2013-06-27 14:01:02 +02:00
Mike Hearn
7f68923529
KeyCrypterScryptTest: Clear static analysis warnings and port to junit 4.
2013-06-24 17:52:09 +02:00
Mike Hearn
fbd767320c
Delete the long since obsolete DiskBlockStore.
2013-06-20 15:10:47 +02:00
Mike Hearn
4d4768ba8c
Fixup last commit
2013-06-19 15:34:05 +02:00
Mike Hearn
354446dd40
Add new helper methods to Transaction[Signature]
...
Add a method for signing a given input and use it.
Convert some code that was working with raw bytes to use TransactionSignature.
Rename Transaction.hashTransactionForSignature to just hashForSignature.
General API tweaks and cleanups.
2013-06-19 11:30:27 +02:00
Mike Hearn
2149fea7e6
TODO: KeyCrypterScryptTest sometimes fails because key crypto is still relying on padding bytes in some cases.
2013-06-18 17:35:35 +02:00
Matt Corallo
d6fec93be3
Add canonical signature/pubkey methods to ECKey and tests therefor.
2013-06-17 11:07:55 +02:00
Mike Hearn
c91e811fc7
Make SendRequest.completed back to being private.
2013-06-12 17:26:12 +02:00
Mike Hearn
87ab410a2f
Make feePerKb apply to the first kilobyte as well.
2013-06-12 17:16:07 +02:00
Mike Hearn
c9f0ecae3d
Delete 3 fee tests that weren't adding any coverage and Matt can't remember what they're for.
2013-06-12 16:21:02 +02:00
Mike Hearn
20049fb9f8
Use RegTestParams.get()
2013-06-12 11:11:59 +02:00
Mike Hearn
46914b12b7
Make completeTx once again return a bool (pending replacement with an exception), and update the fee field with the calculated fee.
2013-06-11 11:40:40 +02:00
Mike Hearn
afaebd062a
Rename enforceDefaultClientFeeRelayRules to ensureMinRequiredFee which is shorter.
2013-06-10 16:02:38 +02:00
Mike Hearn
9a389c9475
Move enforceDefaultClientFeeRelayRules into SendRequest instead of being a parameter.
...
Make WalletTool enforce the rules instead of ignoring them (this was an oversight).
2013-06-10 15:51:34 +02:00
Matt Corallo
a3f1fe5390
Tweak WalletExtension slightly.
2013-06-10 13:36:27 +02:00
Mike Hearn
90fda575b6
Make bitcoind comparison tool simple to run again.
2013-06-07 13:59:20 +02:00
Mike Hearn
0bdba0318a
Clear some static analysis warnings from the inspector - many assertions could be simplified and assertEquals is (expected, actual) not (actual, expected).
2013-06-05 16:41:14 +02:00
Matt Corallo
7daa54b12c
Add a few more fee solver tests.
2013-06-05 16:29:16 +02:00
Matt Corallo
72f346c10f
Add tests for user-specified inputs in SendRequests.
2013-06-05 16:29:06 +02:00
Matt Corallo
375e553bdc
Add basic fee solver to Wallet.completeTx and extensive testing.
...
This also adds support for SendRequests which have some predefined
inputs (already signed), which will be tested in a later commit.
2013-06-05 16:28:35 +02:00
Matt Corallo
fd4845fa90
Add new data-driven test-case
2013-06-05 14:10:42 +02:00
Matt Corallo
07baa230f3
Wallet: Check if tx is time-locked not just has a lock time
2013-06-05 14:10:41 +02:00
Matt Corallo
fb912322ff
Replace Block.fakeClock with Utils.mockClock
2013-06-05 14:10:41 +02:00
Matt Corallo
5993f2dc6c
Further global replace of NetworkParameters.* -> *.get()
2013-06-05 14:10:40 +02:00
Mike Hearn
f4c3b6a49d
Global search and replace to use the param-class specific instance getters and prodNet -> MainNetParams.
...
The old "prodnet" name could be confusing to non-native speakers or people who just haven't been exposed to Google lingo. Main net is more idiomatic.
Conflicts:
tools/src/main/java/com/google/bitcoin/tools/BlockImporter.java
2013-06-05 14:10:40 +02:00
Mike Hearn
52586edb33
NetworkParameters: Refactor out into separate classes.
...
Hide fields behind getters and make unit tests create anonymous subclasses
to tweak them rather than overwriting global variables.
Introduce a regtest params class for use in the comparison tool.
Conflicts:
core/src/test/java/com/google/bitcoin/core/BitcoindComparisonTool.java
core/src/test/java/com/google/bitcoin/core/FullPrunedBlockChainTest.java
2013-06-05 14:10:39 +02:00
Mike Hearn
f6f290cc05
NetworkParameters: hide more params behind a getter.
2013-06-05 14:10:39 +02:00
Mike Hearn
1f005d7b3d
NetworkParameters: hide packet magic behind a getter.
...
Conflicts:
tools/src/main/java/com/google/bitcoin/tools/BlockImporter.java
core/src/main/java/com/google/bitcoin/utils/BlockFileLoader.java
core/src/test/java/com/google/bitcoin/core/FullBlockTestGenerator.java
2013-06-05 14:10:39 +02:00
Mike Hearn
ec62bbdeab
NetworkParameters: hide genesis block behind a getter.
...
Conflicts:
core/src/test/java/com/google/bitcoin/core/FullBlockTestGenerator.java
2013-06-05 14:10:38 +02:00
Matt Corallo
b840ddfcc8
Require bitcoind replies to a inv instead of just sending blocks.
...
This makes b57 testing actually useful.
2013-06-05 14:10:36 +02:00
Matt Corallo
60520ba17a
Add new data-driven tests from the reference client
2013-06-05 14:10:36 +02:00
Matt Corallo
304bc705b8
Fix script parsing bug and test for it (partially reverts 7837a54)
2013-06-05 14:10:23 +02:00
Matt Corallo
e8ea5cea7c
Re-enable port selection as pull-tester will need it
2013-06-04 22:18:11 +02:00
Matt Corallo
a1c1a1117a
Rename blocks in FullBlockTestGenerator to make new tests easier
2013-06-04 22:18:11 +02:00
Matt Corallo
f9ebf56047
Test importing first 100K of blocks.
2013-06-04 22:18:11 +02:00
Matt Corallo
729f2f5312
Store blocks on disk during BitcoindComparisonTool to save memory.
2013-06-04 22:18:11 +02:00
Matt Corallo
1dadb33c28
Split expensive blocks into sigExpensive and largeReorg.
2013-06-04 22:18:11 +02:00
Matt Corallo
9cbd824457
Create very large reorg test.
2013-06-04 22:18:10 +02:00
Matt Corallo
0390bc9371
Add height info to FullBlockTests, to verify the tests are correct.
2013-06-04 22:18:10 +02:00
Matt Corallo
2e5ca9e72b
Allow FullBlockTestGenerator to indicate maximum reorg depth.
2013-06-04 22:18:10 +02:00
Matt Corallo
0ada33d2b1
Provide more opacity into exceptions.
2013-06-04 22:18:10 +02:00
Matt Corallo
70bffcd6f4
Move onPeerConnected to after VerAck.
2013-05-22 22:46:10 +02:00
Mike Hearn
f1750679b6
Use non-deprecated asserts in AlertMessageTest. Found by IntelliJ inspections.
2013-05-08 16:33:22 +02:00
Mike Hearn
2830d48ac1
Simply a few assertions.
2013-05-08 15:42:27 +02:00
Mike Hearn
1463213f25
Use port 18444 for regtest mode.
2013-05-08 14:30:15 +02:00
Mike Hearn
4886a137bc
TransactionConfidence: make accessors return zero rather than throw when pending, and add a method to get a depth future.
2013-05-06 17:59:31 +02:00
Mike Hearn
857da6bb29
AbstractBlockChain: add a helper method to create futures that complete when the chain reaches a particular height.
2013-05-06 16:23:08 +02:00
Mike Hearn
9a20c39b15
A few simplifications suggested by IntelliJ
2013-05-06 16:21:32 +02:00
Mike Hearn
c64453f835
Wallet: change the extensions API.
...
The old API was very limiting. Rather than have extensions be a single object that creates subclasses of the Wallet class, allow arbitrary objects to be attached to Wallets. Objects know if they are mandatory and how to serialize themselves. A wallet can have as many extensions as wanted in this way.
2013-05-06 15:40:36 +02:00