Skip to content

Commit 8f48fb6

Browse files
committed
spaceship revamp
1 parent c004a74 commit 8f48fb6

File tree

21 files changed

+98
-126
lines changed

21 files changed

+98
-126
lines changed

Tokens/spaceships-javaAPIs/build.gradle

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,8 @@ buildscript {
1313
log4j_version = constants.getProperty("log4jVersion")
1414
slf4j_version = constants.getProperty("slf4jVersion")
1515
corda_platform_version = constants.getProperty("platformVersion").toInteger()
16-
//springboot
17-
spring_boot_version = '2.0.2.RELEASE'
18-
spring_boot_gradle_plugin_version = '2.0.2.RELEASE'
1916

2017
//TokenSDK
21-
// FOR USE with snapshot source (pre-release JAVA APIs)
2218
tokens_release_group = 'com.r3.corda.lib.tokens'
2319
tokens_release_version = '1.2'
2420
}
@@ -34,7 +30,6 @@ buildscript {
3430
classpath "net.corda.plugins:cordapp:$corda_gradle_plugins_version"
3531
classpath "net.corda.plugins:cordformation:$corda_gradle_plugins_version"
3632
classpath "net.corda.plugins:quasar-utils:$corda_gradle_plugins_version"
37-
classpath "org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_gradle_plugin_version"
3833
}
3934
}
4035

@@ -47,9 +42,10 @@ allprojects {
4742
mavenCentral()
4843
maven { url 'https://software.r3.com/artifactory/corda' }
4944
maven { url 'https://jitpack.io' }
50-
maven { url 'https://repo.gradle.org/gradle/libs-releases' }
45+
//SDK lib
5146
maven { url 'https://software.r3.com/artifactory/corda-lib' }
52-
maven { url 'https://software.r3.com/artifactory/corda-lib-dev' }
47+
//Gradle Plugins
48+
maven { url 'https://repo.gradle.org/gradle/libs-releases' }
5349
}
5450

