diff --git a/application/scans/corda-application-5.2.0.yaml b/application/scans/corda-application-5.2.0.yaml index 28f677c51f..6c487309f2 100644 --- a/application/scans/corda-application-5.2.0.yaml +++ b/application/scans/corda-application-5.2.0.yaml @@ -1463,7 +1463,7 @@ net.corda.v5.application.messaging.FlowSession: type: Object net.corda.v5.application.messaging.FlowSessionConfiguration: annotations: [] - type: public class + type: public final class extends: null implements: [] interface: false @@ -1480,7 +1480,7 @@ net.corda.v5.application.messaging.FlowSessionConfiguration: returnType: boolean net.corda.v5.application.messaging.FlowSessionConfiguration$Builder: annotations: [] - type: public static class + type: public static final class extends: null implements: [] interface: false @@ -1619,7 +1619,7 @@ net.corda.v5.application.persistence.ParameterizedQuery: type: String value: annotation: - - NotNull + - Nullable type: Object setParameters: annotations: diff --git a/gradle.properties b/gradle.properties index ff3f0c1f1f..3661308479 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ cordaProductVersion = 5.2.0 # NOTE: update this each time this module contains a breaking change ## NOTE: currently this is a top level revision, so all API versions will line up, but this could be moved to ## a per module property in which case module versions can change independently. -cordaApiRevision = 22 +cordaApiRevision = 23 # Main kotlin.stdlib.default.dependency = false diff --git a/ledger/ledger-utxo/scans/corda-ledger-utxo-5.2.0.yaml b/ledger/ledger-utxo/scans/corda-ledger-utxo-5.2.0.yaml index 273a6c7a42..348f44719f 100644 --- a/ledger/ledger-utxo/scans/corda-ledger-utxo-5.2.0.yaml +++ b/ledger/ledger-utxo/scans/corda-ledger-utxo-5.2.0.yaml @@ -839,7 +839,7 @@ net.corda.v5.ledger.utxo.query.VaultNamedParameterizedQuery: type: String value: annotation: - - NotNull + - Nullable type: Object setParameters: annotations: @@ -1670,6 +1670,11 @@ net.corda.v5.ledger.utxo.transaction.UtxoSignedTransaction: referenceStateAndRefs: annotation: [] type: java.util.List> + verifySignatorySignatures: + annotations: [] + default: false + type: public abstract + returnType: void net.corda.v5.ledger.utxo.transaction.UtxoTransactionBuilder: annotations: - DoNotImplement diff --git a/ledger/ledger-utxo/src/main/java/net/corda/v5/ledger/utxo/transaction/UtxoSignedTransaction.java b/ledger/ledger-utxo/src/main/java/net/corda/v5/ledger/utxo/transaction/UtxoSignedTransaction.java index f46eb02476..9398b665d5 100644 --- a/ledger/ledger-utxo/src/main/java/net/corda/v5/ledger/utxo/transaction/UtxoSignedTransaction.java +++ b/ledger/ledger-utxo/src/main/java/net/corda/v5/ledger/utxo/transaction/UtxoSignedTransaction.java @@ -5,6 +5,7 @@ import net.corda.v5.base.annotations.DoNotImplement; import net.corda.v5.base.annotations.Suspendable; import net.corda.v5.base.types.MemberX500Name; +import net.corda.v5.ledger.common.transaction.TransactionSignatureException; import net.corda.v5.ledger.common.transaction.TransactionWithMetadata; import net.corda.v5.ledger.utxo.Command; import net.corda.v5.ledger.utxo.StateAndRef; @@ -132,4 +133,12 @@ public interface UtxoSignedTransaction extends TransactionWithMetadata { @NotNull @Suspendable UtxoLedgerTransaction toLedgerTransaction(List> inputStateAndRefs, List> referenceStateAndRefs); + + /** + * Verify the signatories' signatures and check if there are any missing one. + * It ignores the non-signatory signatures! (including the notary's) + * + * @throws TransactionSignatureException if any signatures are missing or invalid. + */ + void verifySignatorySignatures(); }