Commit Graph

889 Commits

Author SHA1 Message Date
Matthew Nesbit
d2aaba2820 Java accessible API for merkle trees
Respond to PR comment
2017-06-20 10:02:37 +01:00
Ross Nicoll
b874b3e62a Correct identity service tests
* Correct path composition in identity service tests
* Correct identity service certificate path verification to handle the owning certificate being anywhere in the path, rather than expecting it to be trust root
2017-06-16 16:15:23 +01:00
Ross Nicoll
56ad64c524 Correct construction of anonymous parties
Correct construction of anonymous parties to use the first certificate (the target)
rather than the last (the trust root). Worked because early tests used single certificate
paths, but later work introducing multi-certificate paths reveal it's rather broken.
2017-06-16 16:10:51 +01:00
Matthew Nesbit
1f42997915 Merge pull request #850 from corda/mnesbit-cleanup-financetypes
Move all advanced finance types into finance module.
2017-06-16 14:56:49 +01:00
Joel Dudley
bfd02f5d78 Adds a constructor overload to the TransactionBuilder for Java use. 2017-06-16 13:53:10 +01:00
Matthew Nesbit
6933c8fda3 Move all advanced finance types into finance module.
Fixup after rebase

Also pull in the interpolator code, which is used for financial calculations.

Fix up rebase
2017-06-16 11:19:24 +01:00
Matthew Nesbit
a970bc1bb1 Merge pull request #851 from corda/mnesbit-delete-ambigious-timewindow
Remove ambiguous TimeWindow class
2017-06-16 10:09:34 +01:00
Scott James
aab536646f Fixed various compiler warnings, mostly removing unused parameters and replacing calls to getDevX509Name with getX509Name with specific data, this should be a nullop. Remainign compiler warnings will require changing semantics of code 2017-06-16 09:59:52 +02:00
Clinton
a6853be035 Merge pull request #834 from corda/clint-irswebfix
IRS web demo now shows fixings + general IRS fixes
2017-06-15 17:49:43 +01:00
Matthew Nesbit
156a9515ad We had two TimeWindow classes in Corda core, which has caused ambiguity issues for some users. Delete one and merge functionality.
Address PR comment
2017-06-15 16:52:53 +01:00
RogerWillis
0cb41c55a5 Marked TransactionBuilder.signWith() as deprecated. 2017-06-15 14:45:59 +02:00
Andrzej Cichocki
77ab6d4af3 Refactoring related to BFT state persistence/transfer (#829)
* Remove unused type param
* If we drop Runnable we can use conciser syntax
* Sometimes we need the fully-fledged object, so retire separate handle class
* Implement IntelliJ suggestion
2017-06-14 09:57:46 +01:00
Konstantinos Chalkias
ec0e0dd442 Deterministic Key Generation for ECDSA and EdDSA (#729)
Deterministic Key Derivation for ECDSA R1/K1 and EdDSA

* DKG description and comments

* Removing a (confusing) not-required comma in comments.

* rename deterministic and generate to derive
2017-06-13 21:55:55 +01:00
Konstantinos Chalkias
56bad3a9b4 Blacklist implementation for internal Kryo
Blacklist support for internal Kryo, supporting inheritance and forciblyAllowed classes.
2017-06-13 17:39:54 +01:00
Mike Hearn
a9b794ace5 Cleanup: add an extension function to X509CertificateHolder and use that instead of the verbose JcaX509CertificateConverter construct everywhere. 2017-06-13 17:11:01 +02:00
Mike Hearn
ccf43a8e17 Support fuzzy matching for identities.
Matching can be done with case insensitive substrings in the identity service, RPC and shell. In future cleverer matching should be possible, e.g. using Lucene or RDBMS free text search features.
2017-06-13 16:19:55 +02:00
Ross Nicoll
a3fd54bdb0 Modify generateExit to return full set of signing keys
Modify generateExit to return full set of signing keys in preparation for anonymity work meaning
that owner and issuer keys are typically not the same.
2017-06-12 15:49:35 +01:00
josecoll
b5a1cb5109 Removed duplicate identity attribute (parties) from DealState. (#820)
All references to 'parties' now refer to the inherited 'participants' attribute from ContractState.

Samples: all duplicate references to `parties` now changed to `participants`.
2017-06-09 17:33:04 +01:00
Clinton Alexander
5fdd57ec48 WIP - squash me. 2017-06-08 18:29:26 +01:00
Ross Nicoll
35b0ceac0b Clean up cash tests
Clean up cash tests ahead of anonymisation work. This simplifies some boiler plate setup/teardown
and ensures idenities and flows are correctly registered.
2017-06-06 17:09:32 +01:00
Shams Asari
afa3efb308 Fixes relating to testing flows and services.
Fixed issue where Corda services installed in unit tests were not being marked as serialise as singleton. Also the driver now automatically picks up the scanning annotations. This required moving the NodeFactory used in smoke tests into a separate module.
2017-06-06 15:22:43 +01:00
Clinton
08cbcac40c Corda publications and JARs now have cord or corda at the start. (#749)
Core corda publications and JARs now have cord or corda at the start (excluding gradle plugins). Removed an unnecessary dependency on test-utils in node-schemas to prevent an evaluation order bug in gradle.
2017-06-06 15:05:47 +01:00
Mike Hearn
f4321affad DemoBench: enable emoji in the terminal when built with a JetBrains JRE. 2017-06-06 14:55:09 +02:00
Andrzej Cichocki
c2ab4cf26f Replace mapToArray with Streams-based code (#739)
and you can now do (1..10).stream()...
2017-06-06 11:02:26 +01:00
Andrzej Cichocki
101e96d8d7 Rename net to network (#773)
* So net no longer interferes with IntelliJ auto-import of net.* packages
* Use mockNet for MockNetwork to avoid clashing with Node network
2017-06-05 14:00:14 +01:00
Joel Dudley
e5fba5d0af Docsite reorg ahead of beta launch. 2017-06-05 13:37:23 +01:00
Andrzej Cichocki
51ea9fec1a IRS demo fixes (#782)
* Increase max network map request size so the notary can register
* Suppress oracle service installation errors in non-oracle nodes
* Make demos automatically build capsule jars
2017-06-02 16:23:05 +01:00
Andrzej Cichocki
c510e67ed5 Move ShutdownHook to node-api. (#770) 2017-06-02 15:32:20 +01:00
Katarzyna Streich
6104b107c0 Fix how network visualiser displays node X500 names. (#785)
* Fix how network visualiser displays node X500 names.

* Change locations of test nodes, so when used for explorer map visualisation not all of them are stacked one on another in London.
2017-06-02 14:51:40 +01:00
Ross Nicoll
e2214c95b4 Change PartyAndCertificate to an aggregate class (#778)
Change PartyAndCertificate to an aggregate class instead of a subclass of Party. This reduces the changes compared to M11, as well as avoiding risk of accidental serialization of a PartyAndCertificate (which may be very large) where a Party is expected.

Cleaned up initial nodes known to the identity service, in particular mock nodes now know about themselves; previously full nodes registered themselves but mock nodes did not.
2017-06-01 18:54:44 +01:00
Joel Dudley
f646936ab8 Updates TwoPartyTradeFlow to use the CollectSignaturesFlow. 2017-06-01 11:08:39 +01:00
Rick Parker
d3f027cea8 Custom serialiser support for AMQP (#741) 2017-05-31 18:33:57 +01:00
Andrzej Cichocki
4bd38d381a Fix tests that check ports are bound/unbound (#756)
* Specifically, DriverTests and WebserverDriverTests
* RPCDriver.startRpcBroker now waits for port to be unbound, as was probably intended
* Explicitly drop network map future while ensuring the error is logged
2017-05-31 17:12:25 +01:00
Katarzyna Streich
39fdb353ad Remove nearestCity from node configuration. (#721)
* Fix bug in demobench. Explorer didn't show correctly location of a node.
There was no nearestCity override in config.

* Remove nearestCity from node configuration. Now information about the location is always taken from
node's legal name. If not present - exception on node startup.

* Add X500Name.locationOrNull that soft fails when location is not in X500 name. Address PR comments.

* Remove unused imports.
2017-05-31 16:07:13 +01:00
Ross Nicoll
34eb5a3b70 Store certificate and path with well known identity (#726)
* Construct standard flows using PartyAndCertificate, and add support for launching
flows that are constructed with PartyAndCertificate or just Party.
* Store PartyAndCertificate in network map service
* Expand identity service to store certificates along with all identities.
2017-05-31 14:45:58 +01:00
Shams Asari
329e5ff17b Introducing InitiatedBy annotation to be used on initiated flows to simplify flow registration.
This removes the need to do manual registration using the PluginServiceHub. As a result CordaPluginRegistry.servicePlugins is no longer needed. For oracles and services there is a CorDappService annotation.

I've also fixed the InitiatingFlow annotation such that client flows can be customised (sub-typed) without it breaking the flow sessions.
2017-05-31 10:50:16 +01:00
Ross Nicoll
0e1e4042dc Add PartyAndCertificate class
Add PartyAndCertificate class for pairing proof of a party's identity with the party.
2017-05-31 09:45:40 +01:00
Ross Nicoll
b6dbd6bbb5 Add docs 2017-05-30 17:05:43 +01:00
Ross Nicoll
c003ec0042 Replace X509Certificate with X509CertificateHolder
Replace X509Certificate with X509CertificateHolder for consistency in implementation of how X.509 certificates
are managed. Using the Java standard class entails the actual implementing class being one of several options
depending how a certificate is built, which makes serialization/deserialization with Kryo inconsistent as some
of these forms cannot be directly built from outside restricted classes.
2017-05-30 17:05:43 +01:00
Ross Nicoll
a8d4dccea4 Infrastructure for confidential identities
* De-anonymise parties in AbstractStateReplacementFlow flows
* Convert transaction key negotiation to a subflow instead of utility functions
* Add serialization support for CertPath
* Restructure cash flows so that a counterparty flow can be added later
2017-05-26 10:00:57 +01:00
Chris Rankin
ea53bab7d7 Forbid internal classes from being serialised. (#655) 2017-05-25 17:18:51 +01:00
Konstantinos Chalkias
9f2b44f8f7 Rename Timestamp to TimeWindow (#706)
Rename Timestamp to TimeWindow + refactoring
2017-05-25 13:18:49 +01:00
Patrick Kuo
246de55433 Create client CA certificate with X509 name constraint (#731)
* The node will be issued a CA certificate with name constraint which will allow the node to create keys with a valid certificate chain.
2017-05-24 16:13:37 +01:00
Andrzej Cichocki
bbe4c170c2 BFT notary demo (#725)
* Rename raft-notary-demo project to notary-demo
* Refactor serialisation filtering to allow BFT SMaRt to work, it no longer relies on the jdk.serialFilter system property
* In NodeBasedTest remove whitespace in node directory names for consistency with cordform and driver
2017-05-24 12:25:06 +01:00
Ross Nicoll
36a091dd6a Add support for X509Certificate and CertPath serialization 2017-05-23 15:42:11 +01:00
Shams Asari
b8755ccdb2 Merge pull request #711 from corda/shams-retryableexception
Made RetryableExeption a FlowException and reverted UnknownFix to be …
2017-05-23 13:56:54 +01:00
Roger Willis
6f9cdb92c7 This function previously ALWAYS returned true providing the checkList wasn't empty. (#727) 2017-05-23 13:04:20 +01:00
Shams Asari
b8eb4448c8 Made RetryableExeption a FlowException and reverted UnknownFix to be retryable 2017-05-23 12:05:55 +01:00
Ross Nicoll
47d3415d20 X509Utilities API changes (#723)
* Add "TLS" to createTlsServerCert() to differentiate it from future work to introduce a non-TLS variant.
*Change to using Java 8 time types for certificate validity - does introduce so unnecessary roundtrips, but makes the code significantly easier to read/follow. In particular avoids opaque integers in the code and replaces them with Duration.
2017-05-22 14:57:22 +01:00
Konstantinos Chalkias
53276c1f06 faster key encoding/decoding and generic converters between key implementations 2017-05-22 11:14:05 +01:00