From df7e3ca184189970e112c601f868f72eb509355a Mon Sep 17 00:00:00 2001
From: Joseph Zuniga-Daly <59851625+josephzunigadaly@users.noreply.github.com>
Date: Mon, 24 Aug 2020 14:32:10 +0100
Subject: [PATCH] CORDA-3908: Update corda-4.5 .ci/api-current.txt to match the
 previous release (corda-4.4) (#6648)

* CORDA-3908: Update corda-4.5 .ci/api-current.txt to match the previous release (corda-4.4)

* Reapply changes from PR 5998
https://github.com/corda/corda/pull/5998
---
 .ci/api-current.txt | 550 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 550 insertions(+)

diff --git a/.ci/api-current.txt b/.ci/api-current.txt
index 64e351610e..e60d7ef22c 100644
--- a/.ci/api-current.txt
+++ b/.ci/api-current.txt
@@ -478,6 +478,8 @@ public interface net.corda.core.contracts.Attachment extends net.corda.core.cont
 public interface net.corda.core.contracts.AttachmentConstraint
   public abstract boolean isSatisfiedBy(net.corda.core.contracts.Attachment)
 ##
+public final class net.corda.core.contracts.AttachmentConstraintKt extends java.lang.Object
+##
 @CordaSerializable
 public final class net.corda.core.contracts.AttachmentResolutionException extends net.corda.core.flows.FlowException
   public <init>(net.corda.core.crypto.SecureHash)
@@ -500,6 +502,12 @@ public @interface net.corda.core.contracts.BelongsToContract
   public abstract Class<? extends net.corda.core.contracts.Contract> value()
 ##
 @CordaSerializable
+public final class net.corda.core.contracts.BrokenAttachmentException extends net.corda.core.flows.FlowException
+  public <init>(net.corda.core.crypto.SecureHash, String, Throwable)
+  @NotNull
+  public final net.corda.core.crypto.SecureHash getAttachmentId()
+##
+@CordaSerializable
 public final class net.corda.core.contracts.Command extends java.lang.Object
   public <init>(T, java.security.PublicKey)
   public <init>(T, java.util.List<? extends java.security.PublicKey>)
@@ -569,6 +577,7 @@ public interface net.corda.core.contracts.Contract
   public abstract void verify(net.corda.core.transactions.LedgerTransaction)
 ##
 @DoNotImplement
+@CordaSerializable
 public final class net.corda.core.contracts.ContractAttachment extends java.lang.Object implements net.corda.core.contracts.Attachment
   public <init>(net.corda.core.contracts.Attachment, String)
   public <init>(net.corda.core.contracts.Attachment, String, java.util.Set<String>)
@@ -647,6 +656,11 @@ public final class net.corda.core.contracts.HashAttachmentConstraint extends jav
   public boolean isSatisfiedBy(net.corda.core.contracts.Attachment)
   @NotNull
   public String toString()
+  public static final net.corda.core.contracts.HashAttachmentConstraint$Companion Companion
+##
+public static final class net.corda.core.contracts.HashAttachmentConstraint$Companion extends java.lang.Object
+  public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
+  public final boolean getDisableHashConstraints()
 ##
 @CordaSerializable
 public final class net.corda.core.contracts.InsufficientBalanceException extends net.corda.core.flows.FlowException
@@ -675,15 +689,20 @@ public final class net.corda.core.contracts.Issued extends java.lang.Object
 public @interface net.corda.core.contracts.LegalProseReference
   public abstract String uri()
 ##
+@DoNotImplement
 @CordaSerializable
 public final class net.corda.core.contracts.LinearPointer extends net.corda.core.contracts.StatePointer
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.contracts.UniqueIdentifier, Class<T>)
+  public <init>(net.corda.core.contracts.UniqueIdentifier, Class<T>, boolean)
+  public <init>(net.corda.core.contracts.UniqueIdentifier, Class, boolean, int, kotlin.jvm.internal.DefaultConstructorMarker)
   public boolean equals(Object)
   @NotNull
   public net.corda.core.contracts.UniqueIdentifier getPointer()
   @NotNull
   public Class<T> getType()
   public int hashCode()
+  public boolean isResolved()
   @NotNull
   public net.corda.core.contracts.StateAndRef<T> resolve(net.corda.core.node.ServiceHub)
   @NotNull
@@ -871,6 +890,7 @@ public final class net.corda.core.contracts.StateAndRef extends java.lang.Object
   @NotNull
   public String toString()
 ##
+@DoNotImplement
 @CordaSerializable
 public abstract class net.corda.core.contracts.StatePointer extends java.lang.Object
   public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
@@ -878,10 +898,15 @@ public abstract class net.corda.core.contracts.StatePointer extends java.lang.Ob
   public abstract Object getPointer()
   @NotNull
   public abstract Class<T> getType()
+  public abstract boolean isResolved()
   @NotNull
   public abstract net.corda.core.contracts.StateAndRef<T> resolve(net.corda.core.node.ServiceHub)
   @NotNull
   public abstract net.corda.core.contracts.StateAndRef<T> resolve(net.corda.core.transactions.LedgerTransaction)
+  public static final net.corda.core.contracts.StatePointer$Companion Companion
+##
+public static final class net.corda.core.contracts.StatePointer$Companion extends java.lang.Object
+  public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
 ##
 @CordaSerializable
 public final class net.corda.core.contracts.StateRef extends java.lang.Object
@@ -899,15 +924,20 @@ public final class net.corda.core.contracts.StateRef extends java.lang.Object
   @NotNull
   public String toString()
 ##
+@DoNotImplement
 @CordaSerializable
 public final class net.corda.core.contracts.StaticPointer extends net.corda.core.contracts.StatePointer
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.contracts.StateRef, Class<T>)
+  public <init>(net.corda.core.contracts.StateRef, Class<T>, boolean)
+  public <init>(net.corda.core.contracts.StateRef, Class, boolean, int, kotlin.jvm.internal.DefaultConstructorMarker)
   public boolean equals(Object)
   @NotNull
   public net.corda.core.contracts.StateRef getPointer()
   @NotNull
   public Class<T> getType()
   public int hashCode()
+  public boolean isResolved()
   @NotNull
   public net.corda.core.contracts.StateAndRef<T> resolve(net.corda.core.node.ServiceHub)
   @NotNull
@@ -1010,12 +1040,17 @@ public final class net.corda.core.contracts.TransactionState extends java.lang.O
 ##
 public final class net.corda.core.contracts.TransactionStateKt extends java.lang.Object
 ##
+@CordaSerializable
 public abstract class net.corda.core.contracts.TransactionVerificationException extends net.corda.core.flows.FlowException
   public <init>(net.corda.core.crypto.SecureHash, String, Throwable)
   @NotNull
   public final net.corda.core.crypto.SecureHash getTxId()
 ##
 @CordaSerializable
+public static final class net.corda.core.contracts.TransactionVerificationException$BrokenTransactionException extends net.corda.core.contracts.TransactionVerificationException
+  public <init>(net.corda.core.crypto.SecureHash, String)
+##
+@CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$ConflictingAttachmentsRejection extends net.corda.core.contracts.TransactionVerificationException
   public <init>(net.corda.core.crypto.SecureHash, String)
   @NotNull
@@ -1023,6 +1058,7 @@ public static final class net.corda.core.contracts.TransactionVerificationExcept
 ##
 @CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$ConstraintPropagationRejection extends net.corda.core.contracts.TransactionVerificationException
+  public <init>(net.corda.core.crypto.SecureHash, String)
   public <init>(net.corda.core.crypto.SecureHash, String, net.corda.core.contracts.AttachmentConstraint, net.corda.core.contracts.AttachmentConstraint)
   @NotNull
   public final String getContractClass()
@@ -1035,6 +1071,7 @@ public static final class net.corda.core.contracts.TransactionVerificationExcept
 ##
 @CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$ContractCreationError extends net.corda.core.contracts.TransactionVerificationException
+  public <init>(net.corda.core.crypto.SecureHash, String, Throwable)
   public <init>(net.corda.core.crypto.SecureHash, String, Throwable, String)
   @NotNull
   public final String getContractClass()
@@ -1052,12 +1089,32 @@ public static final class net.corda.core.contracts.TransactionVerificationExcept
   public static net.corda.core.contracts.TransactionVerificationException$Direction[] values()
 ##
 @CordaSerializable
+public static final class net.corda.core.contracts.TransactionVerificationException$DuplicateAttachmentsRejection extends net.corda.core.contracts.TransactionVerificationException
+  public <init>(net.corda.core.crypto.SecureHash, net.corda.core.contracts.Attachment)
+  @NotNull
+  public final net.corda.core.contracts.Attachment getAttachmentId()
+##
+@CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$DuplicateInputStates extends net.corda.core.contracts.TransactionVerificationException
   public <init>(net.corda.core.crypto.SecureHash, net.corda.core.utilities.NonEmptySet<net.corda.core.contracts.StateRef>)
   @NotNull
   public final net.corda.core.utilities.NonEmptySet<net.corda.core.contracts.StateRef> getDuplicates()
 ##
 @CordaSerializable
+public static final class net.corda.core.contracts.TransactionVerificationException$InvalidAttachmentException extends net.corda.core.contracts.TransactionVerificationException
+  public <init>(net.corda.core.crypto.SecureHash, net.corda.core.crypto.SecureHash)
+  @NotNull
+  public final net.corda.core.crypto.SecureHash getAttachmentHash()
+##
+@CordaSerializable
+public static final class net.corda.core.contracts.TransactionVerificationException$InvalidConstraintRejection extends net.corda.core.contracts.TransactionVerificationException
+  public <init>(net.corda.core.crypto.SecureHash, String, String)
+  @NotNull
+  public final String getContractClass()
+  @NotNull
+  public final String getReason()
+##
+@CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$InvalidNotaryChange extends net.corda.core.contracts.TransactionVerificationException
   public <init>(net.corda.core.crypto.SecureHash)
 ##
@@ -1068,6 +1125,11 @@ public static final class net.corda.core.contracts.TransactionVerificationExcept
   public final String getContractClass()
 ##
 @CordaSerializable
+public static final class net.corda.core.contracts.TransactionVerificationException$MissingNetworkParametersException extends net.corda.core.contracts.TransactionVerificationException
+  public <init>(net.corda.core.crypto.SecureHash, String)
+  public <init>(net.corda.core.crypto.SecureHash, net.corda.core.crypto.SecureHash)
+##
+@CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$MoreThanOneNotary extends net.corda.core.contracts.TransactionVerificationException
   public <init>(net.corda.core.crypto.SecureHash)
 ##
@@ -1082,6 +1144,8 @@ public static final class net.corda.core.contracts.TransactionVerificationExcept
 @CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$OverlappingAttachmentsException extends net.corda.core.contracts.TransactionVerificationException
   public <init>(net.corda.core.crypto.SecureHash, String)
+  @NotNull
+  public final String getPath()
 ##
 @CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$PackageOwnershipException extends net.corda.core.contracts.TransactionVerificationException
@@ -1101,11 +1165,13 @@ public static final class net.corda.core.contracts.TransactionVerificationExcept
 ##
 @CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$TransactionContractConflictException extends net.corda.core.contracts.TransactionVerificationException
+  public <init>(net.corda.core.crypto.SecureHash, String)
   public <init>(net.corda.core.crypto.SecureHash, net.corda.core.contracts.TransactionState<? extends net.corda.core.contracts.ContractState>, String)
 ##
 @CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$TransactionDuplicateEncumbranceException extends net.corda.core.contracts.TransactionVerificationException
   public <init>(net.corda.core.crypto.SecureHash, int)
+  public <init>(net.corda.core.crypto.SecureHash, String)
 ##
 @CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$TransactionMissingEncumbranceException extends net.corda.core.contracts.TransactionVerificationException
@@ -1115,18 +1181,34 @@ public static final class net.corda.core.contracts.TransactionVerificationExcept
   public final int getMissing()
 ##
 @CordaSerializable
+public static final class net.corda.core.contracts.TransactionVerificationException$TransactionNetworkParameterOrderingException extends net.corda.core.contracts.TransactionVerificationException
+  public <init>(net.corda.core.crypto.SecureHash, String)
+  public <init>(net.corda.core.crypto.SecureHash, net.corda.core.contracts.StateRef, net.corda.core.node.NetworkParameters, net.corda.core.node.NetworkParameters)
+##
+@CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$TransactionNonMatchingEncumbranceException extends net.corda.core.contracts.TransactionVerificationException
+  public <init>(net.corda.core.crypto.SecureHash, String)
   public <init>(net.corda.core.crypto.SecureHash, java.util.Collection<Integer>)
 ##
 @CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$TransactionNotaryMismatchEncumbranceException extends net.corda.core.contracts.TransactionVerificationException
   public <init>(net.corda.core.crypto.SecureHash, int, int, net.corda.core.identity.Party, net.corda.core.identity.Party)
