Skip to content

Commit 03fe800

Browse files
authored
Merge pull request corda#2 from corda/oracle-primenumber_CCV
oracle-primenumber: added checkCommandVisibility to oracle service
2 parents 4a6314f + 89988e9 commit 03fe800

File tree

1 file changed

+10
-0
lines changed
  • Features/oracle-primenumber/service/src/main/java/net/corda/examples/oracle/service/service

1 file changed

+10
-0
lines changed

Features/oracle-primenumber/service/src/main/java/net/corda/examples/oracle/service/service/Oracle.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import net.corda.core.node.ServiceHub;
66
import net.corda.core.node.services.CordaService;
77
import net.corda.core.serialization.SingletonSerializeAsToken;
8+
import net.corda.core.transactions.ComponentVisibilityException;
89
import net.corda.core.transactions.FilteredTransaction;
910
import net.corda.core.transactions.FilteredTransactionVerificationException;
1011
import net.corda.examples.oracle.base.contract.PrimeContract;
@@ -74,6 +75,15 @@ public TransactionSignature sign(FilteredTransaction ftx) throws FilteredTransac
7475

7576
// Is it a Merkle tree we are willing to sign over?
7677
boolean isValidMerkleTree = ftx.checkWithFun(this::isCommandWithCorrectPrimeAndIAmSigner);
78+
try {
79+
/**
80+
* Function that checks if all of the commands that should be signed by the input public key are visible.
81+
* This functionality is required from Oracles to check that all of the commands they should sign are visible.
82+
*/
83+
ftx.checkCommandVisibility(services.getMyInfo().getLegalIdentities().get(0).getOwningKey());
84+
} catch (ComponentVisibilityException e) {
85+
e.printStackTrace();
86+
}
7787

7888
if (isValidMerkleTree) {
7989
return services.createSignature(ftx, myKey);

0 commit comments

Comments
 (0)