From db62572d004d5784125bf9f58dc86f5b7bdb0e0e Mon Sep 17 00:00:00 2001 From: 7Dhruv <138032398+7Dhruv@users.noreply.github.com> Date: Wed, 23 Aug 2023 09:05:54 +0100 Subject: [PATCH] Core-15548 C5 negotiation sample app (#19) * Corda 5 Negotiation app * Corda 5 Negotiation app * Added app diagrams, Refactored class names, added comments * Added app diagrams, Refactored class names, added comments * Added app diagrams, Refactored class names, added comments * - Refactored and reformatted classes - reformatted files for readability - Created a finalize sub flow class to be used by all the main flows - created local string variables for messages * Delete README.md Deleting because of duplication * Delete CreateAssetFlow.java Deleting because of duplication * Delete README.md deleted because it was not intended for commit. --- .../.ci/Jenkinsfile | 10 + .../.ci/nightly/JenkinsfileSnykScan | 6 + .../corda5-negotiation-cordapp/.gitignore | 86 ++++++ .../runConfigurations/DebugCorDapp.run.xml | 15 ++ java-samples/corda5-negotiation-cordapp/.snyk | 14 + .../corda5-negotiation-cordapp/README.md | 125 +++++++++ .../corda5-negotiation-cordapp/build.gradle | 67 +++++ .../config/gradle-plugin-default-key.pem | 13 + .../config/log4j2.xml | 51 ++++ .../config/r3-ca-key.pem | 32 +++ .../config/static-network-config.json | 23 ++ .../contracts/build.gradle | 88 +++++++ .../samples/negotiation/Proposal.java | 72 ++++++ .../negotiation/ProposalAndTradeContract.java | 133 ++++++++++ .../developers/samples/negotiation/Trade.java | 63 +++++ .../samples/negotiation/util/Member.java | 50 ++++ .../gradle.properties | 42 +++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 61574 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + .../corda5-negotiation-cordapp/gradlew | 244 ++++++++++++++++++ .../corda5-negotiation-cordapp/gradlew.bat | 92 +++++++ .../negotiation-design-diagram.png | Bin 0 -> 296273 bytes .../negotiation-sequence-diagram.png | Bin 0 -> 120844 bytes .../settings.gradle | 26 ++ .../workflows/build.gradle | 80 ++++++ .../workflows/accept/AcceptFlowArgs.java | 24 ++ .../workflows/accept/AcceptFlowRequest.java | 96 +++++++ .../workflows/modify/ModifyFlowArgs.java | 29 +++ .../workflows/modify/ModifyFlowRequest.java | 103 ++++++++ .../workflows/propose/ProposalFlowArgs.java | 35 +++ .../propose/ProposalFlowRequest.java | 102 ++++++++ .../workflows/util/FInalizeFlow.java | 99 +++++++ .../workflows/util/ListProposal.java | 46 ++++ .../workflows/util/ListProposalArgs.java | 51 ++++ .../corda5-obligation-cordapp/README.md | 89 ------- .../workflows/CreateAssetFlow.java | 81 ------ 36 files changed, 1923 insertions(+), 170 deletions(-) create mode 100644 java-samples/corda5-negotiation-cordapp/.ci/Jenkinsfile create mode 100644 java-samples/corda5-negotiation-cordapp/.ci/nightly/JenkinsfileSnykScan create mode 100644 java-samples/corda5-negotiation-cordapp/.gitignore create mode 100644 java-samples/corda5-negotiation-cordapp/.run/runConfigurations/DebugCorDapp.run.xml create mode 100644 java-samples/corda5-negotiation-cordapp/.snyk create mode 100644 java-samples/corda5-negotiation-cordapp/README.md create mode 100644 java-samples/corda5-negotiation-cordapp/build.gradle create mode 100644 java-samples/corda5-negotiation-cordapp/config/gradle-plugin-default-key.pem create mode 100644 java-samples/corda5-negotiation-cordapp/config/log4j2.xml create mode 100644 java-samples/corda5-negotiation-cordapp/config/r3-ca-key.pem create mode 100644 java-samples/corda5-negotiation-cordapp/config/static-network-config.json create mode 100644 java-samples/corda5-negotiation-cordapp/contracts/build.gradle create mode 100644 java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/Proposal.java create mode 100644 java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/ProposalAndTradeContract.java create mode 100644 java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/Trade.java create mode 100644 java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/util/Member.java create mode 100644 java-samples/corda5-negotiation-cordapp/gradle.properties create mode 100644 java-samples/corda5-negotiation-cordapp/gradle/wrapper/gradle-wrapper.jar create mode 100644 java-samples/corda5-negotiation-cordapp/gradle/wrapper/gradle-wrapper.properties create mode 100644 java-samples/corda5-negotiation-cordapp/gradlew create mode 100644 java-samples/corda5-negotiation-cordapp/gradlew.bat create mode 100644 java-samples/corda5-negotiation-cordapp/negotiation-design-diagram.png create mode 100644 java-samples/corda5-negotiation-cordapp/negotiation-sequence-diagram.png create mode 100644 java-samples/corda5-negotiation-cordapp/settings.gradle create mode 100644 java-samples/corda5-negotiation-cordapp/workflows/build.gradle create mode 100644 java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/accept/AcceptFlowArgs.java create mode 100644 java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/accept/AcceptFlowRequest.java create mode 100644 java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/modify/ModifyFlowArgs.java create mode 100644 java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/modify/ModifyFlowRequest.java create mode 100644 java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/propose/ProposalFlowArgs.java create mode 100644 java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/propose/ProposalFlowRequest.java create mode 100644 java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/FInalizeFlow.java create mode 100644 java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/ListProposal.java create mode 100644 java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/ListProposalArgs.java delete mode 100644 java-samples/corda5-obligation-cordapp/README.md delete mode 100644 java-samples/encumbrance-pawn-shop/workflows/src/main/java/com/r3/developers/samples/encumbrance/workflows/CreateAssetFlow.java diff --git a/java-samples/corda5-negotiation-cordapp/.ci/Jenkinsfile b/java-samples/corda5-negotiation-cordapp/.ci/Jenkinsfile new file mode 100644 index 0000000..f926354 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/.ci/Jenkinsfile @@ -0,0 +1,10 @@ +@Library('corda-shared-build-pipeline-steps@5.0') _ + +cordaPipeline( + nexusAppId: 'com.corda.CSDE-Java.5.0', + publishRepoPrefix: '', + slimBuild: true, + runUnitTests: false, + dedicatedJobForSnykDelta: false, + slackChannel: '#corda-corda5-dev-ex-build-notifications' + ) diff --git a/java-samples/corda5-negotiation-cordapp/.ci/nightly/JenkinsfileSnykScan b/java-samples/corda5-negotiation-cordapp/.ci/nightly/JenkinsfileSnykScan new file mode 100644 index 0000000..fc2b1ee --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/.ci/nightly/JenkinsfileSnykScan @@ -0,0 +1,6 @@ +@Library('corda-shared-build-pipeline-steps@5.0') _ + +cordaSnykScanPipeline ( + snykTokenId: 'r3-snyk-corda5', + snykAdditionalCommands: "--all-sub-projects -d" +) diff --git a/java-samples/corda5-negotiation-cordapp/.gitignore b/java-samples/corda5-negotiation-cordapp/.gitignore new file mode 100644 index 0000000..d2879c4 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/.gitignore @@ -0,0 +1,86 @@ + +# Eclipse, ctags, Mac metadata, log files +.classpath +.project +.settings +tags +.DS_Store +*.log +*.orig + +# Created by .ignore support plugin (hsz.mobi) + +.gradle +local.properties +.gradletasknamecache + +# General build files +**/build/* + +lib/quasar.jar + +**/logs/* + +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio + +*.iml + +## Directory-based project format: +.idea/*.xml +.idea/.name +.idea/copyright +.idea/inspectionProfiles +.idea/libraries +.idea/shelf +.idea/dataSources +.idea/markdown-navigator +.idea/runConfigurations +.idea/dictionaries + + +# Include the -parameters compiler option by default in IntelliJ required for serialization. +!.idea/codeStyleSettings.xml + + +## File-based project format: +*.ipr +*.iws + +## Plugin-specific files: + +# IntelliJ +**/out/ +/classes/ + + + +# vim +*.swp +*.swn +*.swo + + + +# Directory generated during Resolve and TestOSGi gradle tasks +bnd/ + +# Ignore Gradle build output directory +build +/.idea/codeStyles/codeStyleConfig.xml +/.idea/codeStyles/Project.xml + + + +# Ignore Visual studio directory +bin/ + + + +*.cpi +*.cpb +*.cpk +workspace/** + +# ingore temporary data files +*.dat \ No newline at end of file diff --git a/java-samples/corda5-negotiation-cordapp/.run/runConfigurations/DebugCorDapp.run.xml b/java-samples/corda5-negotiation-cordapp/.run/runConfigurations/DebugCorDapp.run.xml new file mode 100644 index 0000000..1d8da82 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/.run/runConfigurations/DebugCorDapp.run.xml @@ -0,0 +1,15 @@ + + + + \ No newline at end of file diff --git a/java-samples/corda5-negotiation-cordapp/.snyk b/java-samples/corda5-negotiation-cordapp/.snyk new file mode 100644 index 0000000..c04521f --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/.snyk @@ -0,0 +1,14 @@ +# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities. +version: v1.25.0 +# ignores vulnerabilities until expiry date; change duration by modifying expiry date +ignore: + SNYK-JAVA-ORGJETBRAINSKOTLIN-2393744: + - '*': + reason: >- + This vulnerability relates to information exposure via creation of + temporary files (via Kotlin functions) with insecure permissions. + Corda does not use any of the vulnerable functions so it is not + susceptible to this vulnerability + expires: 2023-10-19T17:15:26.836Z + created: 2023-02-02T17:15:26.839Z +patch: {} diff --git a/java-samples/corda5-negotiation-cordapp/README.md b/java-samples/corda5-negotiation-cordapp/README.md new file mode 100644 index 0000000..4541221 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/README.md @@ -0,0 +1,125 @@ +# Negotiation Cordapp + +This CorDapp shows how multi-party negotiation is handled on the Corda ledger, in the absence of an API for user +interaction. + +## Concepts + +A flow is provided that allows a node to propose a trade to a counterparty. The counterparty has two options: + +* Accepting the proposal, converting the `ProposalState` into a `TradeState` with identical attributes +* Modifying the proposal, consuming the existing `ProposalState` and replacing it with a new `ProposalState` for a new + amount + +Only the recipient of the proposal has the ability to accept it or modify it. If the sender of the proposal tries to +accept or modify the proposal, this attempt will be rejected automatically at the flow level. + +### Flows + +We start with the proposal flow implemented in `ProposalFlow.java`. + + +The modification of the proposal is implemented in `ModificationFlow.java`. + + +In the `AcceptanceFlow.java`, we receive the modified ProposalState and it's converted into a TradeState. + + + +### Setting up + +1. We will begin our test deployment with clicking the `startCorda`. This task will load up the combined Corda workers in docker. + A successful deployment will allow you to open the REST APIs at: https://localhost:8888/api/v1/swagger#. You can test out some + functions to check connectivity. (GET /cpi function call should return an empty list as for now.) +2. We will now deploy the cordapp with a click of `5-vNodeSetup` task. Upon successful deployment of the CPI, the GET /cpi function call should now return the meta data of the cpi you just upload. + + + +### Running the app + +In Corda 5, flows will be triggered via `POST /flow/{holdingidentityshorthash}` and flow result will need to be view at `GET /flow/{holdingidentityshorthash}/{clientrequestid}` +* holdingidentityshorthash: the id of the network participants, ie Bob, Alice, Charlie. You can view all the short hashes of the network member with another gradle task called `ListVNodes` +* clientrequestid: the id you specify in the flow requestBody when you trigger a flow. + +#### Step 1: Create ProposalState between two parties +Pick a VNode identity to initiate the Proposal creation, and get its short hash. (Let's pick Alice.). + +Go to `POST /flow/{holdingidentityshorthash}`, enter the identity short hash(Alice's hash) and request body: +``` +{ + "clientRequestId": "createProposal", + "flowClassName": "com.r3.developers.samples.negotiation.workflows.propose.ProposalFlowRequest", + "requestBody": { + "amount": 20, + "counterParty":"CN=Bob, OU=Test Dept, O=R3, L=London, C=GB" + } +} +``` +After trigger the create-ProposalFlow, hop to `GET /flow/{holdingidentityshorthash}/{clientrequestid}` and enter the short hash(Alice's hash) and client request id ("createProposal" in the case above) to view the flow result. + + +#### Step 2: List created Proposal state +In order to continue the app logics, we would need the Proposal ID. This step will bring out all the Proposal this entity (Alice) has. +Go to `POST /flow/{holdingidentityshorthash}`, enter the identity short hash(Alice's hash) and request body: +``` +{ + "clientRequestId": "list-1", + "flowClassName": "com.r3.developers.samples.negotiation.workflows.util.ListProposal", + "requestBody": {} +} +``` +After trigger the List Proposal, hop to `GET /flow/{holdingidentityshorthash}/{clientrequestid}` and enter the short hash(Alice's hash) and client request id ("list-1" in the case above) to view the flow result. + + +#### Step 3: Modify the proposal +In order to continue the app logics, we would need the Proposal ID. This step will bring out the Proposal entries this entity (Alice) has. Bob can edit the proposal if required by entering the new amount. +Go to `POST /flow/{holdingidentityshorthash}`, enter the identity short hash(Bob hash) and request body: +``` +{ + "clientRequestId": "ModifyFlow", + "flowClassName": "com.r3.developers.samples.negotiation.workflows.modify.ModifyFlowRequest", + "requestBody": { + "newAmount": 22, + "proposalID": "" + } +} +``` +After triggering the modify flow we need to hop to `GET /flow/{holdingidentityshorthash}/{clientrequestid}` and check the result. Enter bob's hash id and the modify flow id which is "ModifyFlow" in the case above. + + +#### Step 4: Accept the new proposal from bob `AcceptFlow` +In this step, alice will accept the new proposal of Bob. +Goto `POST /flow/{holdingidentityshorthash}`, enter the identity short hash (of Alice) and request body, we also need to provide the proposalId, which is same as the proposal ID used in modifyFlow body. +``` +{ + "clientRequestId": "AcceptFlow", + "flowClassName": "com.r3.developers.samples.negotiation.workflows.accept.AcceptFlowRequest", + "requestBody": { + "proposalID": "" + } +} +``` +And as for the result of this flow, go to `GET /flow/{holdingidentityshorthash}/{clientrequestid}` and enter the required fields. + +Thus, we have concluded a full run through of the Negotiation app. + +### App Diagrams +Below are the app diagrams which are useful for the visual understanding. + +#### Dynamic Diagram + + +![img_2.png](negotiation-sequence-diagram.png) + + + + + +#### Static Diagram + +![img.png](negotiation-design-diagram.png) + + + + + diff --git a/java-samples/corda5-negotiation-cordapp/build.gradle b/java-samples/corda5-negotiation-cordapp/build.gradle new file mode 100644 index 0000000..3fa6225 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/build.gradle @@ -0,0 +1,67 @@ +import static org.gradle.api.JavaVersion.VERSION_11 + +plugins { + id 'org.jetbrains.kotlin.jvm' + id 'net.corda.cordapp.cordapp-configuration' + id 'org.jetbrains.kotlin.plugin.jpa' + id 'java' + id 'maven-publish' + id 'net.corda.plugins.csde' +} + +allprojects { + group 'net.corda.samples' + version '1.0-SNAPSHOT' + + def javaVersion = VERSION_11 + + // Configure the CSDE + csde { + cordaClusterURL = "https://localhost:8888" + networkConfigFile = "config/static-network-config.json" + r3RootCertFile = "config/r3-ca-key.pem" + corDappCpiName = "MyCorDapp" + notaryCpiName = "NotaryServer" + cordaRpcUser = "admin" + cordaRpcPasswd ="admin" + workflowsModuleName = workflowsModule + csdeWorkspaceDir = "workspace" + notaryVersion = cordaNotaryPluginsVersion + combinedWorkerVersion = combinedWorkerJarVersion + postgresJdbcVersion = "42.4.3" + cordaDbContainerName = "CSDEpostgresql" + cordaBinDir = "${System.getProperty("user.home")}/.corda/corda5" + cordaCliBinDir = "${System.getProperty("user.home")}/.corda/cli" + } + + // Declare the set of Java compiler options we need to build a CorDapp. + tasks.withType(JavaCompile) { + // -parameters - Needed for reflection and serialization to work correctly. + options.compilerArgs += [ + "-parameters" + ] + } + + repositories { + // All dependencies are held in Maven Central + mavenLocal() + mavenCentral() + } + + tasks.withType(Test).configureEach { + useJUnitPlatform() + } + +} + +publishing { + publications { + maven(MavenPublication) { + artifactId "corda5-negotiation-cordapp" + groupId project.group + artifact jar + } + + } +} + diff --git a/java-samples/corda5-negotiation-cordapp/config/gradle-plugin-default-key.pem b/java-samples/corda5-negotiation-cordapp/config/gradle-plugin-default-key.pem new file mode 100644 index 0000000..5294bbd --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/config/gradle-plugin-default-key.pem @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB7zCCAZOgAwIBAgIEFyV7dzAMBggqhkjOPQQDAgUAMFsxCzAJBgNVBAYTAkdC +MQ8wDQYDVQQHDAZMb25kb24xDjAMBgNVBAoMBUNvcmRhMQswCQYDVQQLDAJSMzEe +MBwGA1UEAwwVQ29yZGEgRGV2IENvZGUgU2lnbmVyMB4XDTIwMDYyNTE4NTI1NFoX +DTMwMDYyMzE4NTI1NFowWzELMAkGA1UEBhMCR0IxDzANBgNVBAcTBkxvbmRvbjEO +MAwGA1UEChMFQ29yZGExCzAJBgNVBAsTAlIzMR4wHAYDVQQDExVDb3JkYSBEZXYg +Q29kZSBTaWduZXIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQDjSJtzQ+ldDFt +pHiqdSJebOGPZcvZbmC/PIJRsZZUF1bl3PfMqyG3EmAe0CeFAfLzPQtf2qTAnmJj +lGTkkQhxo0MwQTATBgNVHSUEDDAKBggrBgEFBQcDAzALBgNVHQ8EBAMCB4AwHQYD +VR0OBBYEFLMkL2nlYRLvgZZq7GIIqbe4df4pMAwGCCqGSM49BAMCBQADSAAwRQIh +ALB0ipx6EplT1fbUKqgc7rjH+pV1RQ4oKF+TkfjPdxnAAiArBdAI15uI70wf+xlL +zU+Rc5yMtcOY4/moZUq36r0Ilg== +-----END CERTIFICATE----- \ No newline at end of file diff --git a/java-samples/corda5-negotiation-cordapp/config/log4j2.xml b/java-samples/corda5-negotiation-cordapp/config/log4j2.xml new file mode 100644 index 0000000..909222c --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/config/log4j2.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/java-samples/corda5-negotiation-cordapp/config/r3-ca-key.pem b/java-samples/corda5-negotiation-cordapp/config/r3-ca-key.pem new file mode 100644 index 0000000..a803613 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/config/r3-ca-key.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg +RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y +ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If +xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV +ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO +DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ +jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ +CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi +EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM +fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY +uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK +chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t +9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 +SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd ++SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc +fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa +sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N +cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N +0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie +4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI +r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 +/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm +gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ +-----END CERTIFICATE----- \ No newline at end of file diff --git a/java-samples/corda5-negotiation-cordapp/config/static-network-config.json b/java-samples/corda5-negotiation-cordapp/config/static-network-config.json new file mode 100644 index 0000000..b0f2519 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/config/static-network-config.json @@ -0,0 +1,23 @@ +[ + { + "x500Name" : "CN=Alice, OU=Test Dept, O=R3, L=London, C=GB", + "cpi" : "MyCorDapp" + }, + { + "x500Name" : "CN=Bob, OU=Test Dept, O=R3, L=London, C=GB", + "cpi" : "MyCorDapp" + }, + { + "x500Name" : "CN=Charlie, OU=Test Dept, O=R3, L=London, C=GB", + "cpi" : "MyCorDapp" + }, + { + "x500Name" : "CN=Dave, OU=Test Dept, O=R3, L=London, C=GB", + "cpi" : "MyCorDapp" + }, + { + "x500Name" : "CN=NotaryRep1, OU=Test Dept, O=R3, L=London, C=GB", + "cpi" : "NotaryServer", + "serviceX500Name": "CN=NotaryService, OU=Test Dept, O=R3, L=London, C=GB" + } +] diff --git a/java-samples/corda5-negotiation-cordapp/contracts/build.gradle b/java-samples/corda5-negotiation-cordapp/contracts/build.gradle new file mode 100644 index 0000000..52ca6f0 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/contracts/build.gradle @@ -0,0 +1,88 @@ + +plugins { + // Include the cordapp-cpb plugin. This automatically includes the cordapp-cpk plugin as well. + // These extend existing build environment so that CPB and CPK files can be built. + // This includes a CorDapp DSL that allows the developer to supply metadata for the CorDapp + // required by Corda. + id 'net.corda.plugins.cordapp-cpb2' + id 'org.jetbrains.kotlin.jvm' + id 'maven-publish' +} + +// Declare dependencies for the modules we will use. +// A cordaProvided declaration is required for anything that we use that the Corda API provides. +// This is required to allow us to build CorDapp modules as OSGi bundles that CPI and CPB files are built on. +dependencies { + + cordaProvided 'org.jetbrains.kotlin:kotlin-osgi-bundle' + + // Declare a "platform" so that we use the correct set of dependency versions for the version of the + // Corda API specified. + cordaProvided platform("net.corda:corda-api:$cordaApiVersion") + + // If using transistive dependencies this will provide most of Corda-API: + // cordaProvided 'net.corda:corda-application' + + // Alternatively we can explicitly specify all our Corda-API dependencies: + cordaProvided 'net.corda:corda-base' + cordaProvided 'net.corda:corda-application' + cordaProvided 'net.corda:corda-crypto' + cordaProvided 'net.corda:corda-membership' + // cordaProvided 'net.corda:corda-persistence' + cordaProvided 'net.corda:corda-serialization' + cordaProvided 'net.corda:corda-ledger-utxo' + cordaProvided 'net.corda:corda-ledger-consensual' + + // CorDapps that use the UTXO ledger must include at least one notary client plugin + cordapp "com.r3.corda.notary.plugin.nonvalidating:notary-plugin-non-validating-client:$cordaNotaryPluginsVersion" + + // The CorDapp uses the slf4j logging framework. Corda-API provides this so we need a 'cordaProvided' declaration. + cordaProvided 'org.slf4j:slf4j-api' + + // This are shared so should be here. + // Dependencies Required By Test Tooling + // Todo: these are commented out as the simulator UTXO work has not been merged into Gecko yet. +// testImplementation "net.corda:corda-simulator-api:$simulatorVersion" +// testRuntimeOnly "net.corda:corda-simulator-runtime:$simulatorVersion" + + // 3rd party libraries + // Required + testImplementation "org.slf4j:slf4j-simple:2.0.0" + testImplementation "org.junit.jupiter:junit-jupiter:$junitVersion" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion" + + // Optional but used by exmaple tests. + testImplementation "org.mockito:mockito-core:$mockitoVersion" + testImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoKotlinVersion" + testImplementation "org.hamcrest:hamcrest-library:$hamcrestVersion" +} + +// The CordApp section. +// This is part of the DSL provided by the corda plugins to define metadata for our CorDapp. +// Each component of the CorDapp would get its own CorDapp section in the build.gradle file for the component’s +// subproject. +// This is required by the corda plugins to build the CorDapp. +cordapp { + // "targetPlatformVersion" and "minimumPlatformVersion" are intended to specify the preferred + // and earliest versions of the Corda platform that the CorDapp will run on respectively. + // Enforced versioning has not implemented yet so we need to pass in a dummy value for now. + // The platform version will correspond to and be roughly equivalent to the Corda API version. + targetPlatformVersion = platformVersion.toInteger() + minimumPlatformVersion = platformVersion.toInteger() + + // The cordapp section contains either a workflow or contract subsection depending on the type of component. + // Declares the type and metadata of the CPK (this CPB has one CPK). + contract { + name "ContractsModuleNameHere" + versionId 1 + vendor "VendorNameHere" + } +} + +publishing { + publications { + maven(MavenPublication) { + from components.cordapp + } + } +} diff --git a/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/Proposal.java b/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/Proposal.java new file mode 100644 index 0000000..281ed43 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/Proposal.java @@ -0,0 +1,72 @@ +package com.r3.developers.samples.negotiation; + +import com.r3.developers.samples.negotiation.util.Member; +import net.corda.v5.base.annotations.ConstructorForDeserialization; +import net.corda.v5.ledger.utxo.BelongsToContract; +import net.corda.v5.ledger.utxo.ContractState; +import org.jetbrains.annotations.NotNull; + +import java.security.PublicKey; +import java.util.List; +import java.util.UUID; + +@BelongsToContract(ProposalAndTradeContract.class) +public class Proposal implements ContractState { + + private final int amount; + private final Member buyer; + private final Member seller; + private final Member proposer; + private final Member proposee; + private final UUID proposalID; + + @ConstructorForDeserialization + public Proposal(int amount, Member buyer, Member seller, Member proposer, Member proposee, UUID proposalID) { + this.amount = amount; + this.buyer = buyer; + this.seller = seller; + this.proposee = proposee; + this.proposer = proposer; + this.proposalID = proposalID; + } + + public Proposal(int amount, Member buyer, Member seller, Member proposer, Member proposee) { + this.amount = amount; + this.buyer = buyer; + this.seller = seller; + this.proposee = proposee; + this.proposer = proposer; + this.proposalID = UUID.randomUUID(); + } + + public int getAmount() { + return amount; + } + + public Member getSeller() { + return seller; + } + + public Member getBuyer() { + return buyer; + } + + public Member getProposer() { + return proposer; + } + + public Member getProposee() { + return proposee; + } + + public UUID getProposalID() { + return proposalID; + } + + @NotNull + @Override + public List getParticipants() { + return List.of(proposer.getLedgerKey(), proposee.getLedgerKey()); + } +} + diff --git a/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/ProposalAndTradeContract.java b/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/ProposalAndTradeContract.java new file mode 100644 index 0000000..9ce0cd7 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/ProposalAndTradeContract.java @@ -0,0 +1,133 @@ +package com.r3.developers.samples.negotiation; + +import net.corda.v5.base.exceptions.CordaRuntimeException; +import net.corda.v5.ledger.utxo.Command; +import net.corda.v5.ledger.utxo.Contract; +import net.corda.v5.ledger.utxo.transaction.UtxoLedgerTransaction; + +import java.util.Objects; + + +public class ProposalAndTradeContract implements Contract { + + @Override + public void verify(UtxoLedgerTransaction transaction) { + String commandErrorMsg = "Expected a single command of type NegotiationCommand."; + + // Extract the command from the transaction + // Verify the transaction according to the intention of the transaction + final NegotiationCommands command = (NegotiationCommands) transaction.getCommands().get(0); + if (command != null) { + command.verify(transaction); + } else { + throw new IllegalArgumentException(commandErrorMsg); + } + } + + public interface NegotiationCommands extends Command { + void verify(UtxoLedgerTransaction transaction); + } + + //class to verify the inputs for propose command + public static class Propose implements NegotiationCommands { + + String noInputsMsg = "There are no inputs"; + String oneOutputMsg = "Only one output state should be created."; + String outputTypeMsg = "The single output is of type ProposalState"; + String commandMsg = "There is exactly one command"; + String buyerMsg = "The buyer are the proposer"; + String sellerMsg = "The seller are the proposee"; + String proposerMsg = "The proposer is a required signer"; + String proposeeMsg = "The proposee is a required signer"; + + @Override + public void verify(UtxoLedgerTransaction transaction) { + Proposal proposalStateOutput = transaction.getOutputStates(Proposal.class).get(0); + + require(transaction.getInputStateAndRefs().isEmpty(), noInputsMsg); + require(transaction.getOutputTransactionStates().size() == 1, oneOutputMsg); + require(transaction.getOutputStates(Proposal.class).size() == 1, outputTypeMsg); + require(transaction.getCommands().size() == 1, commandMsg); + require(Objects.equals(proposalStateOutput.getProposer().toString(), proposalStateOutput.getBuyer().toString()), buyerMsg); + require(Objects.equals(proposalStateOutput.getProposee().toString(), proposalStateOutput.getSeller().toString()), sellerMsg); + require(transaction.getSignatories().contains(proposalStateOutput.getProposer().getLedgerKey()), proposerMsg); + require(transaction.getSignatories().contains(proposalStateOutput.getProposee().getLedgerKey()), proposeeMsg); + } + } + + //class to verify the inputs for Modify command + public static class Modify implements NegotiationCommands { + String oneInputMsg = "There is exactly one input"; + String inputTypeMsg = "The single input is of type ProposalState"; + String oneOutputMsg = "There is exactly one output"; + String outputTypeMsg = "The single output is of type ProposalState"; + String oneCommandMsg = "There is exactly one command"; + String amountModifiedMsg = "The amount is modified in the output"; + String buyerMsg = "The buyer is unmodified in the output"; + String sellerMsg = "The seller is unmodified in the output"; + String proposerMsg = "The proposer is a required signer"; + String proposeeMsg = "The proposee is a required signer"; + + + @Override + public void verify(UtxoLedgerTransaction transaction) { + Proposal proposalStateOutput = transaction.getOutputStates(Proposal.class).get(0); + Proposal proposalStateInputs = transaction.getInputStates(Proposal.class).get(0); + + require(transaction.getInputStateAndRefs().size() == 1, oneInputMsg); + require(transaction.getInputStates(Proposal.class).size() == 1, inputTypeMsg); + require(transaction.getOutputTransactionStates().size() == 1, oneOutputMsg); + require(transaction.getOutputStates(Proposal.class).size() == 1, outputTypeMsg); + require(transaction.getCommands().size() == 1, oneCommandMsg); + + require(proposalStateOutput.getAmount() != proposalStateInputs.getAmount(), amountModifiedMsg); + require(Objects.equals(proposalStateInputs.getBuyer().toString(), proposalStateOutput.getBuyer().toString()), buyerMsg); + require(Objects.equals(proposalStateInputs.getSeller().toString(), proposalStateOutput.getSeller().toString()), sellerMsg); + + require(transaction.getSignatories().contains(proposalStateInputs.getProposer().getLedgerKey()), proposerMsg); + require(transaction.getSignatories().contains(proposalStateInputs.getProposee().getLedgerKey()), proposeeMsg); + } + } + + //class to verify the inputs for Accept command + public static class Accept implements NegotiationCommands { + String oneInputMsg = "There is exactly one input"; + String inputTypeMsg = "The single input is of type ProposalState"; + String oneOutputMsg = "There is exactly one output"; + String outputTypeMsg = "The single output is of type TradeState"; + String oneCommandMsg = "There is exactly one command"; + String amountMsg = "The amount is unmodified in the output"; + String buyerMsg = "The buyer is unmodified in the output"; + String sellerMsg = "The seller is unmodified in the output"; + String proposerMsg = "The proposer is a required signer"; + String proposeMsg = "The propose is a required signer"; + + @Override + public void verify(UtxoLedgerTransaction transaction) { + Trade tradeStateOutput = transaction.getOutputStates(Trade.class).get(0); + Proposal proposalStateInputs = transaction.getInputStates(Proposal.class).get(0); + + require(transaction.getInputStateAndRefs().size() == 1, oneInputMsg); + require(transaction.getInputStates(Proposal.class).size() == 1, inputTypeMsg); + require(transaction.getOutputTransactionStates().size() == 1, oneOutputMsg); + require(transaction.getOutputStates(Trade.class).size() == 1, outputTypeMsg); + require(transaction.getCommands().size() == 1, oneCommandMsg); + + require(tradeStateOutput.getAmount() == proposalStateInputs.getAmount(), amountMsg); + require(proposalStateInputs.getBuyer().toString().equals(tradeStateOutput.getBuyer().toString()), buyerMsg); + require(proposalStateInputs.getSeller().toString().equals(tradeStateOutput.getSeller().toString()), sellerMsg); + + require(transaction.getSignatories().contains(proposalStateInputs.getProposer().getLedgerKey()), proposerMsg); + require(transaction.getSignatories().contains(proposalStateInputs.getProposee().getLedgerKey()), proposeMsg); + + } + } + + // helper method that throws the error message if relevant input is not accepted. + private static void require(boolean asserted, String errorMessage) { + if (!asserted) { + throw new CordaRuntimeException(errorMessage); + } + } + +} diff --git a/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/Trade.java b/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/Trade.java new file mode 100644 index 0000000..aebe2cb --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/Trade.java @@ -0,0 +1,63 @@ +package com.r3.developers.samples.negotiation; + +import com.r3.developers.samples.negotiation.util.Member; +import net.corda.v5.base.annotations.ConstructorForDeserialization; +import net.corda.v5.ledger.utxo.BelongsToContract; +import net.corda.v5.ledger.utxo.ContractState; +import org.jetbrains.annotations.NotNull; + +import java.security.PublicKey; +import java.util.List; +import java.util.UUID; + + +@BelongsToContract(ProposalAndTradeContract.class) +public class Trade implements ContractState { + + private final int amount; + private final Member buyer; + private final Member seller; + private final UUID proposalID; + public List participants; + + @ConstructorForDeserialization + public Trade(int amount, Member buyer, Member seller, UUID proposalID, List participants) { + this.amount = amount; + this.buyer = buyer; + this.seller = seller; + this.proposalID = proposalID; + this.participants = participants; + } + + public Trade(int amount, Member buyer, Member seller, List participants) { + this.amount = amount; + this.buyer = buyer; + this.seller = seller; + this.proposalID = UUID.randomUUID(); + this.participants = participants; + } + + + public int getAmount() { + return amount; + } + + public Member getSeller() { + return seller; + } + + public Member getBuyer() { + return buyer; + } + + public UUID getProposalID() { + return proposalID; + } + + @NotNull + @Override + public List getParticipants() { + return participants; + } + +} \ No newline at end of file diff --git a/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/util/Member.java b/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/util/Member.java new file mode 100644 index 0000000..c0df170 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/contracts/src/main/java/com/r3/developers/samples/negotiation/util/Member.java @@ -0,0 +1,50 @@ +package com.r3.developers.samples.negotiation.util; + +import net.corda.v5.base.annotations.ConstructorForDeserialization; +import net.corda.v5.base.annotations.CordaSerializable; +import net.corda.v5.base.types.MemberX500Name; + +import java.security.PublicKey; + +/** + * This class encompasses a participants X500 name and its key. This is used in the contract to conveniently + * get the key corresponding to a participant, so it can be checked for required signatures. + */ +@CordaSerializable +public class Member { + private MemberX500Name name; + private PublicKey ledgerKey; + + public Member() { + } + + @ConstructorForDeserialization + public Member(MemberX500Name name, PublicKey ledgerKey) { + this.name = name; + this.ledgerKey = ledgerKey; + } + + public MemberX500Name getName() { + return name; + } + + public void setName(MemberX500Name name) { + this.name = name; + } + + public PublicKey getLedgerKey() { + return ledgerKey; + } + + public void setLedgerKey(PublicKey ledgerKey) { + this.ledgerKey = ledgerKey; + } + + @Override + public String toString() { + return "Member{" + + "name=" + name + + '}'; + } +} + diff --git a/java-samples/corda5-negotiation-cordapp/gradle.properties b/java-samples/corda5-negotiation-cordapp/gradle.properties new file mode 100644 index 0000000..5aa4933 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/gradle.properties @@ -0,0 +1,42 @@ +kotlin.code.style=official + +# Specify the version of the Corda-API to use. +# This needs to match the version supported by the Corda Cluster the CorDapp will run on. +cordaApiVersion=5.0.0.765 + +# Specify the version of the notary plugins to use. +# Currently packaged as part of corda-runtime-os, so should be set to a corda-runtime-os version. +cordaNotaryPluginsVersion=5.0.0.0 + +# Specify the version of the Combined Worker to use +combinedWorkerJarVersion=5.0.0.0 + +# Specify the version of the cordapp-cpb and cordapp-cpk plugins +cordaPluginsVersion=7.0.3 + +# Specify the version of the CSDE gradle plugin to use +csdePluginVersion=1.1.0 + +# Specify the name of the workflows module +workflowsModule=workflows + +# For the time being this just needs to be set to a dummy value. +platformVersion = 999 + +# Version of Kotlin to use. +# We recommend using a version close to that used by Corda-API. +kotlinVersion = 1.7.21 + +# Do not use default dependencies. +kotlin.stdlib.default.dependency=false + +# Test Tooling Dependency Versions +junitVersion = 5.8.2 +mockitoKotlinVersion=4.0.0 +mockitoVersion=4.6.1 +hamcrestVersion=2.2 + + +# R3 internal repository +# Use this version when pointing to artefacts in artifactory that have not been published to S3 +artifactoryContextUrl=https://software.r3.com/artifactory diff --git a/java-samples/corda5-negotiation-cordapp/gradle/wrapper/gradle-wrapper.jar b/java-samples/corda5-negotiation-cordapp/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..943f0cbfa754578e88a3dae77fce6e3dea56edbf GIT binary patch literal 61574 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 ScNgau(U?ep-K_E5zy1%ZQTdPn literal 0 HcmV?d00001 diff --git a/java-samples/corda5-negotiation-cordapp/gradle/wrapper/gradle-wrapper.properties b/java-samples/corda5-negotiation-cordapp/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..5083229 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip +networkTimeout=10000 +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/java-samples/corda5-negotiation-cordapp/gradlew b/java-samples/corda5-negotiation-cordapp/gradlew new file mode 100644 index 0000000..65dcd68 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/gradlew @@ -0,0 +1,244 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/java-samples/corda5-negotiation-cordapp/gradlew.bat b/java-samples/corda5-negotiation-cordapp/gradlew.bat new file mode 100644 index 0000000..93e3f59 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/java-samples/corda5-negotiation-cordapp/negotiation-design-diagram.png b/java-samples/corda5-negotiation-cordapp/negotiation-design-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..d7954d34b8ebc21b624de8b08fc6c09aaf36220a GIT binary patch literal 296273 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%0D(zm(4ps!E4X$jgE0V-T>Aa<5GO<} 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

;nzrS?l?3C$=FWh`D(_DhzlVQ-v)2^^_9n&=(3 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

pSG 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

=a^X;X| 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 z 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%0A6Hh5*e9&) zTrfiGC-)F~nh8Mm$>&O|4<|y5a($iE+^4K^#r6e2Mjm{QmYLNn-9D9wQ$ZzS!Yje# zQ5nRh6dLWQ*NeV8&-wTn#ds2Py7C)Pt9Llsf zDF(n|0mtduE`Uj9Byzayq?l2NA=6cc698Wm?{qRdQ<+*Z$ojANV?3uY>=}sl??B8d7ZAD9 zgcpdt@2lyXLpqLeXrU?y05wzsb+qCUkVYlNtx+{ok2bL)S=>O!6ig7*C>lpYSHE9+ zCiU3$^0uin^Uqb?q&}?9SRLuWmMyB36FyS-rOomUJ-=#C+pNEtriUt{OC%D?&^G1w z$3KXoTL#2#A1UNd?YvMO8mH{sf5;eAZEY8-BT*mz0muDTpOxJ9xwky6sD9*OB4YK1 z+>JaMdq$b}Vu@H=)Wv^by=Q--vpoBcHMc9J)$E%NyHG0dOZxv{LHw(e0WiwgdifuZ zbR9^E!lco&Uz-`A{6QTJ~ zJTGg5NkD^W=i43I|9J)ehmSf;MrOqqR{&&IHI{fInA)gj5K|Q*!N;oyLNd37>WJdkZxsRlscaqC*-WGHOOp37jb`MY@| z7^MOy&Lpr)oX832Oq|#MyX{+Y`CYUYyzgs~S4n11j*UCHCi!e+^XH5L-MEOs=Cos2 zdGnS~VP&V-V_5eaGE(~Sb_ew0tnkv;9h960Eh6rE}f3Vgp8}X85upLsg76eyA2o!f-|aP05;%rV#J?5)}R!<4`Xor2#HZqf8%@B-Oshjw?Nm5kN1GSzt{>VPUgkPS_S+1=dt=K zo5J;f_B;sd486@t(|w@@eF>%ky)L>~5VDc&wb;IkRP@!|QiXpi2JN!HuQ2L4_O~@2ULQW~$mI{I?nlBD)NPVPhwfHFp0Pdl* zwF2;&8ht9Bq^+onRMUOgcnY+j)8f^{Bt;y|-Zw_cHOIL4es~#iaGW?(cVZn2IrK6I zC2#?>018KXV3tDvPkY}T)#SS6Z9&0;sECLN5mB)crT2&kh$2xz5JgZydhY~66i}2Z zqCjY&7il8BqbNNDq}PD7P(ukVA<6f|Q|`Spr+MzTX3g9s|GI?aeV?-TuWd1lM~wcv zL#a#GpR8(@)`WH1m9}hWx zYEHS%ebY`WLs1x@YfS)==n}8F8R&9F7J-YmhiW-cY(d_2(C}bIXSFGvMj=kDc<4c7 z-cjZXNGlpq7}WV=4mX?IOIHzRDNz3y6ukz5t;Gq1F{*L+$=RM9j0sI%S^ezNN@#P_ zi=A#=Gb%i1Z&I3_+PYpiQs#q`r|n}o_0k>%mMM%!GuXyu38(3v;4>3Y#qWG1s%b7m zdEthAUa5|+sf|U8hV&;@V+(K6#>zBK%r+N!gJ~A&JTHu{VEwum8)14Wrsa1^8<#5p zPQ-BNv(`6gWr%8J>gK4Mhb__ohA~sNK}U3hWqJl+mwEhQ$gxP)o>DeG`l$G17)Kh$ zF9CLW%UZWxg-}*!x|OHc9gt5c+F4#Ga=_lQ$3$P&9u9dQJBVd2;snS1S z5)1a^3#g$@l)KXab)RdB@76teK-Mx&`=u1Gni8+f^JL0VPxnvxJSEt0jT2)hKdX$n z=XLQel40-*g1W_#yT~oM3B%wwggZoZy~9zr?up!R=Fa<%(HG7gOE~~^D2F>is<4y5 zpGh!+5I0T%j>ML$1@m%yJNldl@+imjw)#VC@zcWNjRmb*aT8~C_6#OzXR;jKJYS`O z&rY>yj0oK1z+i>#Biqfy4f1A@TYKJNMwX8S20Oo8dIrwNzrez4W1y!&0~36 zRyXdi=w7${(^{E5$5Mm}yt{zR=49T@xvyi`2uHPtW51;yIKJfZQg6FFW)E_VfK%Br zdbEJpmnU8#G^iqB^me;^p%b0Y@e*u1xi9i=iMzTqIr>v(Jf= zt15iVX*?M0&yIPxdkeJ@r*l3W6chpfT#rk|{eE4Yp!>T1xf~nj2&MWaeK2pB5rx{@SI;lt;QIdX2O`lPEZ==-lyKE`FJgC<;fPcXikFM=#OZ zUz47@k3G{V^a)k|%Xhklhn#rrUedODmD_ay37qUoJQ2KG2wlRv1v%C$4nQF{sjqg@ z*N%I%IE@tuc*=c% z+6wa2Dx~SCMu9oyfs{s${V~2W{m^K~Zg@wA5h{sjT?JKtA_WGzhBo$rX-6{(%|@hX z%C@iq+~#}&j>8M!&^Z+A#aZ#xJBZ}TNBF!{eNW%e@*MdJ*U7HiTL|71_<--Igto0c zk>)vZOs?)(TOeB_6}t6%3Jb6OB#i4QHkpZfPmGW=hTQv6j4MTPN==L;>_G?GEKOe& zsCM)zk#cqef_dF3E@rKH$}s7B-bGZ1!<4>ZllFc1_P8KBTaE|OEBaAL-jvT@LJ7#` za$kmjxIgeE);~W|rp>JH%T_y)qN31t>ohF7tX&hJcjoo1cieKu(u>wyLIy(_^RWJhqjvAIdd&-V1Ja0|P?M;af% z?RFmZFK7hld3`#0Q7cX!|3nAm$K#{^OpvEEsc0;Zd8wn@Y_u=hWmRTLY#V=9dWr(! zQQo1DdIP3)z#dF*es^0MGa+S!yZ25WeZPrCPP};U7*|=%W)HW0q$hc+p+Lr#JZ67w z!dCP#`!jW;rsD(DI)&`zX=!8SN$*4wdFKJs%`oDJJ2Yv>8Bs8j?r<4Q-LgvjeQ)%1O4ZDIjDXmHx zdWdNW`T*2}*_H?7&^!GZxd+5^d|Qx-wm@X|m!Asw?TOdFXQ#x<>z&;9JuA+*S!?@u zeFre__2Q4O@JEWsARyobZ{fe(f8lqQ!VN9hvi}l^dK1dB#(2&&LzJ!&hUGxC z3P(?_iv@KnoA^Bh3AkeVayFM%5D;Ng9&sgN%RuOI@x z_c8-ixpso+g%byF!V*NkZ^u-e`SlNr5TsvD9Tp{&u>YC#_%cH@yx)X%x6iXSHk0q_ zZGq(4H+L(GBID_8{hlgTgb=EDXR}uv-;%-|&+j>R4w4#|0+=yCVn{Gw(CM12oSE#mpYjC5*~-x6h<0Ud85W+o?ZUbVJVoSBRLW zx4%#nY*xP`gWh2|e83De?F`CEb|RtuZRaNuV{*AkYj%Vz->PG4NZYpNvhs+^}%mU#eXrROh1KB$0Wr%|~5P*nX z4apD+6-0&(pa9HgIM^K2K~GS7ezp@=i_cIg8?@7STX9t=qRqFy!)K-@?pT9GGpkVdK;8Z)K87+1s>+br!K$F~9%o;IWvA&UOZH;LW;3Y`_vKpIf z88*pKtxv1k^3An?6g<$9)f%IX-b3A}pcGc_`Rol>3lTsqCTMbcI^8jcr%tcLJsvH) za(Z!%Q@xRSrlhMGW>c?fx74#TA*Um2vhu*G1eZt5N-hux;`Pmi$;=pi+5&L^L*uFP zj4%0*MXR6^NHDUjeVXR%@?U%F>ekZxOr?NlPa;-6aMUOTmITAkZynGjiDre!@k|B| zt6ek}p|PRQjG^f8lf^I*fy_SQmRVSFF)x2$3nZo-aw4T#g((cg$?U zM>O@IR@cOp8-wne&BW#+xzy{B@W)1hFvK(Vv)yU zpZTYr>jl!k)&#}7i$ErC5u;CY5F(w|ia2?QHN4a+d2=kbeUsYG*#Tsn3xL)c;Plv1 z_|i3yoz}>(jsVq!0LLlUq>Br)x%-C}A#_ChR>x(~s!opSL2u>s7B3S*qZhAXS#L^} zY5{yaL(JM7khCH|%YKHPV7CQ1$TXTa>A;Z309C+hsQS`*T%>+nhly}SZq^=;c`uU- z!~$wra49z}rmvcJT z?K@Vw%t3m>{+cH>_|PU00l9;JjrR8<`~6Dhn-HD4%2XUE4an%s&D!VaOl0eC9Mf8cIzW27r}UHM}x3) z^_Qi@Nw&6g04oD;MI#D%`*UKAfT#IkAWVvA|GE{6Dqnqu7O@B^vYvm%qiAFw@vbNK zDvp#Jn6)386B|8O3Op){z=CQgn<#16ceF%S@~c``(k?YkW7xVi-VYK?!3{SHTel6JHaInLz6?Y+i({t9kov|StzPRp$K6q{S4 zqi^$O><`F{lm$jfJd)#?FJhhcR!2Ulo_1OOv?Nwy2RJAc4QS zMdW^yD4+l1)xn`EQh8tVmDToa*Er*RB5>KKB4?N-Y8Xwooc%UG2?%46|E9k?4j;|w8ss8Lf(MaZQ?%)arz=eCU$pJ~Sfs{b5GuJFVoMd{;&4z*>A`aJ7 zbYEz|X6Ot(HcWkt%RVGyFVYWT={HZ_e?Z*k?V8h@gN9d6)e1cD;Xss;S+nDpoIkg- zdcgQ6_C&ru_w-pz(@LO;QqK68+PSLGIOw)YwwY9xb;vK8Bqw6(~UdxV#IR_*|uNI6}lB#Dx+y<~Z`kTABYa zdsxxQmG!5EY(oJzCK_ExUX3Zx#dq7vy*h;`3A+4|J?%QXc(T(3{nes$cCQNEZ4X~+ z<)82kNq@)Z+)oyG!hHlfDQfv3Ip%_kJmzrE8&|fitinJMer3h`1c8lg|2oR>(}~rW zL;BNhw6WA+=73;!o=ocvS^^T8Htb1BqA8vcVckuAtE$IU(I&~O=ky?jS3YK6TI`4) z9(-F99E`SEo(fd2soa+^f=#cit5xnN-;M%YP1l5~YScr#Wa{C-EY%mM*vPg=s#jb_ zC#|O2Su{Tmd0F;i1ooAC$ko)Wu%TQq&lv!{_=N2ezvLGPAJy+FMPUqgS#j=$H^Xs~ z0HnEpT#PFvarQOWr%0(^I`9N%?j?8efkNdbsG;UP*~hBYaubfNmLBU#18`jB6k zuwEn{>b8qz>V|KA?B+g+D=dblYBx6*?v<~7w%|egpz&^|D>0dMu~8kqcMI~P>|!U^ zn!xJ&uTAMt&aTruEw!>hhSgfmnWcEWrfVBKprF)xqe03kQek z_*auk)ki@`tEZmSsEk0&&m%@I5QWN8yiCLfQFe(Sy9tRljZ5+I6l}7P(0< zWRT*?pbP)F54enwCp_ep9C{fc3pS)LpUB=zvFfKp*!K|!To)W%c6;f)y(4Ybqry}p zZ|nwW0LS9p@y&3v%2Q%Y)Dexq+8s*$T<5(P00-0MrL8#(QjhCQ#rM>uN;g^<-PsmD z;zencq*S^&1Hkf(@^$9;~hKf(05aqr<_CQ|UYTiFgDyk6 zsqX}qVhdGf66X^Bf_t%Dz4WK;CQqhp`gONG-9^^nczBR|Ge_No*XX>6zZ=8I^h@jd zTOFhdG)(a0wLCAl<(W~Xy2k3)AtTp{)*p^KU9`;-J2`rfixReoZLkCcVqlV4k}lf_ee`eAOICX&@!;X9HZaO(n!0a~&e_A2 zlwIULLc{xT=Z0J8k-hOS`nqqKWO%!GeZ=HZ#^&-Qt!(+ZExHNa&PA#da4Wyv{UX(I zT}RG&H+`TsL57tRIC9NcBlii@ zWhk=zZSP<0WQ*}hdJ3kJWK9$eFtri|^|HmImbqp6)=BCzpS^FH-(GvvRGMYJs(&;9 z53LK55ZSiuC!+iTeURmYg|x#}qBqFpzL(#NMr^*(OfT%*AnkK4q{ zBArjM$zvic`BR2#v)RQCsSE2~imb3ckF2uERXwSfV<13Nq&^8k1ss#&tK6(a8yCDC z87;O&CNQQx!m5|TH0Q&9O!I27^+X9tuF_ai{h5TA64`}!gWM$nCb%ZYod#?2QwPf}W1h=OUY>%XyhqZ4c0hg?9C@W{-FhZ| zXw?6b^0^~ThnzfkKP-Lyd{u0u-MJ*2HNx)@yS27nbY2Trlt9;>>s*RsJ{u|TpcPlc znrz68+G*FU4O7)V5=q*N)BB=q*ps_&Ak_ATsclX_puoZl2(c)mCfUuvcc%EbW#0J8 zuK51-8wN)sSK`l4Vuhm9l_42l*@q62ief`fO0}d&&&kFTUr*#%JT{tS)e@I*w=@_# zK0dOK35GXD_Nm%U7ny?9hu6e9y_Z_rDI_sTLsRL_eA++pg=sYEF`H6^4S14@1jih%R75 zy$QL^`T`}5>Z=K86SjEH;Tx9uy3}KXm+$~5M&d@pB}PThJVD&?>;19s6u~ZQJ4}Cl z*Wd~#v5L6&qu#=&y)2%6_bY6dq+F|HS1PRc))T$elW{#b85m^eQR}Q7cj{bU78V#W zoSL+Q(V6{({tm};Pw)zLIB|^GL9L8e=U#qvRI8TUHQPI6mc(Iuv+wnI{xY@H zb^%LdSM$)$_Qh}O3&Sr4%P(I!V1T%>2kask_m_h|9Y8KIFMxjF8zdcOmM)KHg&b6Y zvKZwGkJqbJsqD>o_0fGjHeqX0$2))a4Hu=Jgunt?CPgY2e3+bQkKesqK_KBSqUJih6bqy@|m+KhGBe^YPLg8^|$qV?wAh4;_8-#zbP{M$M@Q zusSuU7Bz1mdiZ(3mV24Et>e#Z3>)Qd8GEZ@Yq}T5GFW{t z3HvVhn1F(pi_GEDqeD#35-&@tmGU*RHwN1cpp$aOB3Q-Dd%aB)Kkgd352$jn%a;ya zbE#?Lu}m=B_xhM1JW;JM?4lyRBXvd z6&(scCy;J;%nt{{Of^2;#ImyP{@|Sleq*G_;-XSMpS|5Jzm>5Z98oB#Q*p<(IXi6o z6*XPvL^U;+E20gb7wnomiK|fuKHvl@*o8f5%{aLN*s#pF$ME2|-y=kkc2t@<;k-m8 z?wF{}mVg+XZK1jToCm%2aI3G+pn?L~?#R!O-7CGu#ysTyB9R5fx4`Q0lQZ9A?Mn-J zyr?!Y2znFd*0$S6=_DfCeDn@C2|WxMiu(Y$t@Lh9p@Lo+oO&Ld3p$e_a^j z;MBdOyE`VXnn)k%%+--e3%H8Em;WT7rA_Cwkjl$t?}u)J_22NVx)@xpwEMF{jDTI+ zx(Vn&{H%rVU`^H6-4^Zk$Uc<{Zqy%2vekU~aF_H|iqHv_T7d*3wQa*k-vrTB)Qx%u zn^a_LDofojiZqPbzQW!zR3mfc36M6cj~3pkBhc3t=O42ORO*yHoY3Xn#T=>nnv=xU zGXA1t94fPoEW;6@Z}=uF1-g5c;R2p_ORi0BiK-XwrdWo7I3TXYKF|8^guL0LfnNB-5Q| zZ&Byx>(!o%D{OTCW<>&Rn{=>aXki3}C~6QRlrw^ygnK{07MEmw3Ro#*BxW+fkf zl5sh5v3XpQ9dF(hHc)-*u_MH>pjAIE`9`ZZJBw!S*A=F7?f#D*r;4r>4JJIEFzUm3 z?6=O#1gvV##V}nb;KO!31WvmzpEz(wBiCtDqvEXs(&;*Hc9QqVm1oI`B)|l|9RhRd zo(2P_&2GX6#;Bc2+=S#w7~%p*(x4%(owvLqxrX~?4uNSM9iZuscFGcZ_Cx@Fy7 z7(~`@B0$tlS*U)4DrFlwrB!;gW^-6wuDn>icwR@QCteen8k9?_R2Av%Up#bXg}~gQt!)9__#>uVlCb}{RhQtIG_9A0$8c5mc6j^$T1@Q z{-vnh<^0*}XX8gz^W^!9pG3#tL||(B<0#h7Q74mRZb^gZF!C%_T$Rr+^RTs^DmbJk z%p;rMz29H+q3j%e<)*0XF}`gAXZ!5-$-;mr(ejEEp_MN;->@H1qA6FBYm3fDaa$J|c~{eco3*>NeeNEGb^`whu}?38A1(8ob1uA>YJRm|p`4fU*`S0p1L9okrwi=YPEA$ax72_m zu{52HQ+;KDl8EWsXk^|!k(}~KD{`WmhfqQ2#T}NHU>@Ab(dp#ormcAfX}7XeI>b7U zx2McI#;03kUc0G))zA~H>rC&Im=f(gp6aP-4z2HW?i@H;EAp<9YAXu*d+OW`g%cpJ zr7uCZnUSAD`2u{AV58DRfH^RTb3MYUIq*)a#^sq7qnLYVr%bHz%<8wpEUVm{$9h7Q zU#o|80tPyMzA+h^b^e-ns%(pTV$poa9%|H!h`RVa$joz!{BteO-2pn)Dqj9xh%0_s zM)@eZpwRY%F-$<}NILz9G55|`;+;j5EBs=vl z{A4t@?a(P*Ub$UDOdtv7gA53Z=r3F|D913V@LV^C9$~O0L-Eh9|4!`5i_+Tg;>Fk1 z*mvods@~pxX*Lx2KTpd4UBDk46j7DP1M6KpqXHtJT@ zw0P*#SPhh$PAXL?wA1Ya@6&p%p}W%N&uuYW>?ni-U$S7RfTY4cQa2~-;HM`M0qDAO zPPB{MecPtf({Qi(m1yzYC~a~`s?3=;F0_w|c7(a}uBgf|o8ak%$iCbLo54CDEDK-K z2|NKz{*c>e{erheuQy;T&$RFOmxF3>_^?9rFFqE)i7^i8-;V7WGm(dF$KVh&FI)_c zwcoETXBL_1Ky?||x)CT7pDe2sF}x#b_bgQU)(&ljJcdTmk)wx80BB*F@zO=jJW_egobYwhczzG-pNSgolm*5CXZTH}`Z6qig@9O7C zg{hmA`93x^FSSS+3vPIhBQ<(X!z}60e0e&RE%V^$(BJu3N1zMH3!2B}Jj?f`Dm_}$ zdCc~WfCWY5Uwzh(lZg2_LC?flKa4AUSKlA(&LE4PSgi<^yS7zsLjrL1|J-@_{94Y+91C z;~B6-_2~8c%qSXPqyCeb9fTUGl!eKeWwMgdy~i@laPDK&d`LK$lNHkKF1%FWw2-Sk zme^?)0Z0%LU@gt=HEKc|^>*8hH%vn;=#H(L!VcAkdiM+J8qN-s-8HNLj@<6fYWMS! zWfr&rs$=iVp?Hg~5eYV4DV-!d(Bqo-It|7EL_fdZ2{q|;v87X9c@{GP}^OIqH^z$4EP7y%$-m`~X69_SyeW=2FRU{5IN$UQ@d%S(6K*Jhi zrJHpF=T>I^W{tXnpIHW6V^;;1iF%Y_;D%~t=sPA~qySI!HzJ8KtITP3;3~1|*2dgP zF$8Wava9e>N&ia5Gc3aiuF7C$vBlR^84LS=KKLU`>iE3M)^#q5R;q^LW zFc-ebGyeMZe7UR^j80R@0xpNOnhM>#nF>tW!{QaLu%d`#E@wcHKyy(tYd?_i@?iq-NBMbp>EVU8FE37a2P zjJ}~S5YDe0!0>2}~3(ZFNd$?2KG`b}=!@3^9jdajMnV!E1f8ZiuG z!Ym%-D%pC{fW@E@usBz?Pz72oSO}3a=R%_^#z}f0vw*>M&U}divj}qpHqsZ@&49d8 znEQh}NPyD}jKRI}0jZA3_|}@0qx)FFR{1**AB<`?O72<5E#5M(MbX|&0xz=)xkUtJXwn1Izj zwVDTr-MWp@lsCYZDvY>uHyaVv&V7DthdMPwY0TiO?xug|>5dy}TY5aQlzHF=0&v9E z8I5MNqp)BfeO{THwtDx_mQ{c#YJPH=7xkd=QbffEGJ#6KWxSuQ5hSEFMwc;vnOd+r z@`Upcz&9r(08{8<>KUYeJPcU01l5xRi7F=!e!)HarcL^u3pMC8q2#4Zh>kqH+W#&? zC6Lrol7XF-rOb$p5jri}J|2SE2$kUhU4e~(E29~v4KPth&8mXb|ESff+1hpU**xJl z-s~IIHqCiVDB;T1lfZODrD8afy1o1AkUM!Q2m?Q7)!~xd=>I{kTmZtrBI{J!{z2(n<{G~s?)jvGX+z9f8qo29*t!$~l%7IJj&kCQc_}^h| z9Ez`LCI360)g3sjrhOzVq><+1qwG!F2G1m`I0tsL;2B}cfX!QGx?kD6$I%OeM7uB6 zb6cS^dYuyUp4@U}Su}>;%a$thfRB7;485UmM99I(^2O+Tb}+;ds5o=Z zc3f;#&6l2k<5PObot|mFZDKUp2%R}0cbdpBF$A>f6(P>@Ebw=!oiN&m0$6A29J1}q z-J?dXAcNX@FsZ3P2 ze^zFG=l}ng#^A(64DP4Q%w;Ew&&yvMyX_byni#>Td|3-v)A!s_hcTif|B)qh6MB17 za15rXY~Syxv;JZg6!%(*1O<*8%k(PDdblLzCUj6+bOhiO47KRrEIpoXCxc8Ev1DAN z@ZJ0wk+hCXakHDTR+OgxF)&M0o2|j8wyoA+s1vUA98g2%qF|nsQN`F39gx=$^s^50 zds>}+M+kZ)j{S}3f@XV=d?5m2FGWlTdPIzS>P1{D$|ky<-f6!xPDK`59LFty0q`IY zM@XLDugN1qfNf!jYQOi@5o74Ba99MF-B?7i|9~)+8D$ufp`-6O-D3t)>K}O`K#g}Z zmW~vbb~rLOmBm)y?tGAhN_(&@>`} zurb(d+qn4@AkHU1cDSV7vKv`c!g1Y8_GDM7gExpc4_h0eQH8R`xk+pEp!gc#>|@N? zSmYE;S`M6gyn_?kU0qi_)K*>!)#7qu4iHo=XHSsLPcO?t20aRORA za`{@kbNAQY<{cynf0GG+*LiBYg{q$#)Atr>vcj*4s0ed59=Y&=txTU8CQ1bf znbQOu-87qFo&w>h=|ZO|=VX&X8f?E-TdKWrHU{ly9Z4-b$2! z_$;rC+owobRIDn0S0H9Jq1%6doNUylIC%Z- z`w-MIhOju2CKpER?}nfutaT;VwtaZQ{c=;h!Bvp+5W{FnouvQxO*)>p+3k8l2uszah+?X_V z&cdjx)@E$RX+W4;%o3<-$=}4jp;_>NiY;`MSekW`eXUT>e$# za0<)ctQ<3A*uHt0LBkSNZ3ikEBf0jF2q$f26jmG`;<|WtaTJ|}%S9W{B0&c93=3ri zHDJ$eL)6tqMRSmpk#Zko=%%c96^^4Fa^m112P*7tfmLYt?6B)zpJ$|;pS1bkb0>fm zJ`UuqUMmdMGb0Q);E?nKURi{Jf|x&@2y>Q@4KII0QR__x#dtmrOb`lw<;b%Ra^^OHUe;U|OiIY;$6-IRM&!RQI{e~qud*R&0x15lf@yU=Vlw-D zTPUBeYW1{R6!PVp1(u7Y=g5YODa4Gc6oVMNY>LITD2D5`Z=kYaAruG&wv96(Y0rS& z@T#?vJbk1tczH~(A%fDC4a5xPpYDm2aOs)u zM>UJla8k=>Dztgg2hoRQ-G%yD$aPuqG0@R}s%3sv>;DREse{CEZj!JbCGBo@8B0bg zyT`6h#-mn}(e4@tOyGrkA`ASRB4F5RE9sQ-{*xLkIk z?YX-m(2M;Oo_9<(4pYR(nfY~e=r4o(KhR|2cO8^(BngX`bi;Rm2#Q>!^BpTikea&M zTuZ9r_-^1PZnr!N%xW?0s?AP)xl+XSYCFQKY>$5VIYvXqhy+Mh!{ouMu$Ly4lQ z>6>9Z+J?P32Y`ElvQLkdyzsq6rXrt*J3!LRYiIjWDQgCm$=_fDE&PWhi)70rM`}`% zGUkb4YsifD1HG>`uP5wOf#iRh-IiZ7VyuLb-jKMM> z$BhcgUElx^SskJwdv#W47e==)UA-AJTstz^ZZ-xCAxS{FFGdguJgo;nvf8B9Wmz}|HV+o&KX%pkeelZake;NUl zj0FLtjR__>jMOwn=nSc$O51u~n)|L^t#F{nR zR~G8d#;CwCaNvFW9(-v&Jq87!dN7MCtjUyh z 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 literal 0 HcmV?d00001 diff --git a/java-samples/corda5-negotiation-cordapp/settings.gradle b/java-samples/corda5-negotiation-cordapp/settings.gradle new file mode 100644 index 0000000..d039a95 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/settings.gradle @@ -0,0 +1,26 @@ +pluginManagement { + // Declare the repositories where plugins are stored. + repositories { + gradlePluginPortal() + mavenCentral() + mavenLocal() + } + + // The plugin dependencies with versions of the plugins congruent with the specified CorDapp plugin version, + // Corda API version, and Kotlin version. + plugins { + id 'net.corda.plugins.cordapp-cpk2' version cordaPluginsVersion + id 'net.corda.plugins.cordapp-cpb2' version cordaPluginsVersion + id 'net.corda.cordapp.cordapp-configuration' version cordaApiVersion + id 'net.corda.plugins.csde' version csdePluginVersion + id 'org.jetbrains.kotlin.jvm' version kotlinVersion + id 'org.jetbrains.kotlin.plugin.jpa' version kotlinVersion + id 'org.jetbrains.kotlin.plugin.allopen' version kotlinVersion + } +} + +// Root project name, used in naming the project as a whole and used in naming objects built by the project. +rootProject.name = 'corda5-negotiation-java' +include ':workflows' +include ':contracts' + diff --git a/java-samples/corda5-negotiation-cordapp/workflows/build.gradle b/java-samples/corda5-negotiation-cordapp/workflows/build.gradle new file mode 100644 index 0000000..9cb4157 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/workflows/build.gradle @@ -0,0 +1,80 @@ +plugins { + // Include the cordapp-cpb plugin. This automatically includes the cordapp-cpk plugin as well. + // These extend existing build environment so that CPB and CPK files can be built. + // This includes a CorDapp DSL that allows the developer to supply metadata for the CorDapp + // required by Corda. + id 'net.corda.plugins.cordapp-cpb2' + id 'org.jetbrains.kotlin.jvm' + id 'maven-publish' +} + +// Declare dependencies for the modules we will use. +// A cordaProvided declaration is required for anything that we use that the Corda API provides. +// This is required to allow us to build CorDapp modules as OSGi bundles that CPI and CPB files are built on. +dependencies { + // From other subprojects: + cordapp project(':contracts') + + cordaProvided 'org.jetbrains.kotlin:kotlin-osgi-bundle' + + // Declare a "platform" so that we use the correct set of dependency versions for the version of the + // Corda API specified. + cordaProvided platform("net.corda:corda-api:$cordaApiVersion") + + // If using transistive dependencies this will provide most of Corda-API: + // cordaProvided 'net.corda:corda-application' + + // Alternatively we can explicitly specify all our Corda-API dependencies: + cordaProvided 'net.corda:corda-base' + cordaProvided 'net.corda:corda-serialization' + cordaProvided 'net.corda:corda-ledger-utxo' + cordaProvided 'net.corda:corda-ledger-consensual' + + // CorDapps that use the UTXO ledger must include at least one notary client plugin + cordapp "com.r3.corda.notary.plugin.nonvalidating:notary-plugin-non-validating-client:$cordaNotaryPluginsVersion" + + // The CorDapp uses the slf4j logging framework. Corda-API provides this so we need a 'cordaProvided' declaration. + cordaProvided 'org.slf4j:slf4j-api' + + // 3rd party libraries + // Required + testImplementation "org.slf4j:slf4j-simple:2.0.0" + testImplementation "org.junit.jupiter:junit-jupiter:$junitVersion" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion" + + // Optional but used by exmaple tests. + testImplementation "org.mockito:mockito-core:$mockitoVersion" + testImplementation "org.mockito.kotlin:mockito-kotlin:$mockitoKotlinVersion" + testImplementation "org.hamcrest:hamcrest-library:$hamcrestVersion" + +} + +// The CordApp section. +// This is part of the DSL provided by the corda plugins to define metadata for our CorDapp. +// Each component of the CorDapp would get its own CorDapp section in the build.gradle file for the component’s +// subproject. +// This is required by the corda plugins to build the CorDapp. +cordapp { + // "targetPlatformVersion" and "minimumPlatformVersion" are intended to specify the preferred + // and earliest versions of the Corda platform that the CorDapp will run on respectively. + // Enforced versioning has not implemented yet so we need to pass in a dummy value for now. + // The platform version will correspond to and be roughly equivalent to the Corda API version. + targetPlatformVersion = platformVersion.toInteger() + minimumPlatformVersion = platformVersion.toInteger() + + // The cordapp section contains either a workflow or contract subsection depending on the type of component. + // Declares the type and metadata of the CPK (this CPB has one CPK). + workflow { + name "WorkflowsModuleNameHere" + versionId 1 + vendor "VendorNameHere" + } +} + +publishing { + publications { + maven(MavenPublication) { + from components.cordapp + } + } +} diff --git a/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/accept/AcceptFlowArgs.java b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/accept/AcceptFlowArgs.java new file mode 100644 index 0000000..bd58d40 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/accept/AcceptFlowArgs.java @@ -0,0 +1,24 @@ +package com.r3.developers.samples.negotiation.workflows.accept; + +import net.corda.v5.base.annotations.CordaSerializable; + +import java.util.UUID; + +@CordaSerializable +public class AcceptFlowArgs { + + private UUID proposalID; + + public AcceptFlowArgs() { + } + + public AcceptFlowArgs(UUID proposalId) { + this.proposalID = proposalId; + } + + public UUID getProposalID() { + return proposalID; + } + + +} diff --git a/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/accept/AcceptFlowRequest.java b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/accept/AcceptFlowRequest.java new file mode 100644 index 0000000..9fbaff2 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/accept/AcceptFlowRequest.java @@ -0,0 +1,96 @@ +package com.r3.developers.samples.negotiation.workflows.accept; + +import com.r3.developers.samples.negotiation.Proposal; +import com.r3.developers.samples.negotiation.ProposalAndTradeContract; +import com.r3.developers.samples.negotiation.Trade; +import com.r3.developers.samples.negotiation.util.Member; +import com.r3.developers.samples.negotiation.workflows.util.FInalizeFlow; +import net.corda.v5.application.flows.*; +import net.corda.v5.application.marshalling.JsonMarshallingService; +import net.corda.v5.application.membership.MemberLookup; +import net.corda.v5.application.messaging.FlowMessaging; +import net.corda.v5.application.messaging.FlowSession; +import net.corda.v5.base.annotations.Suspendable; +import net.corda.v5.base.exceptions.CordaRuntimeException; +import net.corda.v5.ledger.utxo.StateAndRef; +import net.corda.v5.ledger.utxo.UtxoLedgerService; +import net.corda.v5.ledger.utxo.transaction.UtxoSignedTransaction; +import net.corda.v5.ledger.utxo.transaction.UtxoTransactionBuilder; +import org.jetbrains.annotations.NotNull; + +import java.time.Duration; +import java.time.Instant; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; + +@InitiatingFlow(protocol = "accept") +public class AcceptFlowRequest implements ClientStartableFlow { + @CordaInject + public FlowMessaging flowMessaging; + + @CordaInject + public JsonMarshallingService jsonMarshallingService; + + @CordaInject + public MemberLookup memberLookup; + + @CordaInject + UtxoLedgerService utxoLedgerService; + + // FlowEngine service is required to run SubFlows. + @CordaInject + public FlowEngine flowEngine; + + @Suspendable + @Override + public String call(@NotNull ClientRequestBody requestBody) { + String statesNotFound = "Multiple or zero Proposal states not found wth id: "; + + AcceptFlowArgs request = requestBody.getRequestBodyAs(jsonMarshallingService, AcceptFlowArgs.class); + // Get UUID from input JSON + UUID proposalID = request.getProposalID(); + + // Getting the old Proposal State as an input state + List> proposalStatAndRef = utxoLedgerService.findUnconsumedStatesByType(Proposal.class); + List> proposalStatAndRefWithId = proposalStatAndRef.stream(). + filter(it -> it.getState().getContractState().getProposalID().equals(proposalID)).collect(Collectors.toList()); + + + if (proposalStatAndRefWithId.size() != 1) + throw new CordaRuntimeException(statesNotFound + proposalID); + StateAndRef proposalStateAndRef = proposalStatAndRefWithId.get(0); + Proposal proposalInput = proposalStateAndRef.getState().getContractState(); + + // Creating a Trade as an output state + Trade output = new Trade(proposalInput.getAmount(), + new Member(proposalInput.getBuyer().getName(), proposalInput.getBuyer().getLedgerKey()), + new Member(proposalInput.getSeller().getName(), proposalInput.getSeller().getLedgerKey()), + proposalInput.getParticipants() + ); + + Member counterParty = (memberLookup.myInfo().getName().equals(proposalInput.getProposer().getName())) ? proposalInput.getProposee() : proposalInput.getProposer(); + + //Initiate the transactionBuilder with command to "Accept" + UtxoTransactionBuilder transactionBuilder = utxoLedgerService.createTransactionBuilder() + .setNotary(proposalStateAndRef.getState().getNotaryName()) + .setTimeWindowBetween(Instant.now(), Instant.now().plusMillis(Duration.ofMinutes(5).toMillis())) + .addInputState(proposalStateAndRef.getRef()) + .addOutputState(output) + .addCommand(new ProposalAndTradeContract.Accept()) + .addSignatories(output.getParticipants()); + + + // Call FinalizeIOUSubFlow which will finalise the transaction. + // If successful the flow will return a String of the created transaction id, + // if not successful it will return an error message. + try { + UtxoSignedTransaction signedTransaction = transactionBuilder.toSignedTransaction(); + FlowSession counterPartySession = flowMessaging.initiateFlow(counterParty.getName()); + return flowEngine.subFlow(new FInalizeFlow.FinalizeRequest(signedTransaction, List.of(counterPartySession))); + + } catch (Exception e) { + throw new CordaRuntimeException(e.getMessage()); + } + } +} \ No newline at end of file diff --git a/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/modify/ModifyFlowArgs.java b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/modify/ModifyFlowArgs.java new file mode 100644 index 0000000..df827d4 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/modify/ModifyFlowArgs.java @@ -0,0 +1,29 @@ +package com.r3.developers.samples.negotiation.workflows.modify; + +import net.corda.v5.base.annotations.CordaSerializable; + +import java.util.UUID; + +@CordaSerializable +public class ModifyFlowArgs { + private UUID proposalID; + private int newAmount; + + public ModifyFlowArgs() { + } + + public ModifyFlowArgs(UUID proposalId, int newAmount) { + this.proposalID = proposalId; + this.newAmount = newAmount; + } + + public int getNewAmount() { + return newAmount; + } + + public UUID getProposalID() { + return proposalID; + } + + +} diff --git a/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/modify/ModifyFlowRequest.java b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/modify/ModifyFlowRequest.java new file mode 100644 index 0000000..eb04262 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/modify/ModifyFlowRequest.java @@ -0,0 +1,103 @@ +package com.r3.developers.samples.negotiation.workflows.modify; + + +import com.r3.developers.samples.negotiation.Proposal; +import com.r3.developers.samples.negotiation.ProposalAndTradeContract; +import com.r3.developers.samples.negotiation.util.Member; +import com.r3.developers.samples.negotiation.workflows.util.FInalizeFlow; +import net.corda.v5.application.flows.*; +import net.corda.v5.application.marshalling.JsonMarshallingService; +import net.corda.v5.application.membership.MemberLookup; +import net.corda.v5.application.messaging.FlowMessaging; +import net.corda.v5.application.messaging.FlowSession; +import net.corda.v5.base.annotations.Suspendable; +import net.corda.v5.base.exceptions.CordaRuntimeException; +import net.corda.v5.ledger.common.NotaryLookup; +import net.corda.v5.ledger.utxo.StateAndRef; +import net.corda.v5.ledger.utxo.UtxoLedgerService; +import net.corda.v5.ledger.utxo.transaction.UtxoSignedTransaction; +import net.corda.v5.ledger.utxo.transaction.UtxoTransactionBuilder; +import org.jetbrains.annotations.NotNull; + +import java.time.Duration; +import java.time.Instant; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; + +@InitiatingFlow(protocol = "modify") +public class ModifyFlowRequest implements ClientStartableFlow { + @CordaInject + public FlowMessaging flowMessaging; + + @CordaInject + public JsonMarshallingService jsonMarshallingService; + + @CordaInject + public MemberLookup memberLookup; + + @CordaInject + NotaryLookup notaryLookup; + + @CordaInject + UtxoLedgerService utxoLedgerService; + + // FlowEngine service is required to run SubFlows. + @CordaInject + public FlowEngine flowEngine; + + + @Suspendable + @Override + public String call(@NotNull ClientRequestBody requestBody) { + String statesNotFound = "Multiple or zero Proposal states not found wth id: "; + + // Obtain the deserialized input arguments to the flow from the requestBody. + ModifyFlowArgs request = requestBody.getRequestBodyAs(jsonMarshallingService, ModifyFlowArgs.class); + + // Get UUID from input JSON + UUID proposalID = request.getProposalID(); + + // Getting the old Proposal State as an input state + List> proposalStatAndRef = utxoLedgerService.findUnconsumedStatesByType(Proposal.class); + List> proposalStatAndRefWithId = proposalStatAndRef.stream(). + filter(it -> it.getState().getContractState().getProposalID().equals(proposalID)).collect(Collectors.toList()); + + if (proposalStatAndRefWithId.size() != 1) + throw new CordaRuntimeException(statesNotFound + proposalID); + StateAndRef proposalStateAndRef = proposalStatAndRefWithId.get(0); + Proposal proposalInput = proposalStateAndRef.getState().getContractState(); + + //creating a new Proposal as an output state + Member counterParty = (memberLookup.myInfo().getName().equals(proposalInput.getProposer().getName())) ? proposalInput.getProposee() : proposalInput.getProposer(); + Proposal output = new Proposal(request.getNewAmount(), + new Member(proposalInput.getBuyer().getName(), proposalInput.getBuyer().getLedgerKey()), + new Member(proposalInput.getSeller().getName(), proposalInput.getSeller().getLedgerKey()), + new Member(memberLookup.myInfo().getName(), memberLookup.myInfo().getLedgerKeys().get(0)), + new Member(counterParty.getName(), counterParty.getLedgerKey()), + proposalID); + + // Initiating the transactionBuilder with command to "modify" + UtxoTransactionBuilder transactionBuilder = utxoLedgerService.createTransactionBuilder() + .setNotary(proposalStateAndRef.getState().getNotaryName()) + .setTimeWindowBetween(Instant.now(), Instant.now().plusMillis(Duration.ofMinutes(5).toMillis())) + .addInputState(proposalStateAndRef.getRef()) + .addOutputState(output) + .addCommand(new ProposalAndTradeContract.Modify()) + .addSignatories(output.getParticipants()); + + + // Call FinalizeIOUSubFlow which will finalise the transaction. + // If successful the flow will return a String of the created transaction id, + // if not successful it will return an error message. + try { + UtxoSignedTransaction signedTransaction = transactionBuilder.toSignedTransaction(); + FlowSession counterPartySession = flowMessaging.initiateFlow(counterParty.getName()); + return flowEngine.subFlow(new FInalizeFlow.FinalizeRequest(signedTransaction, List.of(counterPartySession))); + + } catch (Exception e) { + throw new CordaRuntimeException(e.getMessage()); + } + + } +} \ No newline at end of file diff --git a/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/propose/ProposalFlowArgs.java b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/propose/ProposalFlowArgs.java new file mode 100644 index 0000000..973d107 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/propose/ProposalFlowArgs.java @@ -0,0 +1,35 @@ +package com.r3.developers.samples.negotiation.workflows.propose; + +import net.corda.v5.base.annotations.CordaSerializable; + +@CordaSerializable +public class ProposalFlowArgs { + private int amount; + + private String counterParty; + + private boolean isBuyer; + + public ProposalFlowArgs() { + } + + public ProposalFlowArgs(int amount, String counterParty, boolean isBuyer) { + this.amount = amount; + this.counterParty = counterParty; + this.isBuyer = isBuyer; + } + + public int getAmount() { + return amount; + } + + public String getCounterParty() { + return counterParty; + } + + public boolean isBuyer() { + return isBuyer; + } + + +} diff --git a/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/propose/ProposalFlowRequest.java b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/propose/ProposalFlowRequest.java new file mode 100644 index 0000000..6aa773a --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/propose/ProposalFlowRequest.java @@ -0,0 +1,102 @@ +package com.r3.developers.samples.negotiation.workflows.propose; + +import com.r3.developers.samples.negotiation.Proposal; +import com.r3.developers.samples.negotiation.ProposalAndTradeContract; +import com.r3.developers.samples.negotiation.util.Member; +import com.r3.developers.samples.negotiation.workflows.util.FInalizeFlow; +import net.corda.v5.application.flows.*; +import net.corda.v5.application.marshalling.JsonMarshallingService; +import net.corda.v5.application.membership.MemberLookup; +import net.corda.v5.application.messaging.FlowMessaging; +import net.corda.v5.application.messaging.FlowSession; +import net.corda.v5.base.annotations.Suspendable; +import net.corda.v5.base.exceptions.CordaRuntimeException; +import net.corda.v5.base.types.MemberX500Name; +import net.corda.v5.ledger.common.NotaryLookup; +import net.corda.v5.ledger.utxo.UtxoLedgerService; +import net.corda.v5.ledger.utxo.transaction.UtxoSignedTransaction; +import net.corda.v5.ledger.utxo.transaction.UtxoTransactionBuilder; +import net.corda.v5.membership.MemberInfo; +import net.corda.v5.membership.NotaryInfo; +import org.jetbrains.annotations.NotNull; + +import java.time.Duration; +import java.time.Instant; +import java.util.List; +import java.util.Objects; + +@InitiatingFlow(protocol = "proposal") +public class ProposalFlowRequest implements ClientStartableFlow { + + @CordaInject + public FlowMessaging flowMessaging; + + @CordaInject + public JsonMarshallingService jsonMarshallingService; + + @CordaInject + public MemberLookup memberLookup; + + @CordaInject + NotaryLookup notaryLookup; + + @CordaInject + UtxoLedgerService utxoLedgerService; + + // FlowEngine service is required to run SubFlows. + @CordaInject + public FlowEngine flowEngine; + + @Suspendable + @Override + public String call(@NotNull ClientRequestBody requestBody) { + + // Obtain the deserialized input arguments to the flow from the requestBody. + ProposalFlowArgs request = requestBody.getRequestBodyAs(jsonMarshallingService, ProposalFlowArgs.class); + MemberX500Name buyer; + MemberX500Name seller; + + MemberInfo memberInfo = memberLookup.lookup(MemberX500Name.parse(request.getCounterParty())); + Member counterParty = new Member(Objects.requireNonNull(memberInfo).getName(), memberInfo.getLedgerKeys().get(0)); + + if (request.isBuyer()) { + buyer = memberLookup.myInfo().getName(); + seller = memberInfo.getName(); + } else { + buyer = memberInfo.getName(); + seller = memberLookup.myInfo().getName(); + } + + //Create a new Proposal state as an output state + Proposal output = new Proposal(request.getAmount(), + new Member(seller, Objects.requireNonNull(memberLookup.lookup(seller)).getLedgerKeys().get(0)), + new Member(buyer, Objects.requireNonNull(memberLookup.lookup(seller)).getLedgerKeys().get(0)), + new Member(memberLookup.myInfo().getName(), memberLookup.myInfo().getLedgerKeys().get(0)), + counterParty); + + + NotaryInfo notary = notaryLookup.getNotaryServices().iterator().next(); + + //Initiate the transactionBuilder with command to "propose" + UtxoTransactionBuilder transactionBuilder = utxoLedgerService.createTransactionBuilder() + .setNotary(notary.getName()) + .setTimeWindowBetween(Instant.now(), Instant.now().plusMillis(Duration.ofMinutes(5).toMillis())) + .addOutputState(output) + .addCommand(new ProposalAndTradeContract.Propose()) + .addSignatories(output.getParticipants()); + + + // Call FinalizeIOUSubFlow which will finalise the transaction. + // If successful the flow will return a String of the created transaction id, + // if not successful it will return an error message. + try { + UtxoSignedTransaction signedTransaction = transactionBuilder.toSignedTransaction(); + FlowSession counterPartySession = flowMessaging.initiateFlow(counterParty.getName()); + return flowEngine.subFlow(new FInalizeFlow.FinalizeRequest(signedTransaction, List.of(counterPartySession))); + + } catch (Exception e) { + throw new CordaRuntimeException(e.getMessage()); + } + } +} + diff --git a/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/FInalizeFlow.java b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/FInalizeFlow.java new file mode 100644 index 0000000..db47980 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/FInalizeFlow.java @@ -0,0 +1,99 @@ +package com.r3.developers.samples.negotiation.workflows.util; + +import com.r3.developers.samples.negotiation.Proposal; +import net.corda.v5.application.flows.*; +import net.corda.v5.application.messaging.FlowSession; +import net.corda.v5.base.annotations.Suspendable; +import net.corda.v5.base.exceptions.CordaRuntimeException; +import net.corda.v5.base.types.MemberX500Name; +import net.corda.v5.ledger.utxo.UtxoLedgerService; +import net.corda.v5.ledger.utxo.transaction.UtxoSignedTransaction; +import org.jetbrains.annotations.NotNull; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; + +public class FInalizeFlow { + private final static Logger log = LoggerFactory.getLogger(FInalizeFlow.class); + + @InitiatingFlow(protocol = "finalize-protocol") + public static class FinalizeRequest implements SubFlow { + + private final UtxoSignedTransaction signedTransaction; + + private final List sessions; + + public FinalizeRequest(UtxoSignedTransaction signedTransaction, List sessions) { + this.signedTransaction = signedTransaction; + this.sessions = sessions; + } + + // Injects the UtxoLedgerService to enable the flow to make use of the Ledger API. + @CordaInject + public UtxoLedgerService ledgerService; + + @Override + @Suspendable + public String call() { + // Calls the Corda provided + // finalise() function which gather signatures from the counterparty, + // notarises the transaction and persists the transaction to each party's vault. + String result; + try { + UtxoSignedTransaction finalizedSignedTransaction = ledgerService.finalize( + signedTransaction, + sessions + ).getTransaction(); + + result = finalizedSignedTransaction.getId().toString(); + } + // Soft fails the flow and returns the error message without throwing a flow exception. + catch (Exception e) { + log.warn("Finality failed", e); + result = "Finality failed, " + e.getMessage(); + } + // Returns the transaction id converted as a string + return result; + + } + } + + @InitiatedBy(protocol = "finalize-protocol") + public static class FinalizeResponder implements ResponderFlow { + + + // Injects the UtxoLedgerService to enable the flow to make use of the Ledger API. + @CordaInject + public UtxoLedgerService utxoLedgerService; + + @Override + @Suspendable + public void call(@NotNull FlowSession session) { + String proposalError = "Only the proposee can modify or accept a proposal."; + String successMessage = "Successfully finished modification responder flow - "; + + try { + UtxoSignedTransaction finalizedSignedTransaction = utxoLedgerService.receiveFinality(session, transaction -> { + // goes into this if block is command is either modify or accept + if (!transaction.getInputStates(Proposal.class).isEmpty()) { + MemberX500Name proposee = transaction.getInputStates(Proposal.class).get(0).getProposee().getName(); + if (!proposee.toString().equals(session.getCounterparty().toString())) { + throw new CordaRuntimeException(proposalError); + } + } + }).getTransaction(); + + log.info(successMessage + finalizedSignedTransaction.getId()); + + + } + // Soft fails the flow and log the exception. + catch (Exception e) { + log.warn("Exceptionally finished responder flow", e); + } + } + } + + +} diff --git a/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/ListProposal.java b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/ListProposal.java new file mode 100644 index 0000000..41b7465 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/ListProposal.java @@ -0,0 +1,46 @@ +package com.r3.developers.samples.negotiation.workflows.util; + +import com.r3.developers.samples.negotiation.Proposal; +import net.corda.v5.application.flows.ClientRequestBody; +import net.corda.v5.application.flows.ClientStartableFlow; +import net.corda.v5.application.flows.CordaInject; +import net.corda.v5.application.marshalling.JsonMarshallingService; +import net.corda.v5.ledger.utxo.StateAndRef; +import net.corda.v5.ledger.utxo.UtxoLedgerService; +import org.jetbrains.annotations.NotNull; + +import java.util.List; +import java.util.stream.Collectors; + +public class ListProposal implements ClientStartableFlow { + + // Injects the JsonMarshallingService to read and populate JSON parameters. + @CordaInject + public JsonMarshallingService jsonMarshallingService; + + // Injects the UtxoLedgerService to enable the flow to make use of the Ledger API. + @CordaInject + public UtxoLedgerService utxoLedgerService; + + @NotNull + @Override + public String call(@NotNull ClientRequestBody requestBody) { + // Queries the VNode's vault for unconsumed states and converts the result to a serializable DTO. + List> states = utxoLedgerService.findUnconsumedStatesByType(Proposal.class); + List results = states.stream().map(stateAndRef -> + new ListProposalArgs( + stateAndRef.getState().getContractState().getProposalID(), + stateAndRef.getState().getContractState().getAmount(), + stateAndRef.getState().getContractState().getBuyer().toString(), + stateAndRef.getState().getContractState().getSeller().toString(), + stateAndRef.getState().getContractState().getProposer().toString(), + stateAndRef.getState().getContractState().getProposee().toString() + + ) + ).collect(Collectors.toList()); + + // Uses the JsonMarshallingService's format() function to serialize the DTO to Json. + return jsonMarshallingService.format(results); + + } +} diff --git a/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/ListProposalArgs.java b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/ListProposalArgs.java new file mode 100644 index 0000000..e9e5382 --- /dev/null +++ b/java-samples/corda5-negotiation-cordapp/workflows/src/main/java/com/r3/developers/samples/negotiation/workflows/util/ListProposalArgs.java @@ -0,0 +1,51 @@ +package com.r3.developers.samples.negotiation.workflows.util; + +import java.util.UUID; + +public class ListProposalArgs { + + private UUID proposalID; + private int amount; + private String buyer; + private String seller; + private String proposer; + private String proposee; + + public ListProposalArgs() { + } + + public ListProposalArgs(UUID proposalID, int amount, String buyer, String seller, String proposer, String proposee) { + this.proposalID = proposalID; + this.amount = amount; + this.buyer = buyer; + this.seller = seller; + this.proposer = proposer; + this.proposee = proposee; + } + + public UUID getProposalID() { + return proposalID; + } + + public int getAmount() { + return amount; + } + + public String getBuyer() { + return buyer; + } + + public String getSeller() { + return seller; + } + + public String getProposer() { + return proposer; + } + + public String getProposee() { + return proposee; + } + + +} diff --git a/java-samples/corda5-obligation-cordapp/README.md b/java-samples/corda5-obligation-cordapp/README.md deleted file mode 100644 index 24a030c..0000000 --- a/java-samples/corda5-obligation-cordapp/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# C5-Obligation-CorDapp - -This app is our signature CorDapp that we use to show the main functionalities of Corda, which are creating a digital asset, -updating the digital asset, and transferring the digital asset. This app depicts a simple use -case of money borrowing between two parties. In the app, the borrowed asset is called the `IOUState` (I-owe-you) -and it is quantifiable. - -In this app you can: -1. Create a new IOUState with a counterparty. `IOUIssueFlow` -2. List out the IOU entries you had. `ListIOUFlow` -3. Settle(pau back) the IOUState `IOUSettleFlow` -4. Lender transfer the debt to a different person `IOUTransferFlow` - -### Setting up - -1. We will begin our test deployment with clicking the `startCorda`. This task will load up the combined Corda workers in docker. - A successful deployment will allow you to open the REST APIs at: https://localhost:8888/api/v1/swagger#. You can test out some - functions to check connectivity. (GET /cpi function call should return an empty list as for now.) -2. We will now deploy the cordapp with a click of `5-vNodeSetup` task. Upon successful deployment of the CPI, the GET /cpi function call should now return the meta data of the cpi you just upload - - - -### Running the app - -In Corda 5, flows will be triggered via `POST /flow/{holdingidentityshorthash}` and flow result will need to be view at `GET /flow/{holdingidentityshorthash}/{clientrequestid}` -* holdingidentityshorthash: the id of the network participants, ie Bob, Alice, Charlie. You can view all the short hashes of the network member with another gradle task called `ListVNodes` -* clientrequestid: the id you specify in the flow requestBody when you trigger a flow. - -#### Step 1: Create IOUState between two parties -Pick a VNode identity to initiate the IOU creation, and get its short hash. (Let's pick Alice. Don't pick Bob because Bob is the person who alice will borrow from). - -Go to `POST /flow/{holdingidentityshorthash}`, enter the identity short hash(Alice's hash) and request body: -``` -{ - "clientRequestId": "createiou-1", - "flowClassName": "com.r3.developers.samples.obligation.workflows.IOUIssueFlow", - "requestBody": { - "amount":"20", - "lender":"CN=Bob, OU=Test Dept, O=R3, L=London, C=GB" - } -} -``` - -After trigger the create-IOUflow, hop to `GET /flow/{holdingidentityshorthash}/{clientrequestid}` and enter the short hash(Alice's hash) and client request id to view the flow result - -#### Step 2: List created IOU state -In order to continue the app logics, we would need the IOU ID. This step will bring out all the IOU entries this entity (Alice) has. -Go to `POST /flow/{holdingidentityshorthash}`, enter the identity short hash(Alice's hash) and request body: -``` -{ - "clientRequestId": "list-1", - "flowClassName": "com.r3.developers.samples.obligation.workflows.ListIOUFlow", - "requestBody": {} -} -``` -After trigger the list-IOUs flow, again, we need to hop to `GET /flow/{holdingidentityshorthash}/{clientrequestid}` and check the result. Let's record that id. - - -#### Step 3: Partially settle the IOU with `IOUSettleFlow` -In this step, we will partially settle the IOU with some amount. -Goto `POST /flow/{holdingidentityshorthash}`, enter the identity short hash and request body. Note that the settle action can only be initiated by the borrower of the IOU -``` -{ - "clientRequestId": "settleiou-1", - "flowClassName": "com.r3.developers.samples.obligation.workflows.IOUSettleFlow", - "requestBody": { - "amountSettle":"10", - "iouID":" ** fill in id **" - } -} -``` -And as for the result of this flow, go to `GET /flow/{holdingidentityshorthash}/{clientrequestid}` and enter the required fields. - -#### Step 4: Lastly, the lender of the IOU can transfer the IOU to a different owner. -Note this transfer action can only be initiated by the lender of the IOU. We will have Bob transfer his IOU to Charlie. -We will now take Bob's shorthash and enter the following request Body. -``` -{ - "clientRequestId": "transferiou-1", - "flowClassName": "com.r3.developers.samples.obligation.workflows.IOUTransferFlow", - "requestBody": { - "newLender":"CN=Charlie, OU=Test Dept, O=R3, L=London, C=GB", - "iouID":" ** fill in id **" - } -} -``` -And as for the result, you need to go to the Get API again and enter the short hash and client request ID. - -Thus, we have concluded a full run through of the obligation app. diff --git a/java-samples/encumbrance-pawn-shop/workflows/src/main/java/com/r3/developers/samples/encumbrance/workflows/CreateAssetFlow.java b/java-samples/encumbrance-pawn-shop/workflows/src/main/java/com/r3/developers/samples/encumbrance/workflows/CreateAssetFlow.java deleted file mode 100644 index 5fe3b91..0000000 --- a/java-samples/encumbrance-pawn-shop/workflows/src/main/java/com/r3/developers/samples/encumbrance/workflows/CreateAssetFlow.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.r3.developers.samples.encumbrance.workflows; - -import com.r3.developers.samples.encumbrance.contracts.AssetContract; -import com.r3.developers.samples.encumbrance.states.Asset; -import com.r3.developers.samples.encumbrance.states.Member; -import net.corda.v5.application.flows.ClientRequestBody; -import net.corda.v5.application.flows.ClientStartableFlow; -import net.corda.v5.application.flows.CordaInject; -import net.corda.v5.application.marshalling.JsonMarshallingService; -import net.corda.v5.application.membership.MemberLookup; -import net.corda.v5.application.messaging.FlowMessaging; -import net.corda.v5.base.annotations.Suspendable; -import net.corda.v5.base.exceptions.CordaRuntimeException; -import net.corda.v5.ledger.common.NotaryLookup; -import net.corda.v5.ledger.utxo.UtxoLedgerService; -import net.corda.v5.ledger.utxo.transaction.UtxoSignedTransaction; -import net.corda.v5.ledger.utxo.transaction.UtxoTransactionBuilder; -import net.corda.v5.membership.MemberInfo; -import net.corda.v5.membership.NotaryInfo; -import org.jetbrains.annotations.NotNull; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.time.Duration; -import java.time.Instant; -import java.util.Collections; -import java.util.UUID; - -public class CreateAssetFlow implements ClientStartableFlow { - private final static Logger log = LoggerFactory.getLogger(CreateAssetFlow.class); - @CordaInject - private JsonMarshallingService jsonMarshallingService; - @CordaInject - private MemberLookup memberLookup; - @CordaInject - private NotaryLookup notaryLookup; - @CordaInject - private UtxoLedgerService ledgerService; - - @NotNull - @Override - @Suspendable - public String call(@NotNull ClientRequestBody requestBody) { - try{ - CreateAssetFlowArgs flowArgs = requestBody.getRequestBodyAs(jsonMarshallingService, CreateAssetFlowArgs.class); - MemberInfo myInfo = memberLookup.myInfo(); - NotaryInfo notary = notaryLookup.getNotaryServices().iterator().next(); - - Asset asset = new Asset( - new Member(myInfo.getName(), myInfo.getLedgerKeys().get(0)), - flowArgs.getAssetName(), - UUID.randomUUID().toString(), - Collections.singletonList(myInfo.getLedgerKeys().get(0)) - ); - UtxoTransactionBuilder transactionBuilder = ledgerService.createTransactionBuilder() - .setNotary(notary.getName()) - .setTimeWindowBetween(Instant.now(), Instant.now().plusMillis(Duration.ofMinutes(5).toMillis())) - .addOutputState(asset) - .addCommand(new AssetContract.Create()) - .addSignatories(asset.getOwner().getLedgerKey()); - UtxoSignedTransaction signedTransaction = transactionBuilder.toSignedTransaction(); - UtxoSignedTransaction finalizedTransaction = - ledgerService.finalize(signedTransaction, Collections.emptyList()).getTransaction(); - - return finalizedTransaction.getId().toString(); - }catch (Exception e){ - log.warn("Failed to process flow for request body " + requestBody + " because: " + e.getMessage()); - throw new CordaRuntimeException(e.getMessage()); - } - } -} - -/* Example JSON to put into REST-API POST requestBody -{ - "clientRequestId": "create-asset", - "flowClassName": "com.r3.developers.samples.encumbrance.workflows.CreateAssetFlow", - "requestBody": { - "assetName": "My Asset" - } -} -*/ \ No newline at end of file