+  public <init>(net.corda.core.crypto.SecureHash, String)
 ##
 @CordaSerializable
 public static final class net.corda.core.contracts.TransactionVerificationException$TransactionRequiredContractUnspecifiedException extends net.corda.core.contracts.TransactionVerificationException
+  public <init>(net.corda.core.crypto.SecureHash, String)
   public <init>(net.corda.core.crypto.SecureHash, net.corda.core.contracts.TransactionState<? extends net.corda.core.contracts.ContractState>)
 ##
 @CordaSerializable
+public static final class net.corda.core.contracts.TransactionVerificationException$UntrustedAttachmentsException extends net.corda.core.CordaException
+  public <init>(net.corda.core.crypto.SecureHash, java.util.List<? extends net.corda.core.crypto.SecureHash>)
+  @NotNull
+  public final java.util.List<net.corda.core.crypto.SecureHash> getIds()
+  @NotNull
+  public final net.corda.core.crypto.SecureHash getTxId()
+##
+@CordaSerializable
 public abstract class net.corda.core.contracts.TypeOnlyCommandData extends java.lang.Object implements net.corda.core.contracts.CommandData
   public <init>()
   public boolean equals(Object)
@@ -1367,6 +1449,48 @@ public final class net.corda.core.cordapp.CordappContext extends java.lang.Objec
 public static final class net.corda.core.cordapp.CordappContext$Companion extends java.lang.Object
   public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
 ##
+@CordaSerializable
+public final class net.corda.core.cordapp.CordappInfo extends java.lang.Object
+  public <init>(String, String, String, int, int, String, String, String, net.corda.core.crypto.SecureHash$SHA256)
+  @NotNull
+  public final String component1()
+  @NotNull
+  public final String component2()
+  @NotNull
+  public final String component3()
+  public final int component4()
+  public final int component5()
+  @NotNull
+  public final String component6()
+  @NotNull
+  public final String component7()
+  @NotNull
+  public final String component8()
+  @NotNull
+  public final net.corda.core.crypto.SecureHash$SHA256 component9()
+  @NotNull
+  public final net.corda.core.cordapp.CordappInfo copy(String, String, String, int, int, String, String, String, net.corda.core.crypto.SecureHash$SHA256)
+  public boolean equals(Object)
+  @NotNull
+  public final net.corda.core.crypto.SecureHash$SHA256 getJarHash()
+  @NotNull
+  public final String getLicence()
+  public final int getMinimumPlatformVersion()
+  @NotNull
+  public final String getName()
+  @NotNull
+  public final String getShortName()
+  public final int getTargetPlatformVersion()
+  @NotNull
+  public final String getType()
+  @NotNull
+  public final String getVendor()
+  @NotNull
+  public final String getVersion()
+  public int hashCode()
+  @NotNull
+  public String toString()
+##
 @DoNotImplement
 public interface net.corda.core.cordapp.CordappProvider
   @NotNull
@@ -1528,6 +1652,8 @@ public final class net.corda.core.crypto.CordaObjectIdentifier extends java.lang
 ##
 public final class net.corda.core.crypto.CordaSecurityProvider extends java.security.Provider
   public <init>()
+  @Nullable
+  public java.security.Provider$Service getService(String, String)
   public static final net.corda.core.crypto.CordaSecurityProvider$Companion Companion
   @NotNull
   public static final String PROVIDER_NAME = "Corda"
@@ -1680,6 +1806,9 @@ public static class net.corda.core.crypto.DigitalSignature$WithKey extends net.c
   @NotNull
   public final net.corda.core.crypto.DigitalSignature withoutKey()
 ##
+public final class net.corda.core.crypto.DummySecureRandom extends java.security.SecureRandom
+  public static final net.corda.core.crypto.DummySecureRandom INSTANCE
+##
 public abstract class net.corda.core.crypto.MerkleTree extends java.lang.Object
   public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
   @NotNull
@@ -1860,6 +1989,8 @@ public static final class net.corda.core.crypto.SecureHash$Companion extends jav
 @CordaSerializable
 public static final class net.corda.core.crypto.SecureHash$SHA256 extends net.corda.core.crypto.SecureHash
   public <init>(byte[])
+  public boolean equals(Object)
+  public int hashCode()
 ##
 public final class net.corda.core.crypto.SecureHashKt extends java.lang.Object
   @NotNull
@@ -2154,11 +2285,17 @@ public class net.corda.core.flows.DataVendingFlow extends net.corda.core.flows.F
   @Suspendable
   protected void verifyDataRequest(net.corda.core.internal.FetchDataFlow$Request$Data)
 ##
+@DoNotImplement
+public interface net.corda.core.flows.Destination
+##
 @InitiatingFlow
 public final class net.corda.core.flows.FinalityFlow extends net.corda.core.flows.FlowLogic
   public <init>(net.corda.core.transactions.SignedTransaction)
   public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection<? extends net.corda.core.flows.FlowSession>)
   public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection<? extends net.corda.core.flows.FlowSession>, java.util.Collection<net.corda.core.identity.Party>, net.corda.core.utilities.ProgressTracker)
+  public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection<? extends net.corda.core.flows.FlowSession>, net.corda.core.node.StatesToRecord)
+  public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection<? extends net.corda.core.flows.FlowSession>, net.corda.core.node.StatesToRecord, net.corda.core.utilities.ProgressTracker)
+  public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection, net.corda.core.node.StatesToRecord, net.corda.core.utilities.ProgressTracker, int, kotlin.jvm.internal.DefaultConstructorMarker)
   public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection<? extends net.corda.core.flows.FlowSession>, net.corda.core.utilities.ProgressTracker)
   public <init>(net.corda.core.transactions.SignedTransaction, java.util.Collection, net.corda.core.utilities.ProgressTracker, int, kotlin.jvm.internal.DefaultConstructorMarker)
   public <init>(net.corda.core.transactions.SignedTransaction, java.util.Set<net.corda.core.identity.Party>)
@@ -2338,6 +2475,9 @@ public abstract class net.corda.core.flows.FlowLogic extends java.lang.Object
   public final net.corda.core.node.ServiceHub getServiceHub()
   @Suspendable
   @NotNull
+  public final net.corda.core.flows.FlowSession initiateFlow(net.corda.core.flows.Destination)
+  @Suspendable
+  @NotNull
   public final net.corda.core.flows.FlowSession initiateFlow(net.corda.core.identity.Party)
   @Suspendable
   public final void persistFlowStackSnapshot()
@@ -2417,6 +2557,8 @@ public abstract class net.corda.core.flows.FlowSession extends java.lang.Object
   @Suspendable
   @NotNull
   public abstract net.corda.core.flows.FlowInfo getCounterpartyFlowInfo(boolean)
+  @NotNull
+  public abstract net.corda.core.flows.Destination getDestination()
   @Suspendable
   @NotNull
   public abstract net.corda.core.utilities.UntrustworthyData<R> receive(Class<R>)
@@ -2472,6 +2614,13 @@ public static final class net.corda.core.flows.FlowStackSnapshot$Frame extends j
   @NotNull
   public String toString()
 ##
+@CordaSerializable
+public class net.corda.core.flows.HospitalizeFlowException extends net.corda.core.CordaRuntimeException
+  public <init>()
+  public <init>(String)
+  public <init>(String, Throwable)
+  public <init>(Throwable)
+##
 public interface net.corda.core.flows.IdentifiableException
   @Nullable
   public Long getErrorId()
@@ -2489,6 +2638,22 @@ public @interface net.corda.core.flows.InitiatingFlow
   public abstract int version()
 ##
 @CordaSerializable
+public final class net.corda.core.flows.MaybeSerializedSignedTransaction extends java.lang.Object implements net.corda.core.contracts.NamedByHash
+  public <init>(net.corda.core.crypto.SecureHash, net.corda.core.serialization.SerializedBytes<net.corda.core.transactions.SignedTransaction>, net.corda.core.transactions.SignedTransaction)
+  @Nullable
+  public final net.corda.core.transactions.SignedTransaction get()
+  @NotNull
+  public net.corda.core.crypto.SecureHash getId()
+  @Nullable
+  public final net.corda.core.transactions.SignedTransaction getNonSerialised()
+  @Nullable
+  public final net.corda.core.serialization.SerializedBytes<net.corda.core.transactions.SignedTransaction> getSerialized()
+  public final boolean isNull()
+  @NotNull
+  public final String payloadContentDescription()
+  public final int serializedByteCount()
+##
+@CordaSerializable
 public final class net.corda.core.flows.NotarisationPayload extends java.lang.Object
   public <init>(Object, net.corda.core.flows.NotarisationRequestSignature)
   @NotNull
@@ -2562,6 +2727,11 @@ public final class net.corda.core.flows.NotaryChangeFlow extends net.corda.core.
 @CordaSerializable
 public abstract class net.corda.core.flows.NotaryError extends java.lang.Object
   public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
+  public static final net.corda.core.flows.NotaryError$Companion Companion
+  public static final int NUM_STATES = 5
+##
+public static final class net.corda.core.flows.NotaryError$Companion extends java.lang.Object
+  public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
 ##
 @CordaSerializable
 public static final class net.corda.core.flows.NotaryError$Conflict extends net.corda.core.flows.NotaryError
@@ -2668,6 +2838,10 @@ public final class net.corda.core.flows.NotaryFlow extends java.lang.Object
 public static class net.corda.core.flows.NotaryFlow$Client extends net.corda.core.internal.BackpressureAwareTimedFlow
   public <init>(net.corda.core.transactions.SignedTransaction)
   public <init>(net.corda.core.transactions.SignedTransaction, net.corda.core.utilities.ProgressTracker)