5551
tasks.withType(JavaCompile) {
@@ -72,14 +68,7 @@ allprojects {
7268
apply plugin: 'net.corda.plugins.cordapp'
7369
apply plugin: 'net.corda.plugins.cordformation'
7470
apply plugin: 'net.corda.plugins.quasar-utils'
75-
cordapp {
76-
info {
77-
name "CorDapp spaceshipstoken"
78-
vendor "Corda Open Source"
79-
targetPlatformVersion corda_platform_version.toInteger()
80-
minimumPlatformVersion corda_platform_version.toInteger()
81-
}
82-
}
71+
8372
sourceSets {
8473
main {
8574
resources {
@@ -116,7 +105,7 @@ task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
116105
cordapp("$tokens_release_group:tokens-workflows:$tokens_release_version")
117106
cordapp project(':contracts')
118107
cordapp project(':workflows')
119-
runSchemaMigration = true
108+
runSchemaMigration = true
120109
}
121110
node {
122111
name "O=Notary,L=London,C=GB"

Tokens/spaceships-javaAPIs/contracts/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ cordapp {
55
targetPlatformVersion corda_platform_version.toInteger()
66
minimumPlatformVersion corda_platform_version.toInteger()
77
contract {
8-
name "spaceshipstoken CorDapp"
8+
name "spaceshipstoken Contracts"
99
vendor "Corda Open Source"
1010
licence "Apache License, Version 2.0"
1111
versionId 1
@@ -23,4 +23,6 @@ dependencies {
2323

2424
// Token SDK dependencies.
2525
cordaCompile "$tokens_release_group:tokens-contracts:$tokens_release_version"
26+
// Token SDK dependencies.
27+
cordaCompile "$tokens_release_group:tokens-workflows:$tokens_release_version"
2628
}

Tokens/spaceships-javaAPIs/contracts/src/main/java/net/corda/examples/spaceships/contracts/SpaceshipTokenContract.java

Lines changed: 0 additions & 19 deletions
This file was deleted.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package net.corda.samples.spaceships.contracts;
2+
3+
import com.r3.corda.lib.tokens.contracts.EvolvableTokenContract;
4+
import net.corda.core.contracts.Contract;
5+
import net.corda.core.transactions.LedgerTransaction;
6+
import net.corda.samples.spaceships.states.SpaceshipTokenType;
7+
import org.jetbrains.annotations.NotNull;
8+
9+
import static net.corda.core.contracts.ContractsDSL.requireThat;
10+
11+
public class SpaceshipTokenContract extends EvolvableTokenContract implements Contract {
12+
13+
public static final String CONTRACT_ID = "net.corda.samples.spaceships.contracts.SpaceshipTokenContract";
14+
15+
@Override
16+
public void additionalCreateChecks(@NotNull LedgerTransaction tx) {
17+
SpaceshipTokenType newToken = (SpaceshipTokenType) tx.getOutputStates().get(0);
18+
requireThat( require -> {
19+
require.using("Planet Of Origin cannot be empty",(!newToken.getPlanetOfOrigin().equals("")));
20+
return null;
21+
});
22+
}
23+
24+
@Override
25+
public void additionalUpdateChecks(@NotNull LedgerTransaction tx) {
26+
/*This additional check does not apply to this use case.
27+
*This sample does not allow token update */
28+
}
29+
}

Tokens/spaceships-javaAPIs/contracts/src/main/java/net/corda/examples/spaceships/states/SpaceshipTokenType.java renamed to Tokens/spaceships-javaAPIs/contracts/src/main/java/net/corda/samples/spaceships/states/SpaceshipTokenType.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package net.corda.examples.spaceships.states;
1+
package net.corda.samples.spaceships.states;
22

33
import com.r3.corda.lib.tokens.contracts.states.EvolvableTokenType;
44
import com.r3.corda.lib.tokens.contracts.types.TokenPointer;
@@ -9,7 +9,7 @@
99
import net.corda.core.contracts.UniqueIdentifier;
1010
import net.corda.core.identity.Party;
1111
import net.corda.core.serialization.ConstructorForDeserialization;
12-
import net.corda.examples.spaceships.contracts.SpaceshipTokenContract;
12+
import net.corda.samples.spaceships.contracts.SpaceshipTokenContract;
1313
import org.jetbrains.annotations.NotNull;
1414

1515
import java.util.Collections;

Tokens/spaceships-javaAPIs/contracts/src/test/java/net/corda/examples/spaceships/contracts/ContractTests.java

Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package net.corda.samples.spaceships.contracts;
2+
3+
import com.r3.corda.lib.tokens.contracts.utilities.AmountUtilities;
4+
import com.r3.corda.lib.tokens.money.FiatCurrency;
5+
import net.corda.core.identity.CordaX500Name;
6+
import net.corda.samples.spaceships.states.SpaceshipTokenType;
7+
import net.corda.testing.core.TestIdentity;
8+
import net.corda.testing.node.MockServices;
9+
import org.junit.Test;
10+
import static net.corda.testing.node.NodeTestUtils.ledger;
11+
12+
public class ContractTests {
13+
private final MockServices ledgerServices = new MockServices();
14+
TestIdentity Operator = new TestIdentity(new CordaX500Name("Alice", "TestLand", "US"));
15+
16+
@Test
17+
public void issuerAndRecipientCannotHaveSameEmail() {
18+
SpaceshipTokenType tokenPass = new SpaceshipTokenType(
19+
Operator.getParty(),"CordaNumber1","Earth", 9, AmountUtilities.amount(1000, FiatCurrency.getInstance("USD")) ,true);
20+
SpaceshipTokenType tokenFail = new SpaceshipTokenType(
21+
Operator.getParty(),"CordaNumber1","", 9, AmountUtilities.amount(1000, FiatCurrency.getInstance("USD")) ,true);
22+
23+
ledger(ledgerServices, l -> {
24+
l.transaction(tx -> {
25+
tx.output(SpaceshipTokenContract.CONTRACT_ID, tokenFail);
26+
tx.command(Operator.getPublicKey(), new com.r3.corda.lib.tokens.contracts.commands.Create()); // Wrong type.
27+
return tx.fails();
28+
});
29+
l.transaction(tx -> {
30+
tx.output(SpaceshipTokenContract.CONTRACT_ID, tokenPass);
31+
tx.command(Operator.getPublicKey(), new com.r3.corda.lib.tokens.contracts.commands.Create()); // Wrong type.
32+
return tx.verifies();
33+
});
34+
return null;
35+
});
36+
}
37+
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
name=Test
1+
name=Spaceshipstoken Cordapp
22
group=com.spaceshipstoken
3-
version=0.1
3+
version=1.0

Tokens/spaceships-javaAPIs/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

Tokens/spaceships-javaAPIs/workflows/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ dependencies {
4444
// Corda dependencies.
4545
cordaCompile "$corda_core_release_group:corda-core:$corda_core_release_version"
4646
cordaRuntime "$corda_release_group:corda:$corda_release_version"
47-
4847
testCompile "$corda_release_group:corda-node-driver:$corda_release_version"
4948

5049
// CorDapp dependencies.

0 commit comments

Comments
 (0)