Commit Graph

168 Commits

Author SHA1 Message Date
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
Konstantinos Chalkias
9f2b44f8f7 Rename Timestamp to TimeWindow (#706)
Rename Timestamp to TimeWindow + refactoring
2017-05-25 13:18:49 +01:00
Matthew Nesbit
05a97b11f3 First cut at removing PrivateKey leakage from KeyManagementService
Fixup after rebase

Restore original key property names

Fixup after rebase

Undo extra import that IntelliJ keeps erroneously adding.

Add comments and fix docs for transaction signing.

Fixes after rebase

More fixes after rebase

Address PR requests

Address PR requests
2017-05-18 17:34:04 +01:00
Ross Nicoll
c13a99a2f9 Replaces keys and parties in states with AbstractParty
Switch to using AbstractParty as the standard identifier for parties in
states, so that full parties can be used during construction of
transactions and anonymised parties when the transaction is being added
to the ledger.
2017-05-16 12:07:14 +01:00
Shams Asari
48f58b6dbc Introducing StartableByRPC and SchedulableFlow annotations, needed by flows started via RPC and schedulable flows respectively.
CordaPluginRegistry.requiredFlows is no longer needed as a result.
2017-05-11 14:55:40 +01:00
Ross Nicoll
e4a0bc6e11 Move party classes into identity package
Move AbstractParty, AnonymousParty and Party into a new net.corda.core.identity package,
as they're not really cryptography tools, and in preparation for further code coming in
for identity.

Optimize imports on many files to clean up the resulting refactor.
2017-05-11 11:25:59 +01:00
Shams Asari
221bb81f84 Introducing InitiatingFlow annotation which has to be annotated by initiating flows.
This removes the need for the shareParentSessions parameter of FlowLogic.subFlow. It also has the flow's version number so FlowVersion is now no longer needed.
2017-05-08 20:19:45 +01:00
Ross Nicoll
25dbac0f07 Change party to hold an X.500 name
Change the legal name of parties to be an X500 name. This ensures that we aren't converting between
common names and X500 names in various places, eliminating substantial scope for error in the conversion
process. As a result, all node names must now be full X500 names, which has impact on most configurations.
2017-05-05 16:13:29 +01:00
Chris Rankin
e22ad19fcd Use assert methods from test framework. Don't use Java assert. (#625) 2017-05-03 17:32:30 +01:00
Matthew Nesbit
99bf98c0d8 Merge pull request #624 from corda/mnesbit-ServiceHub-refactor
Remove Messaging service from service hub
2017-05-03 16:04:23 +01:00
Ross Nicoll
e85ed639bb Clean up X500 names in Corda simulation
Clean up X500 names in Corda simulation, and ensure they're consistent with the standard test names.
This includes using the locations present in those test names, which requires updates to the node
config test.
2017-05-03 15:55:19 +01:00
Matthew Nesbit
7e8aa1d706 Remove Messaging service from service hub
Remove mention of MessagingService as being on ServiceHub.
2017-05-03 15:19:27 +01:00
Ross Nicoll
d65d63e4f6 Interim patch introducing X500Names
This is an intermediary step to introducing X500Names in all Party instances, which adds:

* Party constructor which accepts X500Name and then converts it to string.
* startNode() function which takes in X500Name instead of String
* Numerous legal name fixes to use full distinguished names
2017-05-03 10:46:03 +01:00
Chris Rankin
af36e0f731 Basic clean-up for demos, load-test and examples (#590)
* Fix RPC usage by marking unused Observables.
* Update Client RPC tutorial documentation to mention the importance of "notUsed" observables.
2017-04-26 11:01:09 +01:00
Shams Asari
913487cb32 Deprecated FlowLogic.getCounterpartyMarker as it's complicated and probably not used (replacement is to use sub-flows).
Also made flow registration require the client flow class rather than any old class.
2017-04-25 18:53:33 +01:00
Ross Nicoll
684d1089f0 Introduce full legal names for test parties
Use full names for test parties, ahead of complete X.500 name support.
2017-04-24 15:18:21 +01:00
Andrzej Cichocki
160d13b6f7 Prohibit Java deserialisation in the Corda process (#566) 2017-04-21 16:26:35 +01:00
Shams Asari
37dc6ead82 Improve robustness of the integration tests that commonly have false positives (Clinton) 2017-04-12 17:56:51 +01:00
Ross Nicoll
d35bd74596 Standardise identities used in tests, demos, etc.
Standaridise the identity names of Alice, Bob and Charlie, notary, map service, etc. in order
to ensure consistency across the code base and reduce number of places that have to be changed
to introduce proper X.500 names.

Move Alice, Bob & Charlie identities into the utilities package so they can be used in demos
2017-04-12 11:40:48 +01:00
gary-rowe
108f171e03 Replace 'by' with 'using' to avoid overloading Kotlin keyword in contracts DSL. Deprecates 'by' with offered replacement. 2017-04-12 12:27:02 +02:00
kasiastreich
36d5d0d7b2 Refactor of CompositeKeys to implement PublicKey interface. (#433)
* Make CompositeKey implement PublicKey

The initial implementation of composite keys as their own distinct class separate from PublicKey
means that the keys cannot be used on standard classes such as Certificate. This work is a beginning
to modifying CompositeKey to being a PublicKey implementation, although significant further work
is required to integrate this properly with the standard Java APIs, especially around verifying
signatures using the new key type.

* First stage of making CompositeKey implement PublicKey interface. Revert to using PublicKey everywhere we expect a key.

* Move algorithm and format into companion object (#432)

Move algorithm and format into companion object so that they can be referenced from other
classes (i.e. the upcoming signature class).

* Add simple invariants to construction of CompositeKey.
Builder emits CompositeKeys in simplified normalised form. Forbid keys with single child node, force ordering on children and forbid duplicates on the same level. It's not full semantical normalisation.

* Make constructor of CompositeKey private, move NodeWeight inside the class.
Add utility function for Kryo deserialization to read list with length constraints.
2017-04-12 11:13:20 +01:00
Mike Hearn
c097229935 Minor: run code cleanup inspections 2017-04-11 15:53:05 +02:00
Mike Hearn
9948815df1 Minor: auto-format of module: samples 2017-04-11 15:53:05 +02:00
Chris Rankin
f15a22d828 Replace kotlinx-support-jdk8 with kotlin-stdlib-jre8. (#463)
* Replace kotlinx-support-jdk8 with kotlin-stdlib-jre8.
* Add kotlinVersion to constants.properties.

* Remove unused variable.
2017-03-30 16:27:01 +01:00
Patrick Kuo
dc06d37369 Intellij bug workaround (#434)
* Workaround for `"bound callable references" is only available since language version 1.1` when using kotlin 1.1.1 plugin.
2017-03-27 15:12:01 +01:00
Shams Asari
f581844f3f Flow registration takes in a Class object rather than a KClass 2017-03-15 16:32:13 +00:00
Konstantinos Chalkias
195d69d0dc Print to screen and log basic info (#356)
Adding an extra logger to printBasicNodeInfo in both console and log file, respectively. Also, node's legal name is now printed to console as well.
2017-03-15 16:18:24 +00:00
Rick Parker
c4c4c51d7d Kryo serialisation whitelisting and misc enhancements. (#267)
Kryo serialisation whitelisting and misc enhancements
2017-02-28 08:12:18 +00:00
Ross Nicoll
ed093cdb9d Enforce separation of Party and AnonymousParty 2017-02-16 11:50:33 +00:00
Ross Nicoll
71babc7019 Remove use of full parties from contract states 2017-02-15 11:43:13 +00:00
Shams Asari
40dde555e7 Added --logging-level cmd line arg to set the logging level, and improved flow logging 2017-02-14 09:56:50 +00:00
Patrick Kuo
c054ffe719 Add support for contract upgrades (#165)
* Add support for contract upgrades
* Add interface for the upgraded contract to implement, which provides functionality for upgrading legacy states.
* Add shared upgrade command and verification code for it.
* Add DummyContractV2 to illustrate what an upgraded contract looks like.
* Add new functions to vault service to support upgrading state objects.
* Add contract upgrade flow
2017-02-09 17:14:31 +00:00
Shams Asari
657cfa5d96 FlowException can be thrown from within UntrustworthyData.unwrap for better Java interop, and more checked exception annotations relating to flows 2017-02-06 16:00:52 +00:00
Shams Asari
b86c80691e FlowException serialised over RPC (subtypes are flattened), and improvement to startFlow RPC for correct exception handling 2017-02-03 11:21:10 +00:00
Ross Nicoll
3499e06e27 Correct typo - "countryparty" to "counterparty" 2017-02-02 14:08:38 +00:00
Ross Nicoll
2f9af7d7dc Revert Party.Full in preference for a less invasive change 2017-02-02 13:47:32 +00:00
Ross Nicoll
1b86ddfd6e Replace Party with Party.Full
Replace Party with Party.Full as an interim step to introducing the Party.Anonymised class.

Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-02-01 15:18:12 +00:00
Clinton
d376a902ad Merge pull request #180 from corda/clint-webserversplit
Split webserver from node
2017-02-01 12:13:31 +00:00
Shams Asari
646ce8afe0 FlowException thrown by a flow is propagated to all counterparties 2017-01-31 13:30:33 +00:00
Clinton Alexander
537ffae113 Moved file uploading to RPC interface. 2017-01-27 14:13:58 +00:00
Ross Nicoll
2efd44d46b Clean up semantics of composite clauses
This deprecates the existing composition clauses and adds new better named versions,
as well as changing 'AnyOf' to require at least one matching subclase (better matching
the name of the clause).
2017-01-17 11:34:21 +00:00
Shams Asari
59456cb6b1 Added a method to NodeHandle to simplify using RPC in the Driver 2017-01-06 14:14:32 +00:00
kasiastreich
ee99d7e9d0 Simm demo fix (#122)
* Update main to match nodes in deployNodes configuration (no Bank C).

* Update simm-valuation-demo documentation and comments.
2017-01-06 13:50:18 +00:00
Clinton Alexander
3c2610613f Integration test uses better naming sceme. Json support module cleaned up to use Kotlin features. 2016-12-19 16:26:54 +00:00
Clinton Alexander
00a44c5fbd SIMM valuation test now verifies the trade more robustly by checking trade ID. 2016-12-19 16:13:37 +00:00
Clinton Alexander
7d591e9cba Improved readability of the simm integration test 2016-12-19 15:25:13 +00:00
Clinton Alexander
9f9fa1de1c Removed the JSON closure and replaced with a more Kotlin native solution to generating arbitrary JSON with Jackson. 2016-12-19 14:35:47 +00:00
Clinton Alexander
008fcf50fd Added more type information to various API endpoints to make it possible to test. Integration test passes. 2016-12-16 14:47:29 +00:00
Clinton Alexander
d1c9cabd18 Added a trade to the test. 2016-12-16 12:11:26 +00:00
Clinton Alexander
6be21c7da4 Added test contents with a couple of todos. 2016-12-16 12:11:26 +00:00
Clinton Alexander
2334824a73 Added skeleton for the SIMM integration test. 2016-12-16 12:11:26 +00:00
Andras Slemmer
0e54766b87 Fix simm-valuation-demo's kryo 2016-12-14 17:58:23 +00:00
Andras Slemmer
a7c079967c Fix simm-valuation-demo's kryo 2016-12-14 16:28:55 +00:00
Andras Slemmer
a601f0abf5 Local RPC, demos use RPC, NODE has special privileges 2016-12-08 11:58:31 +00:00
Mike Hearn
7b40be8361 Run the IntelliJ reformatter across the Kotlin code. Did not reformat JS/web code. 2016-11-30 14:40:34 +00:00
Clinton Alexander
531e04235b Disabled options that do not have a valid curve against them to avoid demo entering an invalid state. 2016-11-29 10:15:59 +00:00
Clinton Alexander
c0a2f0a81f Improved SIMM demo readme and removed references to Vega. 2016-11-29 10:01:36 +00:00
Mike Hearn
7b2eb651be Suppress or fix the few remaining compiler warnings 2016-11-28 14:04:30 +00:00
Mike Hearn
1cc688561d Minor: fix running-the-demos port numbers. 2016-11-23 13:07:49 +01:00
Richard Green
1f148cfc95 Merged in rg_fix_simmm_crash_in_valuation (pull request #530)
Fixes bug when valuation run on only one trade in the portfolio
2016-11-22 17:25:20 +00:00
rick.parker
f68529d1fd Rename protocol to flow. 2016-11-22 17:17:14 +00:00
Richard Green
a4771687aa Fixes bug when valuation run on only one trade in the portfolio 2016-11-22 16:52:11 +00:00
Richard Green
1c4dfbe6dc Fixes bug when valuation run on only one trade in the portfolio 2016-11-22 16:41:30 +00:00
Andrius Dagys
64299591c3 Rename PublicKeyTree -> CompositeKey and unify terminology across documentation. 2016-11-21 14:47:19 +00:00
rick.parker
cd98b559bf Move jolokia access config to the config directories, alongside log4j2.xml file. Point samples at top level dev and test config. 2016-11-18 11:11:54 +00:00
Mike Hearn
f630e15528 Fix build 2016-11-17 16:33:06 +01:00
Mike Hearn
90b083926f Reimport samples to main repo 2016-11-17 15:51:28 +01:00