+  public <init>(net.corda.core.transactions.SignedTransaction, net.corda.core.utilities.ProgressTracker, boolean)
+  public <init>(net.corda.core.transactions.SignedTransaction, net.corda.core.utilities.ProgressTracker, boolean, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(net.corda.core.transactions.SignedTransaction, boolean)
+  public <init>(net.corda.core.transactions.SignedTransaction, boolean, int, kotlin.jvm.internal.DefaultConstructorMarker)
   @Suspendable
   @NotNull
   public java.util.List<net.corda.core.crypto.TransactionSignature> call()
@@ -2983,6 +3157,7 @@ public final class net.corda.core.identity.IdentityUtils extends java.lang.Objec
   public static final java.util.Map<net.corda.core.identity.Party, java.util.List<java.security.PublicKey>> groupPublicKeysByWellKnownParty(net.corda.core.node.ServiceHub, java.util.Collection<? extends java.security.PublicKey>)
   @NotNull
   public static final java.util.Map<net.corda.core.identity.Party, java.util.List<java.security.PublicKey>> groupPublicKeysByWellKnownParty(net.corda.core.node.ServiceHub, java.util.Collection<? extends java.security.PublicKey>, boolean)
+  public static final boolean x500Matches(String, boolean, net.corda.core.identity.CordaX500Name)
 ##
 @DoNotImplement
 @CordaSerializable
@@ -3078,6 +3253,8 @@ public interface net.corda.core.messaging.CordaRPCOps extends net.corda.core.mes
   @NotNull
   public abstract net.corda.core.messaging.DataFeed<net.corda.core.messaging.ParametersUpdateInfo, net.corda.core.messaging.ParametersUpdateInfo> networkParametersFeed()
   @NotNull
+  public abstract net.corda.core.node.NodeDiagnosticInfo nodeDiagnosticInfo()
+  @NotNull
   public abstract net.corda.core.node.NodeInfo nodeInfo()
   @Nullable
   public abstract net.corda.core.node.NodeInfo nodeInfoFromParty(net.corda.core.identity.AbstractParty)
@@ -3381,10 +3558,23 @@ public static final class net.corda.core.messaging.StateMachineUpdate$Removed ex
 ##
 @DoNotImplement
 public interface net.corda.core.node.AppServiceHub extends net.corda.core.node.ServiceHub
+  @NotNull
+  public abstract net.corda.core.node.services.vault.CordaTransactionSupport getDatabase()
+  public abstract void register(int, kotlin.jvm.functions.Function1<? super net.corda.core.node.services.ServiceLifecycleEvent, ? extends T>)
+  public abstract void register(int, net.corda.core.node.services.ServiceLifecycleObserver)
   @NotNull
   public abstract net.corda.core.messaging.FlowHandle<T> startFlow(net.corda.core.flows.FlowLogic<? extends T>)
   @NotNull
   public abstract net.corda.core.messaging.FlowProgressHandle<T> startTrackedFlow(net.corda.core.flows.FlowLogic<? extends T>)
+  public static final net.corda.core.node.AppServiceHub$Companion Companion
+  public static final int SERVICE_PRIORITY_HIGH = 200
+  public static final int SERVICE_PRIORITY_LOW = 20
+  public static final int SERVICE_PRIORITY_NORMAL = 100
+##
+public static final class net.corda.core.node.AppServiceHub$Companion extends java.lang.Object
+  public static final int SERVICE_PRIORITY_HIGH = 200
+  public static final int SERVICE_PRIORITY_LOW = 20
+  public static final int SERVICE_PRIORITY_NORMAL = 100
 ##
 public @interface net.corda.core.node.AutoAcceptable
 ##
@@ -3435,6 +3625,34 @@ public final class net.corda.core.node.NetworkParameters extends java.lang.Objec
   public String toString()
 ##
 @CordaSerializable
+public final class net.corda.core.node.NodeDiagnosticInfo extends java.lang.Object
+  public <init>(String, String, int, String, java.util.List<net.corda.core.cordapp.CordappInfo>)
+  @NotNull
+  public final String component1()
+  @NotNull
+  public final String component2()
+  public final int component3()
+  @NotNull
+  public final String component4()
+  @NotNull
+  public final java.util.List<net.corda.core.cordapp.CordappInfo> component5()
+  @NotNull
+  public final net.corda.core.node.NodeDiagnosticInfo copy(String, String, int, String, java.util.List<net.corda.core.cordapp.CordappInfo>)
+  public boolean equals(Object)
+  @NotNull
+  public final java.util.List<net.corda.core.cordapp.CordappInfo> getCordapps()
+  public final int getPlatformVersion()
+  @NotNull
+  public final String getRevision()
+  @NotNull
+  public final String getVendor()
+  @NotNull
+  public final String getVersion()
+  public int hashCode()
+  @NotNull
+  public String toString()
+##
+@CordaSerializable
 public final class net.corda.core.node.NodeInfo extends java.lang.Object
   public <init>(java.util.List<net.corda.core.utilities.NetworkHostAndPort>, java.util.List<net.corda.core.identity.PartyAndCertificate>, int, long)
   @NotNull
@@ -3459,6 +3677,7 @@ public final class net.corda.core.node.NodeInfo extends java.lang.Object
   public final net.corda.core.identity.PartyAndCertificate identityAndCertFromX500Name(net.corda.core.identity.CordaX500Name)
   @NotNull
   public final net.corda.core.identity.Party identityFromX500Name(net.corda.core.identity.CordaX500Name)
+  public final boolean isLegalIdentity(net.corda.core.identity.CordaX500Name)
   public final boolean isLegalIdentity(net.corda.core.identity.Party)
   @NotNull
   public String toString()
@@ -3502,6 +3721,8 @@ public interface net.corda.core.node.ServiceHub extends net.corda.core.node.Serv
   @NotNull
   public abstract net.corda.core.node.services.ContractUpgradeService getContractUpgradeService()
   @NotNull
+  public abstract net.corda.core.node.services.diagnostics.DiagnosticsService getDiagnosticsService()
+  @NotNull
   public abstract net.corda.core.node.services.KeyManagementService getKeyManagementService()
   @NotNull
   public abstract net.corda.core.node.NodeInfo getMyInfo()
@@ -3550,6 +3771,8 @@ public interface net.corda.core.node.ServicesForResolution
   public abstract net.corda.core.contracts.TransactionState<?> loadState(net.corda.core.contracts.StateRef)
   @NotNull
   public abstract java.util.Set<net.corda.core.contracts.StateAndRef<net.corda.core.contracts.ContractState>> loadStates(java.util.Set<net.corda.core.contracts.StateRef>)
+  @NotNull
+  public net.corda.core.transactions.LedgerTransaction specialise(net.corda.core.transactions.LedgerTransaction)
 ##
 public final class net.corda.core.node.StatesToRecord extends java.lang.Enum
   public static net.corda.core.node.StatesToRecord valueOf(String)
@@ -3588,11 +3811,18 @@ public interface net.corda.core.node.services.ContractUpgradeService
 ##
 public @interface net.corda.core.node.services.CordaService
 ##
+public final class net.corda.core.node.services.CordaServiceCriticalFailureException extends java.lang.Exception
+  public <init>(String)
+  public <init>(String, Throwable)
+##
 @DoNotImplement
 public interface net.corda.core.node.services.IdentityService
   public abstract void assertOwnership(net.corda.core.identity.Party, net.corda.core.identity.AnonymousParty)
   @Nullable
   public abstract net.corda.core.identity.PartyAndCertificate certificateFromKey(java.security.PublicKey)
+  @Suspendable
+  @Nullable
+  public abstract java.util.UUID externalIdForPublicKey(java.security.PublicKey)
   @NotNull
   public abstract Iterable<net.corda.core.identity.PartyAndCertificate> getAllIdentities()
   @NotNull
@@ -3606,6 +3836,9 @@ public interface net.corda.core.node.services.IdentityService
   @Nullable
   public abstract net.corda.core.identity.Party partyFromKey(java.security.PublicKey)
   @NotNull
+  public abstract Iterable<java.security.PublicKey> publicKeysForExternalId(java.util.UUID)
+  public abstract void registerKey(java.security.PublicKey, net.corda.core.identity.Party, java.util.UUID)
+  @NotNull
   public abstract net.corda.core.identity.Party requireWellKnownPartyFromAnonymous(net.corda.core.identity.AbstractParty)
   @Nullable
   public abstract net.corda.core.identity.PartyAndCertificate verifyAndRegisterIdentity(net.corda.core.identity.PartyAndCertificate)
@@ -3615,6 +3848,9 @@ public interface net.corda.core.node.services.IdentityService
   public abstract net.corda.core.identity.Party wellKnownPartyFromAnonymous(net.corda.core.identity.AbstractParty)
   @Nullable
   public abstract net.corda.core.identity.Party wellKnownPartyFromX500Name(net.corda.core.identity.CordaX500Name)
+  public static final net.corda.core.node.services.IdentityService$Companion Companion
+##
+public static final class net.corda.core.node.services.IdentityService$Companion extends java.lang.Object
 ##
 @DoNotImplement
 public interface net.corda.core.node.services.KeyManagementService
@@ -3625,7 +3861,13 @@ public interface net.corda.core.node.services.KeyManagementService
   public abstract java.security.PublicKey freshKey()
   @Suspendable
   @NotNull
+  public abstract java.security.PublicKey freshKey(java.util.UUID)
+  @Suspendable
+  @NotNull
   public abstract net.corda.core.identity.PartyAndCertificate freshKeyAndCert(net.corda.core.identity.PartyAndCertificate, boolean)
+  @Suspendable
+  @NotNull
+  public abstract net.corda.core.identity.PartyAndCertificate freshKeyAndCert(net.corda.core.identity.PartyAndCertificate, boolean, java.util.UUID)
   @NotNull
   public abstract java.util.Set<java.security.PublicKey> getKeys()
   @Suspendable
@@ -3768,6 +4010,10 @@ public static final class net.corda.core.node.services.PartyInfo$SingleNode exte
   @NotNull
   public String toString()
 ##
+public final class net.corda.core.node.services.ServiceLifecycleEvent extends java.lang.Enum
+  public static net.corda.core.node.services.ServiceLifecycleEvent valueOf(String)
+  public static net.corda.core.node.services.ServiceLifecycleEvent[] values()
+##
 public interface net.corda.core.node.services.ServiceLifecycleObserver
   public abstract void onServiceLifecycleEvent(net.corda.core.node.services.ServiceLifecycleEvent)
 ##
@@ -3996,6 +4242,8 @@ public static final class net.corda.core.node.services.Vault$UpdateType extends
 @CordaSerializable
 public final class net.corda.core.node.services.VaultQueryException extends net.corda.core.flows.FlowException
   public <init>(String)
+  public <init>(String, Exception)
+  public <init>(String, Exception, int, kotlin.jvm.internal.DefaultConstructorMarker)
 ##
 @DoNotImplement
 public interface net.corda.core.node.services.VaultService
@@ -4045,6 +4293,34 @@ public interface net.corda.core.node.services.VaultService
 public final class net.corda.core.node.services.VaultServiceKt extends java.lang.Object
   public static final int MAX_CONSTRAINT_DATA_SIZE = 20000
 ##
+@DoNotImplement
+public interface net.corda.core.node.services.diagnostics.DiagnosticsService
+  @NotNull
+  public abstract net.corda.core.node.services.diagnostics.NodeVersionInfo nodeVersionInfo()
+##
+public final class net.corda.core.node.services.diagnostics.NodeVersionInfo extends java.lang.Object
+  public <init>(String, String, int, String)
+  @NotNull
+  public final String component1()
+  @NotNull
+  public final String component2()
+  public final int component3()
+  @NotNull
+  public final String component4()
+  @NotNull
+  public final net.corda.core.node.services.diagnostics.NodeVersionInfo copy(String, String, int, String)
+  public boolean equals(Object)
+  public final int getPlatformVersion()
+  @NotNull
+  public final String getReleaseVersion()
+  @NotNull
+  public final String getRevision()
+  @NotNull
+  public final String getVendor()
+  public int hashCode()
+  @NotNull
+  public String toString()
+##
 @CordaSerializable
 public final class net.corda.core.node.services.vault.AggregateFunctionType extends java.lang.Enum
   public static net.corda.core.node.services.vault.AggregateFunctionType valueOf(String)
@@ -4071,9 +4347,13 @@ public static final class net.corda.core.node.services.vault.AttachmentQueryCrit
 @CordaSerializable
 public static final class net.corda.core.node.services.vault.AttachmentQueryCriteria$AttachmentsQueryCriteria extends net.corda.core.node.services.vault.AttachmentQueryCriteria
   public <init>()
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.vault.ColumnPredicate<String>)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.vault.ColumnPredicate<String>, net.corda.core.node.services.vault.ColumnPredicate<String>)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.vault.ColumnPredicate<String>, net.corda.core.node.services.vault.ColumnPredicate<String>, net.corda.core.node.services.vault.ColumnPredicate<java.time.Instant>)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.vault.ColumnPredicate, net.corda.core.node.services.vault.ColumnPredicate, net.corda.core.node.services.vault.ColumnPredicate, int, kotlin.jvm.internal.DefaultConstructorMarker)
   public <init>(net.corda.core.node.services.vault.ColumnPredicate<String>, net.corda.core.node.services.vault.ColumnPredicate<String>, net.corda.core.node.services.vault.ColumnPredicate<java.time.Instant>, net.corda.core.node.services.vault.ColumnPredicate<java.util.List<String>>, net.corda.core.node.services.vault.ColumnPredicate<java.util.List<java.security.PublicKey>>, net.corda.core.node.services.vault.ColumnPredicate<Boolean>, net.corda.core.node.services.vault.ColumnPredicate<Integer>)
   public <init>(net.corda.core.node.services.vault.ColumnPredicate, net.corda.core.node.services.vault.ColumnPredicate, net.corda.core.node.services.vault.ColumnPredicate, net.corda.core.node.services.vault.ColumnPredicate, net.corda.core.node.services.vault.ColumnPredicate, net.corda.core.node.services.vault.ColumnPredicate, net.corda.core.node.services.vault.ColumnPredicate, int, kotlin.jvm.internal.DefaultConstructorMarker)
@@ -4582,6 +4862,10 @@ public static final class net.corda.core.node.services.vault.ColumnPredicate$Nul
   @NotNull
   public String toString()
 ##
+@DoNotImplement
+public interface net.corda.core.node.services.vault.CordaTransactionSupport
+  public abstract T transaction(kotlin.jvm.functions.Function1<? super net.corda.core.node.services.vault.SessionScope, ? extends T>)
+##
 @CordaSerializable
 public abstract class net.corda.core.node.services.vault.CriteriaExpression extends java.lang.Object
   public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
@@ -4779,6 +5063,10 @@ public abstract static class net.corda.core.node.services.vault.QueryCriteria$Co
   @Nullable
   public abstract java.util.Set<Class<? extends net.corda.core.contracts.ContractState>> getContractStateTypes()
   @Nullable
