Commit Graph

376 Commits

Author SHA1 Message Date
Andras Slemmer
0f29067680 contracts, core: Fix compiler errors 2016-09-06 14:30:03 +01:00
Andras Slemmer
9e993c5b86 Merged in aslemmer-generators-fixes (pull request #300)
Aslemmer generators fixes
2016-09-06 14:19:28 +01:00
Mike Hearn
f3fa54ebef Minor: add field-level documentation to WireTransaction and TODO a few things that don't seem right. 2016-09-06 15:06:29 +02:00
Mike Hearn
8a19e6bbfb Minor: delete dead code in SignedTransaction.verifySignatures as it's not required. 2016-09-06 15:06:28 +02:00
Mike Hearn
210ea2ed95 Minor: remove the TODO about the notary signing last. It is not important at this level as the notary signature does not cover the other signatures. Also a small formatting change to the withAdditionalSignatures methods. 2016-09-06 15:06:28 +02:00
Mike Hearn
99f8477bf1 Minor: move code from TransactionTools.kt into the respective classes, and add some @Throws annotations that were missing (matters for java users) 2016-09-06 15:06:28 +02:00
Andras Slemmer
bd59022e8f Revert "core, contracts: Rewrite Generators to use functions instead of classes"
This reverts commit deddcc91c7f6ad436c44daf69b4cb81a406cb28e.
2016-09-06 13:54:59 +01:00
Andras Slemmer
abdc45176d Revert "core: Small Generator fix"
This reverts commit c57731a978fe41f38b91dbe97dd1e1ddc9e274d1.
2016-09-06 13:54:59 +01:00
Andras Slemmer
fd3707fd24 core: Small Generator fix 2016-09-06 13:54:59 +01:00
Andras Slemmer
2ac31a53b5 core, contracts: Rewrite Generators to use functions instead of classes 2016-09-06 13:54:59 +01:00
Andras Slemmer
491b1abd4a contracts, core, node: Use entropyToKeyPair in Generators instead of manually creating keys 2016-09-06 13:54:59 +01:00
Andras Slemmer
f11a587382 core, contracts: Add Generator<>.generateList to reduce boilerplate 2016-09-06 13:54:59 +01:00
Andras Slemmer
6faf19cccc contracts: Add comment explaining Generators 2016-09-06 13:54:59 +01:00
Andras Slemmer
89a5448c39 node, core: Add quickcheck generators for basic types, transactions 2016-09-06 13:54:58 +01:00
Mike Hearn
f3c2bd6748 Minor: split Transactions.kt file into one file per transaction class 2016-09-06 14:21:37 +02:00
Mike Hearn
9d83a9b6d2 Minor: move transaction types out of the contracts package and into a new transactions package 2016-09-06 14:20:32 +02:00
Mike Hearn
cbf6aa0e27 Minor: make TransactionBuilder.signWith return the builder for ease of use from Java. 2016-09-06 14:20:32 +02:00
Mike Hearn
ad6c59d742 Minor: note in the DummyState doc that it's not a part of DummyContract despite the name. 2016-09-06 14:20:32 +02:00
Andrius Dagys
9cccb11967 Add comment explaining signers 2016-09-06 10:07:08 +01:00
Andrius Dagys
2676e8878d Remove a @Deprecated as the code has been changed since its introduction anyway 2016-09-05 18:50:53 +01:00
Andrius Dagys
84247128b4 Remove addInputState(stateRef, notary) from TransactionBuilder API, as it might lead to issues where someone accidentally provides a different notary than the one in the state 2016-09-05 18:47:51 +01:00
Andrius Dagys
aa166518a0 Remove unused val 2016-09-05 18:41:35 +01:00
Shams Asari
97e1a59770 Refactored FiberRequest into cleaner ProtocolIORequest and fixed checkpoint regression 2016-09-05 14:42:54 +01:00
Ross Nicoll
9cccc7a2b7 Correct warnings 2016-09-01 16:15:15 +01:00
Ross Nicoll
b913b18e02 Merged in rnicoll-simulations (pull request #314)
Move test code from node to test-utils
2016-09-01 15:21:34 +01:00
Ross Nicoll
07f44e9e2a Move test code from node to test-utils 2016-09-01 11:15:05 +01:00
Ross Nicoll
203c4fb3d8 Merge ConcreteClause into Clause
Change Clause to an abstract class, and merge ConcreteClause into it. CompositeClause now
overrides defaults provided in Clause which are more suitable for composition of clauses.
2016-08-31 17:55:36 +01:00
Ross Nicoll
232db9a1fd Move test utilities into their own package
This moves a lot of the test support code into its own package which is only imported for tests,
so it's not shipped as a part of core Corda. The node currently depends on this support code to
compile, although future work could try to separate this out. This change highlights that parts
of production code is dependent on test elements (i.e. dummy keys), and makes it harder for
such accidental crosses to occur later.

An integration test category is also added as part of this work, to contribute towards COR-345.
2016-08-31 15:40:54 +01:00
Matthew Nesbit
8756b49794 Add switchable HTTPS to Node web server
Explain change of cipher

Include extracted Dev Corda Root certificate so that it can be installed by HTTPS users.
2016-08-30 13:07:40 +01:00
Ross Nicoll
13b040ecd6 Rework clauses to use composition
Rework clauses so that rather than defining match/no-match behaviour themselves, they are
now composed by nesting them within clauses that understand how to match their child clauses.
This unifies a lot of the structure of clauses and removes corner cases needed for the first
design, as well as moving towards a model which is easier to prove.
2016-08-26 17:35:52 +01:00
Ross Nicoll
ad8ffca0b4 Add CommitTransactionProtocol
Add new protocol which manages the entire process of taking a signed transaction ready
for notarisation, through notarisation and onto recording it both locally and informing
remote nodes.

This protocol also optionally can include the ClientToServiceCommand which triggered a transaction
being created, to give the remote nodes context on why a change occurred (i.e. "You are being sent
£100")
2016-08-25 16:30:39 +01:00
Matthew Nesbit
089ba2cb69 Only NetworkMapServer addresses can be publicly manufactured. Use identity publick key as addressing, with only bridges using the HostAndPort information
Fixup after rebase and fix issue with checking previous deployment of bridges

Correct comments on ArtemisMessagingClient constructor

Fixup rates fix demo

Get rid of when statements

Make NetworkMapCache send modify as well as add//remove events. Make inboxes for nodes persistent.

Suppress warnings

Fix message acknowledgement so that it actually consumes messages properly.

Change queueName to SimpleString to stop lots of wasted conversions

Get rid of spurious import

Tidy up and add comments

Update to include comments on PR

Remove unnecessary import
2016-08-25 15:56:50 +01:00
Ross Nicoll
59d3cbdece Add documentation around Commodity and CommodityContract 2016-08-23 17:40:45 +01:00
Ross Nicoll
03e120d04b Add default values for ifMatched/ifNotMatched/requiredCommands 2016-08-23 11:23:47 +01:00
Matthew Nesbit
413060aa6d Don't use single line style for verify 2016-08-19 12:05:32 +01:00
Matthew Nesbit
696b9741dd Remove ClashingThreads exception by tightening up unique id on LinearState to be a secure random value, with constraints that it cannot be duplicated. Also, rename to linearId rather than the confusing thread.
Try providing a helper interface to encourage enforcing LinearState rules

Fixup after rebase

Change to using Clauses for verifying LinearState standard properties

Fix whitespace change

Tidy up ClauseVerifier after PR comments

Change from SecureHash to a TradeIdentifier class

Change TradeIdentifier to UniqueIdentifier
2016-08-19 11:52:16 +01:00
Clinton Alexander
43625308fa Merged in clint-immutable-kryo-serialisers (pull request #274)
Added immatuable serialisers to Kyro.
2016-08-17 14:50:33 +01:00
Ross Nicoll
a9ec3c253e Merged in rnicoll-notify-tx (pull request #282)
Add observable for transactions being stored
2016-08-16 14:50:55 +01:00
Mike Hearn
a451000623 Merged in mike-fix-artemis-threading (pull request #276)
Messaging layer improvements
2016-08-12 19:07:54 +02:00
Mike Hearn
3d391ec8c2 Add unit tests for the resolve transactions protocol 2016-08-12 17:14:54 +02:00
Mike Hearn
709fe096b3 Minor: add a rootCause property to Throwable 2016-08-12 17:13:41 +02:00
Mike Hearn
b8dc755926 Minor: a couple of small usability improvements to TransactionBuilder 2016-08-12 17:13:41 +02:00
Mike Hearn
c60c333ba9 Minor: add a utility to OpaqueBytes 2016-08-12 17:13:41 +02:00
Ross Nicoll
a3d37a4d00 Require notary to be explicitely stated on each transaction 2016-08-12 15:51:04 +01:00
Ross Nicoll
a2dff5488f Add debugging information in case of missing signatures 2016-08-12 13:51:34 +01:00
Ross Nicoll
17ae349f4d Remove support for timestamp commands 2016-08-12 13:51:34 +01:00
Ross Nicoll
f0aa5a30d4 Deprecate existing timestamp infrastructure 2016-08-12 13:51:34 +01:00
Ross Nicoll
8346c58d4c Add observable for transactions being stored
Add observable for transactions being stored, so the UI can show transactions as they're received, rather than being
limited to the summarised version available from the wallet service.
2016-08-12 11:58:17 +01:00
Ross Nicoll
162d19deeb Change how clause verification is called
Change away from extending ClauseVerifier for contracts which support clauses, and explicitely call
clause verification code in the verify() function. This should make the flow of control easier to understand.
2016-08-11 15:39:11 +01:00
Mike Hearn
ac81d2aa32 Messaging layer improvements:
- Fix thread safety issues in ArtemisMessagingClient. The Artemis API isn't thread safe, but that isn't well documented and it will happily invoke callbacks in parallel.
- Add discussion of how we tackle threading currently in the codebase and make a few other improvements.
- Add a shutdown hook so we stop properly when the user presses ctrl-c
2016-08-11 14:16:05 +02:00