+  public java.util.List<net.corda.core.identity.AbstractParty> getExactParticipants()
+  @NotNull
+  public java.util.List<java.util.UUID> getExternalIds()
+  @Nullable
   public java.util.List<net.corda.core.identity.AbstractParty> getParticipants()
   @NotNull
   public net.corda.core.node.services.Vault$RelevancyStatus getRelevancyStatus()
@@ -4789,17 +5077,30 @@ public abstract static class net.corda.core.node.services.vault.QueryCriteria$Co
 ##
 @CordaSerializable
 public static final class net.corda.core.node.services.vault.QueryCriteria$FungibleAssetQueryCriteria extends net.corda.core.node.services.vault.QueryCriteria$CommonQueryCriteria
+  @DeprecatedConstructorForDeserialization
   public <init>()
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.ColumnPredicate<Long>)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.ColumnPredicate<Long>, java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.ColumnPredicate<Long>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.utilities.OpaqueBytes>)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.ColumnPredicate<Long>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.utilities.OpaqueBytes>, net.corda.core.node.services.Vault$StateStatus)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.ColumnPredicate<Long>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.utilities.OpaqueBytes>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List, java.util.List, net.corda.core.node.services.vault.ColumnPredicate, java.util.List, java.util.List, net.corda.core.node.services.Vault$StateStatus, java.util.Set, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.ColumnPredicate<Long>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.utilities.OpaqueBytes>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, net.corda.core.node.services.Vault$RelevancyStatus)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List, java.util.List, net.corda.core.node.services.vault.ColumnPredicate, java.util.List, java.util.List, net.corda.core.node.services.Vault$StateStatus, java.util.Set, net.corda.core.node.services.Vault$RelevancyStatus, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.ColumnPredicate<Long>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.utilities.OpaqueBytes>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, net.corda.core.node.services.Vault$RelevancyStatus, java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  public <init>(java.util.List, java.util.List, net.corda.core.node.services.vault.ColumnPredicate, java.util.List, java.util.List, net.corda.core.node.services.Vault$StateStatus, java.util.Set, net.corda.core.node.services.Vault$RelevancyStatus, java.util.List, int, kotlin.jvm.internal.DefaultConstructorMarker)
   @Nullable
   public final java.util.List<net.corda.core.identity.AbstractParty> component1()
   @Nullable
@@ -4816,14 +5117,20 @@ public static final class net.corda.core.node.services.vault.QueryCriteria$Fungi
   public final java.util.Set<Class<? extends net.corda.core.contracts.ContractState>> component7()
   @NotNull
   public final net.corda.core.node.services.Vault$RelevancyStatus component8()
+  @Nullable
+  public final java.util.List<net.corda.core.identity.AbstractParty> component9()
   @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$FungibleAssetQueryCriteria copy(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.ColumnPredicate<Long>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.utilities.OpaqueBytes>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>)
   @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$FungibleAssetQueryCriteria copy(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.ColumnPredicate<Long>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.utilities.OpaqueBytes>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, net.corda.core.node.services.Vault$RelevancyStatus)
+  @NotNull
+  public final net.corda.core.node.services.vault.QueryCriteria$FungibleAssetQueryCriteria copy(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.ColumnPredicate<Long>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<? extends net.corda.core.utilities.OpaqueBytes>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, net.corda.core.node.services.Vault$RelevancyStatus, java.util.List<? extends net.corda.core.identity.AbstractParty>)
   public boolean equals(Object)
   @Nullable
   public java.util.Set<Class<? extends net.corda.core.contracts.ContractState>> getContractStateTypes()
   @Nullable
+  public java.util.List<net.corda.core.identity.AbstractParty> getExactParticipants()
+  @Nullable
   public final java.util.List<net.corda.core.identity.AbstractParty> getIssuer()
   @Nullable
   public final java.util.List<net.corda.core.utilities.OpaqueBytes> getIssuerRef()
@@ -4845,6 +5152,8 @@ public static final class net.corda.core.node.services.vault.QueryCriteria$Fungi
   @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$FungibleAssetQueryCriteria withContractStateTypes(java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>)
   @NotNull
+  public final net.corda.core.node.services.vault.QueryCriteria$FungibleAssetQueryCriteria withExactParticipants(java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$FungibleAssetQueryCriteria withIssuer(java.util.List<? extends net.corda.core.identity.AbstractParty>)
   @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$FungibleAssetQueryCriteria withOwner(java.util.List<? extends net.corda.core.identity.AbstractParty>)
@@ -4905,18 +5214,33 @@ public static final class net.corda.core.node.services.vault.QueryCriteria$Fungi
 ##
 @CordaSerializable
 public static final class net.corda.core.node.services.vault.QueryCriteria$LinearStateQueryCriteria extends net.corda.core.node.services.vault.QueryCriteria$CommonQueryCriteria
+  @DeprecatedConstructorForDeserialization
   public <init>()
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>, java.util.List<String>)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>, java.util.List<String>, net.corda.core.node.services.Vault$StateStatus)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>, java.util.List<String>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List, java.util.List, java.util.List, net.corda.core.node.services.Vault$StateStatus, java.util.Set, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>, java.util.List<String>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, net.corda.core.node.services.Vault$RelevancyStatus)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List, java.util.List, java.util.List, net.corda.core.node.services.Vault$StateStatus, java.util.Set, net.corda.core.node.services.Vault$RelevancyStatus, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>, java.util.List<String>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, net.corda.core.node.services.Vault$RelevancyStatus, java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  public <init>(java.util.List, java.util.List, java.util.List, net.corda.core.node.services.Vault$StateStatus, java.util.Set, net.corda.core.node.services.Vault$RelevancyStatus, java.util.List, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<net.corda.core.contracts.UniqueIdentifier>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List, java.util.List, net.corda.core.node.services.Vault$StateStatus, java.util.Set, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<net.corda.core.contracts.UniqueIdentifier>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, net.corda.core.node.services.Vault$RelevancyStatus)
+  @DeprecatedConstructorForDeserialization
   public <init>(java.util.List, java.util.List, net.corda.core.node.services.Vault$StateStatus, java.util.Set, net.corda.core.node.services.Vault$RelevancyStatus, int, kotlin.jvm.internal.DefaultConstructorMarker)
   @Nullable
   public final java.util.List<net.corda.core.identity.AbstractParty> component1()
@@ -4930,14 +5254,20 @@ public static final class net.corda.core.node.services.vault.QueryCriteria$Linea
   public final java.util.Set<Class<? extends net.corda.core.contracts.ContractState>> component5()
   @NotNull
   public final net.corda.core.node.services.Vault$RelevancyStatus component6()
+  @Nullable
+  public final java.util.List<net.corda.core.identity.AbstractParty> component7()
   @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$LinearStateQueryCriteria copy(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>, java.util.List<String>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>)
   @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$LinearStateQueryCriteria copy(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>, java.util.List<String>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, net.corda.core.node.services.Vault$RelevancyStatus)
+  @NotNull
+  public final net.corda.core.node.services.vault.QueryCriteria$LinearStateQueryCriteria copy(java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>, java.util.List<String>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, net.corda.core.node.services.Vault$RelevancyStatus, java.util.List<? extends net.corda.core.identity.AbstractParty>)
   public boolean equals(Object)
   @Nullable
   public java.util.Set<Class<? extends net.corda.core.contracts.ContractState>> getContractStateTypes()
   @Nullable
+  public java.util.List<net.corda.core.identity.AbstractParty> getExactParticipants()
+  @Nullable
   public final java.util.List<String> getExternalId()
   @Nullable
   public java.util.List<net.corda.core.identity.AbstractParty> getParticipants()
@@ -4955,6 +5285,8 @@ public static final class net.corda.core.node.services.vault.QueryCriteria$Linea
   @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$LinearStateQueryCriteria withContractStateTypes(java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>)
   @NotNull
+  public final net.corda.core.node.services.vault.QueryCriteria$LinearStateQueryCriteria withExactParticipants(java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$LinearStateQueryCriteria withExternalId(java.util.List<String>)
   @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$LinearStateQueryCriteria withParticipants(java.util.List<? extends net.corda.core.identity.AbstractParty>)
@@ -5024,9 +5356,13 @@ public static final class net.corda.core.node.services.vault.QueryCriteria$TimeI
 ##
 @CordaSerializable
 public static final class net.corda.core.node.services.vault.QueryCriteria$VaultCustomQueryCriteria extends net.corda.core.node.services.vault.QueryCriteria$CommonQueryCriteria
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.vault.CriteriaExpression<L, Boolean>)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.vault.CriteriaExpression<L, Boolean>, net.corda.core.node.services.Vault$StateStatus)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.vault.CriteriaExpression<L, Boolean>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.vault.CriteriaExpression, net.corda.core.node.services.Vault$StateStatus, java.util.Set, int, kotlin.jvm.internal.DefaultConstructorMarker)
   public <init>(net.corda.core.node.services.vault.CriteriaExpression<L, Boolean>, net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, net.corda.core.node.services.Vault$RelevancyStatus)
   public <init>(net.corda.core.node.services.vault.CriteriaExpression, net.corda.core.node.services.Vault$StateStatus, java.util.Set, net.corda.core.node.services.Vault$RelevancyStatus, int, kotlin.jvm.internal.DefaultConstructorMarker)
@@ -5068,19 +5404,38 @@ public static final class net.corda.core.node.services.vault.QueryCriteria$Vault
 @CordaSerializable
 public static final class net.corda.core.node.services.vault.QueryCriteria$VaultQueryCriteria extends net.corda.core.node.services.vault.QueryCriteria$CommonQueryCriteria
   public <init>()
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.Vault$StateStatus)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, java.util.List<net.corda.core.contracts.StateRef>)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, java.util.List<net.corda.core.contracts.StateRef>, java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, java.util.List<net.corda.core.contracts.StateRef>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, java.util.List<net.corda.core.contracts.StateRef>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set, java.util.List, java.util.List, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, java.util.List<net.corda.core.contracts.StateRef>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition, net.corda.core.node.services.Vault$RelevancyStatus, java.util.Set<? extends net.corda.core.node.services.Vault$ConstraintInfo$Type>, java.util.Set<net.corda.core.node.services.Vault$ConstraintInfo>, java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  @DeprecatedConstructorForDeserialization
   public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set, java.util.List, java.util.List, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition, net.corda.core.node.services.Vault$RelevancyStatus, java.util.Set, java.util.Set, java.util.List, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  @DeprecatedConstructorForDeserialization
+  public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, java.util.List<net.corda.core.contracts.StateRef>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition, net.corda.core.node.services.Vault$RelevancyStatus, java.util.Set<? extends net.corda.core.node.services.Vault$ConstraintInfo$Type>, java.util.Set<net.corda.core.node.services.Vault$ConstraintInfo>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>)
+  @DeprecatedConstructorForDeserialization
+  public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set, java.util.List, java.util.List, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition, net.corda.core.node.services.Vault$RelevancyStatus, java.util.Set, java.util.Set, java.util.List, java.util.List, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, java.util.List<net.corda.core.contracts.StateRef>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition, net.corda.core.node.services.Vault$RelevancyStatus, java.util.Set<? extends net.corda.core.node.services.Vault$ConstraintInfo$Type>, java.util.Set<net.corda.core.node.services.Vault$ConstraintInfo>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>, java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  public <init>(net.corda.core.node.services.Vault$StateStatus, java.util.Set, java.util.List, java.util.List, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition, net.corda.core.node.services.Vault$RelevancyStatus, java.util.Set, java.util.Set, java.util.List, java.util.List, java.util.List, int, kotlin.jvm.internal.DefaultConstructorMarker)
   @NotNull
   public final net.corda.core.node.services.Vault$StateStatus component1()
   @Nullable
   public final java.util.List<net.corda.core.identity.AbstractParty> component10()
+  @NotNull
+  public final java.util.List<java.util.UUID> component11()
+  @Nullable
+  public final java.util.List<net.corda.core.identity.AbstractParty> component12()
   @Nullable
   public final java.util.Set<Class<? extends net.corda.core.contracts.ContractState>> component2()
   @Nullable
@@ -5101,6 +5456,10 @@ public static final class net.corda.core.node.services.vault.QueryCriteria$Vault
   public final net.corda.core.node.services.vault.QueryCriteria$VaultQueryCriteria copy(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, java.util.List<net.corda.core.contracts.StateRef>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition)
   @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$VaultQueryCriteria copy(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, java.util.List<net.corda.core.contracts.StateRef>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition, net.corda.core.node.services.Vault$RelevancyStatus, java.util.Set<? extends net.corda.core.node.services.Vault$ConstraintInfo$Type>, java.util.Set<net.corda.core.node.services.Vault$ConstraintInfo>, java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  @NotNull
+  public final net.corda.core.node.services.vault.QueryCriteria$VaultQueryCriteria copy(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, java.util.List<net.corda.core.contracts.StateRef>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition, net.corda.core.node.services.Vault$RelevancyStatus, java.util.Set<? extends net.corda.core.node.services.Vault$ConstraintInfo$Type>, java.util.Set<net.corda.core.node.services.Vault$ConstraintInfo>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>)
+  @NotNull
+  public final net.corda.core.node.services.vault.QueryCriteria$VaultQueryCriteria copy(net.corda.core.node.services.Vault$StateStatus, java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>, java.util.List<net.corda.core.contracts.StateRef>, java.util.List<? extends net.corda.core.identity.AbstractParty>, net.corda.core.node.services.vault.QueryCriteria$SoftLockingCondition, net.corda.core.node.services.vault.QueryCriteria$TimeCondition, net.corda.core.node.services.Vault$RelevancyStatus, java.util.Set<? extends net.corda.core.node.services.Vault$ConstraintInfo$Type>, java.util.Set<net.corda.core.node.services.Vault$ConstraintInfo>, java.util.List<? extends net.corda.core.identity.AbstractParty>, java.util.List<java.util.UUID>, java.util.List<? extends net.corda.core.identity.AbstractParty>)
   public boolean equals(Object)
   @NotNull
   public java.util.Set<net.corda.core.node.services.Vault$ConstraintInfo$Type> getConstraintTypes()
@@ -5109,6 +5468,10 @@ public static final class net.corda.core.node.services.vault.QueryCriteria$Vault
   @Nullable
   public java.util.Set<Class<? extends net.corda.core.contracts.ContractState>> getContractStateTypes()
   @Nullable
+  public java.util.List<net.corda.core.identity.AbstractParty> getExactParticipants()
+  @NotNull
+  public java.util.List<java.util.UUID> getExternalIds()
+  @Nullable
   public final java.util.List<net.corda.core.identity.AbstractParty> getNotary()
   @Nullable
   public java.util.List<net.corda.core.identity.AbstractParty> getParticipants()
@@ -5134,6 +5497,10 @@ public static final class net.corda.core.node.services.vault.QueryCriteria$Vault
   @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$VaultQueryCriteria withContractStateTypes(java.util.Set<? extends Class<? extends net.corda.core.contracts.ContractState>>)
   @NotNull
+  public final net.corda.core.node.services.vault.QueryCriteria$VaultQueryCriteria withExactParticipants(java.util.List<? extends net.corda.core.identity.AbstractParty>)
+  @NotNull
+  public final net.corda.core.node.services.vault.QueryCriteria$VaultQueryCriteria withExternalIds(java.util.List<java.util.UUID>)
+  @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$VaultQueryCriteria withNotary(java.util.List<? extends net.corda.core.identity.AbstractParty>)
   @NotNull
   public final net.corda.core.node.services.vault.QueryCriteria$VaultQueryCriteria withParticipants(java.util.List<? extends net.corda.core.identity.AbstractParty>)
@@ -5162,6 +5529,11 @@ public final class net.corda.core.node.services.vault.QueryCriteriaUtils extends
   public static final int DEFAULT_PAGE_SIZE = 200
   public static final int MAX_PAGE_SIZE = 2147483646
 ##
+@DoNotImplement
+public interface net.corda.core.node.services.vault.SessionScope
+  @NotNull
+  public abstract org.hibernate.Session getSession()
+##
 @CordaSerializable
 public final class net.corda.core.node.services.vault.Sort extends net.corda.core.node.services.vault.BaseSort
   public <init>(java.util.Collection<net.corda.core.node.services.vault.Sort$SortColumn>)
@@ -5274,6 +5646,10 @@ public static final class net.corda.core.node.services.vault.SortAttribute$Stand
   @NotNull
   public String toString()
 ##
+public final class net.corda.core.observable.Observables extends java.lang.Object
+  @NotNull
+  public static final rx.Observable<T> continueOnError(rx.Observable<T>)
+##
 public final class net.corda.core.schemas.CommonSchema extends java.lang.Object
   public static final net.corda.core.schemas.CommonSchema INSTANCE
 ##
@@ -5464,6 +5840,7 @@ public final class net.corda.core.serialization.SerializationAPIKt extends java.
 ##
 @DoNotImplement
 public interface net.corda.core.serialization.SerializationContext
+  public abstract boolean getCarpenterDisabled()
   @NotNull
   public abstract java.util.Set<net.corda.core.serialization.SerializationCustomSerializer<?, ?>> getCustomSerializers()
   @NotNull
@@ -5504,6 +5881,8 @@ public interface net.corda.core.serialization.SerializationContext
   @NotNull
   public abstract net.corda.core.serialization.SerializationContext withWhitelisted(Class<?>)
   @NotNull
+  public abstract net.corda.core.serialization.SerializationContext withoutCarpenter()
+  @NotNull
   public abstract net.corda.core.serialization.SerializationContext withoutReferences()
 ##
 public static final class net.corda.core.serialization.SerializationContext$UseCase extends java.lang.Enum
@@ -5706,6 +6085,7 @@ public static final class net.corda.core.transactions.ContractUpgradeFilteredTra
 @DoNotImplement
 public final class net.corda.core.transactions.ContractUpgradeLedgerTransaction extends net.corda.core.transactions.FullTransaction implements net.corda.core.transactions.TransactionWithSignatures
   public <init>(java.util.List<? extends net.corda.core.contracts.StateAndRef<? extends net.corda.core.contracts.ContractState>>, net.corda.core.identity.Party, net.corda.core.contracts.Attachment, String, net.corda.core.contracts.Attachment, net.corda.core.crypto.SecureHash, net.corda.core.contracts.PrivacySalt, java.util.List<net.corda.core.crypto.TransactionSignature>, net.corda.core.node.NetworkParameters)
+  public <init>(java.util.List, net.corda.core.identity.Party, net.corda.core.contracts.Attachment, net.corda.core.contracts.Attachment, net.corda.core.crypto.SecureHash, net.corda.core.contracts.PrivacySalt, java.util.List, net.corda.core.node.NetworkParameters, net.corda.core.contracts.UpgradedContract, kotlin.jvm.internal.DefaultConstructorMarker)
   @NotNull
   public final java.util.List<net.corda.core.contracts.StateAndRef<net.corda.core.contracts.ContractState>> component1()
   @NotNull
@@ -5756,6 +6136,10 @@ public final class net.corda.core.transactions.ContractUpgradeLedgerTransaction
   public int hashCode()
   @NotNull
   public String toString()
+  public static final net.corda.core.transactions.ContractUpgradeLedgerTransaction$Companion Companion
+##
+public static final class net.corda.core.transactions.ContractUpgradeLedgerTransaction$Companion extends java.lang.Object
+  public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
 ##
 @DoNotImplement
 @CordaSerializable
@@ -5889,6 +6273,7 @@ public abstract class net.corda.core.transactions.FullTransaction extends net.co
 public final class net.corda.core.transactions.LedgerTransaction extends net.corda.core.transactions.FullTransaction
   public <init>(java.util.List<? extends net.corda.core.contracts.StateAndRef<? extends net.corda.core.contracts.ContractState>>, java.util.List<? extends net.corda.core.contracts.TransactionState<? extends net.corda.core.contracts.ContractState>>, java.util.List<? extends net.corda.core.contracts.CommandWithParties<? extends net.corda.core.contracts.CommandData>>, java.util.List<? extends net.corda.core.contracts.Attachment>, net.corda.core.crypto.SecureHash, net.corda.core.identity.Party, net.corda.core.contracts.TimeWindow, net.corda.core.contracts.PrivacySalt)
   public <init>(java.util.List<? extends net.corda.core.contracts.StateAndRef<? extends net.corda.core.contracts.ContractState>>, java.util.List<? extends net.corda.core.contracts.TransactionState<? extends net.corda.core.contracts.ContractState>>, java.util.List<? extends net.corda.core.contracts.CommandWithParties<? extends net.corda.core.contracts.CommandData>>, java.util.List<? extends net.corda.core.contracts.Attachment>, net.corda.core.crypto.SecureHash, net.corda.core.identity.Party, net.corda.core.contracts.TimeWindow, net.corda.core.contracts.PrivacySalt, net.corda.core.node.NetworkParameters)
+  public <init>(java.util.List, java.util.List, java.util.List, java.util.List, net.corda.core.crypto.SecureHash, net.corda.core.identity.Party, net.corda.core.contracts.TimeWindow, net.corda.core.contracts.PrivacySalt, net.corda.core.node.NetworkParameters, java.util.List, java.util.List, java.util.List, java.util.List, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function2, kotlin.jvm.internal.DefaultConstructorMarker)
   @NotNull
   public final java.util.List<net.corda.core.contracts.Command<T>> commandsOfType(Class<T>)
   @NotNull
@@ -6204,6 +6589,7 @@ public final class net.corda.core.transactions.SignedTransaction extends java.la
   public final net.corda.core.transactions.SignedTransaction withAdditionalSignatures(Iterable<net.corda.core.crypto.TransactionSignature>)
   public static final net.corda.core.transactions.SignedTransaction$Companion Companion
 ##
+@CordaSerializable
 public static final class net.corda.core.transactions.SignedTransaction$SignaturesMissingException extends java.security.SignatureException implements net.corda.core.CordaThrowable, net.corda.core.contracts.NamedByHash
   public <init>(java.util.Set<? extends java.security.PublicKey>, java.util.List<String>, net.corda.core.crypto.SecureHash)
   public void addSuppressed(Throwable[])
@@ -6251,6 +6637,8 @@ public class net.corda.core.transactions.TransactionBuilder extends java.lang.Ob
   @NotNull
   public final net.corda.core.transactions.TransactionBuilder addOutputState(net.corda.core.contracts.ContractState, String, net.corda.core.identity.Party, Integer, net.corda.core.contracts.AttachmentConstraint)
   @NotNull
+  public final net.corda.core.transactions.TransactionBuilder addOutputState(net.corda.core.contracts.ContractState, net.corda.core.contracts.AttachmentConstraint)
+  @NotNull
   public final net.corda.core.transactions.TransactionBuilder addOutputState(net.corda.core.contracts.ContractState, net.corda.core.identity.Party)
   @NotNull
   public final net.corda.core.transactions.TransactionBuilder addOutputState(net.corda.core.contracts.TransactionState<?>)
@@ -6497,6 +6885,8 @@ public final class net.corda.core.utilities.KotlinUtilsKt extends java.lang.Obje
   @NotNull
   public static final org.slf4j.Logger contextLogger(Object)
   public static final void debug(org.slf4j.Logger, kotlin.jvm.functions.Function0<String>)
+  @NotNull
+  public static final org.slf4j.Logger detailedLogger()
   public static final int exactAdd(int, int)
   public static final long exactAdd(long, long)
   @NotNull
@@ -6643,6 +7033,7 @@ public final class net.corda.core.utilities.ProgressTracker extends java.lang.Ob
   public final net.corda.core.utilities.ProgressTracker$Step nextStep()
   public final void setChildProgressTracker(net.corda.core.utilities.ProgressTracker$Step, net.corda.core.utilities.ProgressTracker)
   public final void setCurrentStep(net.corda.core.utilities.ProgressTracker$Step)
+  public static final net.corda.core.utilities.ProgressTracker$Companion Companion
 ##
 @CordaSerializable
 public abstract static class net.corda.core.utilities.ProgressTracker$Change extends java.lang.Object
@@ -6719,12 +7110,14 @@ public static class net.corda.core.utilities.ProgressTracker$Step extends java.l
   public <init>(String)
   @Nullable
   public net.corda.core.utilities.ProgressTracker childProgressTracker()
+  public boolean equals(Object)
   @NotNull
   public rx.Observable<net.corda.core.utilities.ProgressTracker$Change> getChanges()
   @NotNull
   public java.util.Map<String, String> getExtraAuditData()
   @NotNull
   public String getLabel()
+  public int hashCode()
 ##
 @CordaSerializable
 public static final class net.corda.core.utilities.ProgressTracker$UNSTARTED extends net.corda.core.utilities.ProgressTracker$Step
@@ -6734,6 +7127,10 @@ public static final class net.corda.core.utilities.ProgressTracker$UNSTARTED ext
 public interface net.corda.core.utilities.PropertyDelegate
   public abstract T getValue(Object, kotlin.reflect.KProperty<?>)
 ##
+public final class net.corda.core.utilities.SgxSupport extends java.lang.Object
+  public static final boolean isInsideEnclave()
+  public static final net.corda.core.utilities.SgxSupport INSTANCE
+##
 @CordaSerializable
 public abstract class net.corda.core.utilities.Try extends java.lang.Object
   public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
@@ -6913,6 +7310,10 @@ public final class net.corda.testing.contracts.DummyContractV2 extends java.lang
   @NotNull
   public net.corda.core.contracts.AttachmentConstraint getLegacyContractConstraint()
   @NotNull
+  public static final net.corda.core.transactions.TransactionBuilder move(java.util.List<net.corda.core.contracts.StateAndRef<net.corda.testing.contracts.DummyContractV2$State>>, net.corda.core.identity.AbstractParty)
+  @NotNull
+  public static final net.corda.core.transactions.TransactionBuilder move(net.corda.core.contracts.StateAndRef<net.corda.testing.contracts.DummyContractV2$State>, net.corda.core.identity.AbstractParty)
+  @NotNull
   public net.corda.testing.contracts.DummyContractV2$State upgrade(net.corda.testing.contracts.DummyContract$State)
   public void verify(net.corda.core.transactions.LedgerTransaction)
   public static final net.corda.testing.contracts.DummyContractV2$Companion Companion
@@ -6929,6 +7330,10 @@ public static final class net.corda.testing.contracts.DummyContractV2$Commands$M
 ##
 public static final class net.corda.testing.contracts.DummyContractV2$Companion extends java.lang.Object
   public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
+  @NotNull
+  public final net.corda.core.transactions.TransactionBuilder move(java.util.List<net.corda.core.contracts.StateAndRef<net.corda.testing.contracts.DummyContractV2$State>>, net.corda.core.identity.AbstractParty)
+  @NotNull
+  public final net.corda.core.transactions.TransactionBuilder move(net.corda.core.contracts.StateAndRef<net.corda.testing.contracts.DummyContractV2$State>, net.corda.core.identity.AbstractParty)
 ##
 public static final class net.corda.testing.contracts.DummyContractV2$State extends java.lang.Object implements net.corda.core.contracts.ContractState
   public <init>(int, java.util.List<? extends net.corda.core.identity.AbstractParty>)
@@ -6947,6 +7352,8 @@ public static final class net.corda.testing.contracts.DummyContractV2$State exte
   public int hashCode()
   @NotNull
   public String toString()
+  @NotNull
+  public final kotlin.Pair<net.corda.testing.contracts.DummyContractV2$Commands, net.corda.testing.contracts.DummyContractV2$State> withNewOwner(net.corda.core.identity.AbstractParty)
 ##
 public final class net.corda.testing.contracts.DummyContractV3 extends java.lang.Object implements net.corda.core.contracts.UpgradedContractWithLegacyConstraint
   public <init>()
@@ -7435,6 +7842,7 @@ public class net.corda.client.jackson.StringToMethodCallParser extends java.lang
   public final net.corda.client.jackson.StringToMethodCallParser<T>.ParsedMethodCall parse(T, String)
   @NotNull
   public final Object[] parseArguments(String, java.util.List<? extends kotlin.Pair<String, ? extends reflect.Type>>, String)
+  public final void validateIsMatchingCtor(String, java.util.List<? extends kotlin.Pair<String, ? extends reflect.Type>>, String)
   public static final net.corda.client.jackson.StringToMethodCallParser$Companion Companion
 ##
 public static final class net.corda.client.jackson.StringToMethodCallParser$Companion extends java.lang.Object
@@ -7463,6 +7871,9 @@ public static final class net.corda.client.jackson.StringToMethodCallParser$Unpa
   @NotNull
   public final String getParamName()
 ##
+public static final class net.corda.client.jackson.StringToMethodCallParser$UnparseableCallException$NoSuchFile extends net.corda.client.jackson.StringToMethodCallParser$UnparseableCallException
+  public <init>(String)
+##
 public static final class net.corda.client.jackson.StringToMethodCallParser$UnparseableCallException$ReflectionDataMissing extends net.corda.client.jackson.StringToMethodCallParser$UnparseableCallException
   public <init>(String, int)
 ##
@@ -7489,6 +7900,7 @@ public interface net.corda.testing.driver.DriverDSL
   public abstract net.corda.core.concurrent.CordaFuture<net.corda.testing.driver.NodeHandle> getDefaultNotaryNode()
   @NotNull
   public abstract java.util.List<net.corda.testing.driver.NotaryHandle> getNotaryHandles()
+  public abstract int nextPort()
   @NotNull
   public abstract net.corda.core.concurrent.CordaFuture<net.corda.testing.driver.NodeHandle> startNode()
   @NotNull
@@ -7496,6 +7908,8 @@ public interface net.corda.testing.driver.DriverDSL
   @NotNull
   public abstract net.corda.core.concurrent.CordaFuture<net.corda.testing.driver.NodeHandle> startNode(net.corda.testing.driver.NodeParameters, net.corda.core.identity.CordaX500Name, java.util.List<net.corda.testing.node.User>, net.corda.testing.driver.VerifierType, java.util.Map<String, ?>, Boolean, String)
   @NotNull
+  public abstract net.corda.core.concurrent.CordaFuture<net.corda.testing.driver.NodeHandle> startNode(net.corda.testing.driver.NodeParameters, net.corda.core.identity.CordaX500Name, java.util.List<net.corda.testing.node.User>, net.corda.testing.driver.VerifierType, java.util.Map<String, ?>, Boolean, String, String)
+  @NotNull
   public abstract net.corda.core.concurrent.CordaFuture<net.corda.testing.driver.WebserverHandle> startWebserver(net.corda.testing.driver.NodeHandle)
   @NotNull
   public abstract net.corda.core.concurrent.CordaFuture<net.corda.testing.driver.WebserverHandle> startWebserver(net.corda.testing.driver.NodeHandle, String)
@@ -7508,6 +7922,8 @@ public final class net.corda.testing.driver.DriverParameters extends java.lang.O
   public <init>(boolean, java.nio.file.Path, net.corda.testing.driver.PortAllocation, net.corda.testing.driver.PortAllocation, java.util.Map, boolean, boolean, boolean, java.util.List, java.util.List, net.corda.testing.driver.JmxPolicy, net.corda.core.node.NetworkParameters, java.util.Map, boolean, int, kotlin.jvm.internal.DefaultConstructorMarker)
   public <init>(boolean, java.nio.file.Path, net.corda.testing.driver.PortAllocation, net.corda.testing.driver.PortAllocation, java.util.Map<String, String>, boolean, boolean, boolean, java.util.List<net.corda.testing.node.NotarySpec>, java.util.List<String>, net.corda.testing.driver.JmxPolicy, net.corda.core.node.NetworkParameters, java.util.Map<String, ?>, boolean, java.util.Collection<? extends net.corda.testing.node.TestCordapp>)
   public <init>(boolean, java.nio.file.Path, net.corda.testing.driver.PortAllocation, net.corda.testing.driver.PortAllocation, java.util.Map, boolean, boolean, boolean, java.util.List, java.util.List, net.corda.testing.driver.JmxPolicy, net.corda.core.node.NetworkParameters, java.util.Map, boolean, java.util.Collection, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(boolean, java.nio.file.Path, net.corda.testing.driver.PortAllocation, net.corda.testing.driver.PortAllocation, java.util.Map<String, String>, boolean, boolean, boolean, java.util.List<net.corda.testing.node.NotarySpec>, java.util.List<String>, net.corda.testing.driver.JmxPolicy, net.corda.core.node.NetworkParameters, java.util.Map<String, ?>, boolean, java.util.Collection<? extends net.corda.testing.node.TestCordapp>, java.nio.file.Path, java.util.List<? extends java.nio.file.Path>, java.util.Map<String, String>)
+  public <init>(boolean, java.nio.file.Path, net.corda.testing.driver.PortAllocation, net.corda.testing.driver.PortAllocation, java.util.Map, boolean, boolean, boolean, java.util.List, java.util.List, net.corda.testing.driver.JmxPolicy, net.corda.core.node.NetworkParameters, java.util.Map, boolean, java.util.Collection, java.nio.file.Path, java.util.List, java.util.Map, int, kotlin.jvm.internal.DefaultConstructorMarker)
   public <init>(boolean, java.nio.file.Path, net.corda.testing.driver.PortAllocation, net.corda.testing.driver.PortAllocation, java.util.Map<String, String>, boolean, boolean, boolean, java.util.List<net.corda.testing.node.NotarySpec>, java.util.List<String>, net.corda.testing.driver.JmxPolicy, net.corda.core.node.NetworkParameters, boolean)
   public final boolean component1()
   @NotNull
@@ -7521,6 +7937,12 @@ public final class net.corda.testing.driver.DriverParameters extends java.lang.O
   public final boolean component14()
   @Nullable
   public final java.util.Collection<net.corda.testing.node.TestCordapp> component15()
+  @Nullable
+  public final java.nio.file.Path component16()
+  @NotNull
+  public final java.util.List<java.nio.file.Path> component17()
+  @NotNull
+  public final java.util.Map<String, String> component18()
   @NotNull
   public final java.nio.file.Path component2()
   @NotNull
@@ -7539,15 +7961,23 @@ public final class net.corda.testing.driver.DriverParameters extends java.lang.O
   @NotNull
   public final net.corda.testing.driver.DriverParameters copy(boolean, java.nio.file.Path, net.corda.testing.driver.PortAllocation, net.corda.testing.driver.PortAllocation, java.util.Map<String, String>, boolean, boolean, boolean, java.util.List<net.corda.testing.node.NotarySpec>, java.util.List<String>, net.corda.testing.driver.JmxPolicy, net.corda.core.node.NetworkParameters, java.util.Map<String, ?>, boolean, java.util.Collection<? extends net.corda.testing.node.TestCordapp>)
   @NotNull
+  public final net.corda.testing.driver.DriverParameters copy(boolean, java.nio.file.Path, net.corda.testing.driver.PortAllocation, net.corda.testing.driver.PortAllocation, java.util.Map<String, String>, boolean, boolean, boolean, java.util.List<net.corda.testing.node.NotarySpec>, java.util.List<String>, net.corda.testing.driver.JmxPolicy, net.corda.core.node.NetworkParameters, java.util.Map<String, ?>, boolean, java.util.Collection<? extends net.corda.testing.node.TestCordapp>, java.nio.file.Path, java.util.List<? extends java.nio.file.Path>, java.util.Map<String, String>)
+  @NotNull
   public final net.corda.testing.driver.DriverParameters copy(boolean, java.nio.file.Path, net.corda.testing.driver.PortAllocation, net.corda.testing.driver.PortAllocation, java.util.Map<String, String>, boolean, boolean, boolean, java.util.List<net.corda.testing.node.NotarySpec>, java.util.List<String>, net.corda.testing.driver.JmxPolicy, net.corda.core.node.NetworkParameters, java.util.Set<? extends net.corda.testing.node.TestCordapp>)
   public boolean equals(Object)
   @Nullable
   public final java.util.Collection<net.corda.testing.node.TestCordapp> getCordappsForAllNodes()
   @NotNull
   public final net.corda.testing.driver.PortAllocation getDebugPortAllocation()
+  @Nullable
+  public final java.nio.file.Path getDjvmBootstrapSource()
+  @NotNull
+  public final java.util.List<java.nio.file.Path> getDjvmCordaSource()
   @NotNull
   public final java.nio.file.Path getDriverDirectory()
   @NotNull
+  public final java.util.Map<String, String> getEnvironmentVariables()
+  @NotNull
   public final java.util.List<String> getExtraCordappPackagesToScan()
   public final boolean getInMemoryDB()
   @NotNull
@@ -7574,8 +8004,14 @@ public final class net.corda.testing.driver.DriverParameters extends java.lang.O
   @NotNull
   public final net.corda.testing.driver.DriverParameters withDebugPortAllocation(net.corda.testing.driver.PortAllocation)
   @NotNull
+  public final net.corda.testing.driver.DriverParameters withDjvmBootstrapSource(java.nio.file.Path)
+  @NotNull
+  public final net.corda.testing.driver.DriverParameters withDjvmCordaSource(java.util.List<? extends java.nio.file.Path>)
+  @NotNull
   public final net.corda.testing.driver.DriverParameters withDriverDirectory(java.nio.file.Path)
   @NotNull
+  public final net.corda.testing.driver.DriverParameters withEnvironmentVariables(java.util.Map<String, String>)
+  @NotNull
   public final net.corda.testing.driver.DriverParameters withExtraCordappPackagesToScan(java.util.List<String>)
   @NotNull
   public final net.corda.testing.driver.DriverParameters withInMemoryDB(boolean)
@@ -7660,6 +8096,8 @@ public final class net.corda.testing.driver.NodeParameters extends java.lang.Obj
   public <init>(net.corda.core.identity.CordaX500Name, java.util.List<net.corda.testing.node.User>, net.corda.testing.driver.VerifierType, java.util.Map<String, ?>, Boolean, String)
   public <init>(net.corda.core.identity.CordaX500Name, java.util.List<net.corda.testing.node.User>, net.corda.testing.driver.VerifierType, java.util.Map<String, ?>, Boolean, String, java.util.Collection<? extends net.corda.testing.node.TestCordapp>, java.util.Map<? extends Class<? extends net.corda.core.flows.FlowLogic<?>>, ? extends Class<? extends net.corda.core.flows.FlowLogic<?>>>)
   public <init>(net.corda.core.identity.CordaX500Name, java.util.List, net.corda.testing.driver.VerifierType, java.util.Map, Boolean, String, java.util.Collection, java.util.Map, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(net.corda.core.identity.CordaX500Name, java.util.List<net.corda.testing.node.User>, net.corda.testing.driver.VerifierType, java.util.Map<String, ?>, Boolean, String, java.util.Collection<? extends net.corda.testing.node.TestCordapp>, java.util.Map<? extends Class<? extends net.corda.core.flows.FlowLogic<?>>, ? extends Class<? extends net.corda.core.flows.FlowLogic<?>>>, String)
+  public <init>(net.corda.core.identity.CordaX500Name, java.util.List, net.corda.testing.driver.VerifierType, java.util.Map, Boolean, String, java.util.Collection, java.util.Map, String, int, kotlin.jvm.internal.DefaultConstructorMarker)
   @Nullable
   public final net.corda.core.identity.CordaX500Name component1()
   @NotNull
@@ -7676,10 +8114,14 @@ public final class net.corda.testing.driver.NodeParameters extends java.lang.Obj
   public final java.util.Collection<net.corda.testing.node.TestCordapp> component7()
   @NotNull
   public final java.util.Map<? extends Class<? extends net.corda.core.flows.FlowLogic<?>>, Class<? extends net.corda.core.flows.FlowLogic<?>>> component8()
+  @Nullable
+  public final String component9()
   @NotNull
   public final net.corda.testing.driver.NodeParameters copy(net.corda.core.identity.CordaX500Name, java.util.List<net.corda.testing.node.User>, net.corda.testing.driver.VerifierType, java.util.Map<String, ?>, Boolean, String)
   @NotNull
   public final net.corda.testing.driver.NodeParameters copy(net.corda.core.identity.CordaX500Name, java.util.List<net.corda.testing.node.User>, net.corda.testing.driver.VerifierType, java.util.Map<String, ?>, Boolean, String, java.util.Collection<? extends net.corda.testing.node.TestCordapp>, java.util.Map<? extends Class<? extends net.corda.core.flows.FlowLogic<?>>, ? extends Class<? extends net.corda.core.flows.FlowLogic<?>>>)
+  @NotNull
+  public final net.corda.testing.driver.NodeParameters copy(net.corda.core.identity.CordaX500Name, java.util.List<net.corda.testing.node.User>, net.corda.testing.driver.VerifierType, java.util.Map<String, ?>, Boolean, String, java.util.Collection<? extends net.corda.testing.node.TestCordapp>, java.util.Map<? extends Class<? extends net.corda.core.flows.FlowLogic<?>>, ? extends Class<? extends net.corda.core.flows.FlowLogic<?>>>, String)
   public boolean equals(Object)
   @NotNull
   public final java.util.Collection<net.corda.testing.node.TestCordapp> getAdditionalCordapps()
@@ -7687,6 +8129,8 @@ public final class net.corda.testing.driver.NodeParameters extends java.lang.Obj
   public final java.util.Map<String, Object> getCustomOverrides()
   @NotNull
   public final java.util.Map<? extends Class<? extends net.corda.core.flows.FlowLogic<?>>, Class<? extends net.corda.core.flows.FlowLogic<?>>> getFlowOverrides()
+  @Nullable
+  public final String getLogLevelOverride()
   @NotNull
   public final String getMaximumHeapSize()
   @Nullable
@@ -7707,6 +8151,8 @@ public final class net.corda.testing.driver.NodeParameters extends java.lang.Obj
   @NotNull
   public final net.corda.testing.driver.NodeParameters withFlowOverrides(java.util.Map<Class<? extends net.corda.core.flows.FlowLogic<?>>, ? extends Class<? extends net.corda.core.flows.FlowLogic<?>>>)
   @NotNull
+  public final net.corda.testing.driver.NodeParameters withLogLevelOverride(String)
+  @NotNull
   public final net.corda.testing.driver.NodeParameters withMaximumHeapSize(String)
   @NotNull
   public final net.corda.testing.driver.NodeParameters withProvidedName(net.corda.core.identity.CordaX500Name)
@@ -7745,8 +8191,18 @@ public interface net.corda.testing.driver.OutOfProcess extends net.corda.testing
 public abstract class net.corda.testing.driver.PortAllocation extends java.lang.Object
   public <init>()
   @NotNull
+  public static final net.corda.testing.driver.PortAllocation getDefaultAllocator()
+  @NotNull
   public final net.corda.core.utilities.NetworkHostAndPort nextHostAndPort()
   public abstract int nextPort()
+  public static final net.corda.testing.driver.PortAllocation$Companion Companion
+  public static final int DEFAULT_START_PORT = 10000
+  public static final int FIRST_EPHEMERAL_PORT = 30000
+##
+public static final class net.corda.testing.driver.PortAllocation$Companion extends java.lang.Object
+  public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
+  @NotNull
+  public final net.corda.testing.driver.PortAllocation getDefaultAllocator()
 ##
 @DoNotImplement
 public static class net.corda.testing.driver.PortAllocation$Incremental extends net.corda.testing.driver.PortAllocation
@@ -7755,6 +8211,11 @@ public static class net.corda.testing.driver.PortAllocation$Incremental extends
   public final java.util.concurrent.atomic.AtomicInteger getPortCounter()
   public int nextPort()
 ##
+@DoNotImplement
+public class net.corda.testing.driver.SharedMemoryIncremental extends net.corda.testing.driver.PortAllocation
+  public int nextPort()
+  public static net.corda.testing.driver.SharedMemoryIncremental INSTANCE
+##
 public final class net.corda.testing.driver.VerifierType extends java.lang.Enum
   public static net.corda.testing.driver.VerifierType valueOf(String)
   public static net.corda.testing.driver.VerifierType[] values()
@@ -7776,6 +8237,22 @@ public final class net.corda.testing.driver.WebserverHandle extends java.lang.Ob
   @NotNull
   public String toString()
 ##
+public final class net.corda.testing.flows.FlowTestsUtilsKt extends java.lang.Object
+  @NotNull
+  public static final kotlin.Pair<net.corda.core.flows.FlowSession, T> from(T, net.corda.core.flows.FlowSession)
+  @NotNull
+  public static final R from(java.util.Map<net.corda.core.flows.FlowSession, ? extends net.corda.core.utilities.UntrustworthyData<?>>, net.corda.core.flows.FlowSession)
+  @NotNull
+  public static final kotlin.Pair<net.corda.core.flows.FlowSession, Class<T>> from(kotlin.reflect.KClass<T>, net.corda.core.flows.FlowSession)
+  @Suspendable
+  @NotNull
+  public static final java.util.List<net.corda.core.utilities.UntrustworthyData<R>> receiveAll(net.corda.core.flows.FlowLogic<?>, Class<R>, net.corda.core.flows.FlowSession, net.corda.core.flows.FlowSession...)
+  @Suspendable
+  @NotNull
+  public static final java.util.Map<net.corda.core.flows.FlowSession, net.corda.core.utilities.UntrustworthyData<Object>> receiveAll(net.corda.core.flows.FlowLogic<?>, kotlin.Pair<? extends net.corda.core.flows.FlowSession, ? extends Class<?>>, kotlin.Pair<? extends net.corda.core.flows.FlowSession, ? extends Class<?>>...)
+  @NotNull
+  public static final rx.Observable<T> registerCoreFlowFactory(net.corda.testing.node.internal.TestStartedNode, Class<? extends net.corda.core.flows.FlowLogic<?>>, Class<T>, kotlin.jvm.functions.Function1<? super net.corda.core.flows.FlowSession, ? extends T>, boolean)
+##
 @DoNotImplement
 public abstract class net.corda.testing.node.ClusterSpec extends java.lang.Object
   public <init>()
@@ -7969,16 +8446,21 @@ public final class net.corda.testing.node.MockNetworkNotarySpec extends java.lan
   public <init>(net.corda.core.identity.CordaX500Name)
   public <init>(net.corda.core.identity.CordaX500Name, boolean)
   public <init>(net.corda.core.identity.CordaX500Name, boolean, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(net.corda.core.identity.CordaX500Name, boolean, String)
+  public <init>(net.corda.core.identity.CordaX500Name, boolean, String, int, kotlin.jvm.internal.DefaultConstructorMarker)
   @NotNull
   public final net.corda.core.identity.CordaX500Name component1()
   public final boolean component2()
   @NotNull
   public final net.corda.testing.node.MockNetworkNotarySpec copy(net.corda.core.identity.CordaX500Name, boolean)
   public boolean equals(Object)
+  @Nullable
+  public final String getClassName()
   @NotNull
   public final net.corda.core.identity.CordaX500Name getName()
   public final boolean getValidating()
   public int hashCode()
+  public final void setClassName(String)
   @NotNull
   public String toString()
 ##
@@ -8095,6 +8577,7 @@ public class net.corda.testing.node.MockServices extends java.lang.Object implem
   public <init>(Iterable<String>, net.corda.core.identity.CordaX500Name, net.corda.core.node.services.IdentityService, java.security.KeyPair, java.security.KeyPair...)
   public <init>(Iterable, net.corda.core.identity.CordaX500Name, net.corda.core.node.services.IdentityService, java.security.KeyPair, java.security.KeyPair[], int, kotlin.jvm.internal.DefaultConstructorMarker)
   public <init>(Iterable<String>, net.corda.testing.core.TestIdentity, net.corda.core.node.services.IdentityService, net.corda.core.node.NetworkParameters, java.security.KeyPair...)
+  public <init>(Iterable<String>, net.corda.testing.core.TestIdentity, net.corda.core.node.services.IdentityService, net.corda.core.node.NetworkParameters, java.security.KeyPair[], net.corda.core.node.services.KeyManagementService)
   public <init>(Iterable<String>, net.corda.testing.core.TestIdentity, net.corda.core.node.services.IdentityService, java.security.KeyPair...)
   public <init>(Iterable, net.corda.testing.core.TestIdentity, net.corda.core.node.services.IdentityService, java.security.KeyPair[], int, kotlin.jvm.internal.DefaultConstructorMarker)
   public <init>(Iterable<String>, net.corda.testing.core.TestIdentity, java.security.KeyPair...)
@@ -8107,6 +8590,8 @@ public class net.corda.testing.node.MockServices extends java.lang.Object implem
   public <init>(net.corda.core.identity.CordaX500Name, net.corda.core.node.services.IdentityService)
   public <init>(net.corda.core.identity.CordaX500Name, net.corda.core.node.services.IdentityService, int, kotlin.jvm.internal.DefaultConstructorMarker)
   public <init>(net.corda.core.identity.CordaX500Name, net.corda.core.node.services.IdentityService, java.security.KeyPair, java.security.KeyPair...)
+  public <init>(net.corda.core.identity.CordaX500Name, net.corda.core.node.services.IdentityService, java.security.KeyPair, java.security.KeyPair[], int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(net.corda.nodeapi.internal.cordapp.CordappLoader, net.corda.core.node.services.IdentityService, net.corda.core.node.NetworkParameters, net.corda.testing.core.TestIdentity, java.security.KeyPair[], net.corda.core.node.services.KeyManagementService, kotlin.jvm.internal.DefaultConstructorMarker)
   public <init>(net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, net.corda.testing.core.TestIdentity...)
   public <init>(net.corda.testing.core.TestIdentity, net.corda.testing.core.TestIdentity...)
   public final void addMockCordapp(String)
@@ -8137,6 +8622,8 @@ public class net.corda.testing.node.MockServices extends java.lang.Object implem
   @NotNull
   public net.corda.core.cordapp.CordappProvider getCordappProvider()
   @NotNull
+  public net.corda.core.node.services.diagnostics.DiagnosticsService getDiagnosticsService()
+  @NotNull
   public net.corda.core.node.services.IdentityService getIdentityService()
   @NotNull
   public net.corda.core.node.services.KeyManagementService getKeyManagementService()
@@ -8170,6 +8657,12 @@ public class net.corda.testing.node.MockServices extends java.lang.Object implem
   public static final kotlin.Pair<net.corda.nodeapi.internal.persistence.CordaPersistence, net.corda.testing.node.MockServices> makeTestDatabaseAndMockServices(java.util.List<String>, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, java.security.KeyPair...)
   @NotNull
   public static final kotlin.Pair<net.corda.nodeapi.internal.persistence.CordaPersistence, net.corda.testing.node.MockServices> makeTestDatabaseAndMockServices(java.util.List<String>, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, java.security.KeyPair...)
+  @NotNull
+  public static final kotlin.Pair<net.corda.nodeapi.internal.persistence.CordaPersistence, net.corda.testing.node.MockServices> makeTestDatabaseAndPersistentServices(java.util.List<String>, net.corda.testing.core.TestIdentity, java.util.Set<java.security.KeyPair>, java.util.Set<net.corda.core.identity.PartyAndCertificate>)
+  @NotNull
+  public static final kotlin.Pair<net.corda.nodeapi.internal.persistence.CordaPersistence, net.corda.testing.node.MockServices> makeTestDatabaseAndPersistentServices(java.util.List<String>, net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, java.util.Set<java.security.KeyPair>, java.util.Set<net.corda.core.identity.PartyAndCertificate>)
+  @NotNull
+  public static final kotlin.Pair<net.corda.nodeapi.internal.persistence.CordaPersistence, net.corda.testing.node.MockServices> makeTestDatabaseAndPersistentServices(java.util.List<String>, net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, java.util.Set<java.security.KeyPair>, java.util.Set<net.corda.core.identity.PartyAndCertificate>, net.corda.testing.internal.TestingNamedCacheFactory)
   public void recordTransactions(Iterable<net.corda.core.transactions.SignedTransaction>)
   public void recordTransactions(net.corda.core.node.StatesToRecord, Iterable<net.corda.core.transactions.SignedTransaction>)
   public void recordTransactions(net.corda.core.transactions.SignedTransaction, net.corda.core.transactions.SignedTransaction...)
@@ -8198,6 +8691,12 @@ public static final class net.corda.testing.node.MockServices$Companion extends
   public final kotlin.Pair<net.corda.nodeapi.internal.persistence.CordaPersistence, net.corda.testing.node.MockServices> makeTestDatabaseAndMockServices(java.util.List<String>, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, java.security.KeyPair...)
   @NotNull
   public final kotlin.Pair<net.corda.nodeapi.internal.persistence.CordaPersistence, net.corda.testing.node.MockServices> makeTestDatabaseAndMockServices(java.util.List<String>, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, java.security.KeyPair...)
+  @NotNull
+  public final kotlin.Pair<net.corda.nodeapi.internal.persistence.CordaPersistence, net.corda.testing.node.MockServices> makeTestDatabaseAndPersistentServices(java.util.List<String>, net.corda.testing.core.TestIdentity, java.util.Set<java.security.KeyPair>, java.util.Set<net.corda.core.identity.PartyAndCertificate>)
+  @NotNull
+  public final kotlin.Pair<net.corda.nodeapi.internal.persistence.CordaPersistence, net.corda.testing.node.MockServices> makeTestDatabaseAndPersistentServices(java.util.List<String>, net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, java.util.Set<java.security.KeyPair>, java.util.Set<net.corda.core.identity.PartyAndCertificate>)
+  @NotNull
+  public final kotlin.Pair<net.corda.nodeapi.internal.persistence.CordaPersistence, net.corda.testing.node.MockServices> makeTestDatabaseAndPersistentServices(java.util.List<String>, net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, java.util.Set<java.security.KeyPair>, java.util.Set<net.corda.core.identity.PartyAndCertificate>, net.corda.testing.internal.TestingNamedCacheFactory)
 ##
 public final class net.corda.testing.node.MockServicesKt extends java.lang.Object
   @NotNull
@@ -8303,6 +8802,8 @@ public final class net.corda.testing.node.UnstartedMockNode extends java.lang.Ob
   public final int getId()
   @NotNull
   public final net.corda.testing.node.StartedMockNode getStarted()
+  @NotNull
+  public final T installCordaService(Class<T>)
   public final boolean isStarted()
   @NotNull
   public final net.corda.testing.node.StartedMockNode start()
@@ -8339,28 +8840,46 @@ public class net.corda.client.rpc.ConnectionFailureException extends net.corda.c
 ##
 public final class net.corda.client.rpc.CordaRPCClient extends java.lang.Object
   public <init>(java.util.List<net.corda.core.utilities.NetworkHostAndPort>)
+  public <init>(java.util.List<net.corda.core.utilities.NetworkHostAndPort>, java.util.Set<? extends net.corda.core.serialization.SerializationCustomSerializer<?, ?>>)
   public <init>(java.util.List<net.corda.core.utilities.NetworkHostAndPort>, net.corda.client.rpc.CordaRPCClientConfiguration)
+  public <init>(java.util.List<net.corda.core.utilities.NetworkHostAndPort>, net.corda.client.rpc.CordaRPCClientConfiguration, java.util.Set<? extends net.corda.core.serialization.SerializationCustomSerializer<?, ?>>)
   public <init>(java.util.List<net.corda.core.utilities.NetworkHostAndPort>, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions)
   public <init>(java.util.List<net.corda.core.utilities.NetworkHostAndPort>, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions, ClassLoader)
   public <init>(java.util.List, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions, ClassLoader, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(java.util.List<net.corda.core.utilities.NetworkHostAndPort>, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions, ClassLoader, java.util.Set<? extends net.corda.core.serialization.SerializationCustomSerializer<?, ?>>)
+  public <init>(java.util.List, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions, ClassLoader, java.util.Set, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(java.util.List<net.corda.core.utilities.NetworkHostAndPort>, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions, java.util.Set<? extends net.corda.core.serialization.SerializationCustomSerializer<?, ?>>)
   public <init>(net.corda.core.utilities.NetworkHostAndPort)
+  public <init>(net.corda.core.utilities.NetworkHostAndPort, java.util.Set<? extends net.corda.core.serialization.SerializationCustomSerializer<?, ?>>)
   public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration)
   public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration, int, kotlin.jvm.internal.DefaultConstructorMarker)
   public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration, ClassLoader)
   public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration, ClassLoader, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration, java.util.Set<? extends net.corda.core.serialization.SerializationCustomSerializer<?, ?>>)
   public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions)
   public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions, ClassLoader)
   public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions, ClassLoader, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions, ClassLoader, java.util.Set<? extends net.corda.core.serialization.SerializationCustomSerializer<?, ?>>)
+  public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions, ClassLoader, java.util.Set, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.client.rpc.CordaRPCClientConfiguration, net.corda.core.messaging.ClientRpcSslOptions, java.util.Set<? extends net.corda.core.serialization.SerializationCustomSerializer<?, ?>>)
   public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.core.messaging.ClientRpcSslOptions, ClassLoader)
   public <init>(net.corda.core.utilities.NetworkHostAndPort, net.corda.core.messaging.ClientRpcSslOptions, ClassLoader, int, kotlin.jvm.internal.DefaultConstructorMarker)
   @NotNull
   public final net.corda.client.rpc.CordaRPCConnection start(String, String)
   @NotNull
+  public final net.corda.client.rpc.CordaRPCConnection start(String, String, net.corda.client.rpc.GracefulReconnect)
+  @NotNull
   public final net.corda.client.rpc.CordaRPCConnection start(String, String, net.corda.core.context.Trace, net.corda.core.context.Actor)
   @NotNull
+  public final net.corda.client.rpc.CordaRPCConnection start(String, String, net.corda.core.context.Trace, net.corda.core.context.Actor, net.corda.client.rpc.GracefulReconnect)
+  @NotNull
   public final net.corda.client.rpc.CordaRPCConnection start(String, String, net.corda.core.context.Trace, net.corda.core.context.Actor, net.corda.core.identity.CordaX500Name)
   @NotNull
+  public final net.corda.client.rpc.CordaRPCConnection start(String, String, net.corda.core.context.Trace, net.corda.core.context.Actor, net.corda.core.identity.CordaX500Name, net.corda.client.rpc.GracefulReconnect)
+  @NotNull
   public final net.corda.client.rpc.CordaRPCConnection start(String, String, net.corda.core.identity.CordaX500Name)
+  @NotNull
+  public final net.corda.client.rpc.CordaRPCConnection start(String, String, net.corda.core.identity.CordaX500Name, net.corda.client.rpc.GracefulReconnect)
   public final A use(String, String, kotlin.jvm.functions.Function1<? super net.corda.client.rpc.CordaRPCConnection, ? extends A>)
   public static final net.corda.client.rpc.CordaRPCClient$Companion Companion
 ##
@@ -8436,12 +8955,33 @@ public static final class net.corda.client.rpc.CordaRPCClientConfiguration$Compa
 @DoNotImplement
 public final class net.corda.client.rpc.CordaRPCConnection extends java.lang.Object implements net.corda.client.rpc.RPCConnection
   public <init>(net.corda.client.rpc.RPCConnection<? extends net.corda.core.messaging.CordaRPCOps>)
+  public <init>(net.corda.client.rpc.RPCConnection, java.util.concurrent.ExecutorService, net.corda.client.rpc.internal.ReconnectingCordaRPCOps, kotlin.jvm.internal.DefaultConstructorMarker)
   public void close()
   public void forceClose()
   @NotNull
   public net.corda.core.messaging.CordaRPCOps getProxy()
   public int getServerProtocolVersion()
   public void notifyServerAndClose()
+  public static final net.corda.client.rpc.CordaRPCConnection$Companion Companion
+##
+public static final class net.corda.client.rpc.CordaRPCConnection$Companion extends java.lang.Object
+  public <init>(kotlin.jvm.internal.DefaultConstructorMarker)
+##
+public final class net.corda.client.rpc.GracefulReconnect extends java.lang.Object
+  public <init>()
+  public <init>(Runnable, Runnable)
+  public <init>(Runnable, Runnable, int)
+  public <init>(Runnable, Runnable, int, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public <init>(kotlin.jvm.functions.Function0<kotlin.Unit>, kotlin.jvm.functions.Function0<kotlin.Unit>, int)
+  public <init>(kotlin.jvm.functions.Function0, kotlin.jvm.functions.Function0, int, int, kotlin.jvm.internal.DefaultConstructorMarker)
+  public final int getMaxAttempts()
+  @NotNull
+  public final kotlin.jvm.functions.Function0<kotlin.Unit> getOnDisconnect()
+  @NotNull
+  public final kotlin.jvm.functions.Function0<kotlin.Unit> getOnReconnect()
+##
+public final class net.corda.client.rpc.MaxRpcRetryException extends net.corda.client.rpc.RPCException
+  public <init>(int, reflect.Method, Throwable)
 ##
 public final class net.corda.client.rpc.PermissionException extends net.corda.core.CordaRuntimeException implements net.corda.core.ClientRelevantError, net.corda.nodeapi.exceptions.RpcSerializableError
   public <init>(String)
@@ -8450,6 +8990,7 @@ public final class net.corda.client.rpc.PermissionException extends net.corda.co
 ##
 @DoNotImplement
 public interface net.corda.client.rpc.RPCConnection extends java.io.Closeable
+  public abstract void close()
   public abstract void forceClose()
   @NotNull
   public abstract I getProxy()
@@ -8463,9 +9004,18 @@ public class net.corda.client.rpc.RPCException extends net.corda.core.CordaRunti
 public @interface net.corda.client.rpc.RPCSinceVersion
   public abstract int version()
 ##
+public class net.corda.client.rpc.UnrecoverableRPCException extends net.corda.client.rpc.RPCException
+  public <init>(String, Throwable)
+  public <init>(String, Throwable, int, kotlin.jvm.internal.DefaultConstructorMarker)
+##
 public final class net.corda.client.rpc.UtilsKt extends java.lang.Object
   public static final void notUsed(rx.Observable<T>)
 ##
+public final class net.corda.client.rpc.reconnect.CouldNotStartFlowException extends net.corda.client.rpc.RPCException
+  public <init>()
+  public <init>(Throwable)
+  public <init>(Throwable, int, kotlin.jvm.internal.DefaultConstructorMarker)
+##
 public final class net.corda.finance.test.CashSchema extends java.lang.Object
   public static final net.corda.finance.test.CashSchema INSTANCE
 ##