diff --git a/.ci/api-current.txt b/.ci/api-current.txt index 00a97e3354..2f91508e96 100644 --- a/.ci/api-current.txt +++ b/.ci/api-current.txt @@ -207,7 +207,7 @@ public static final class net.corda.core.context.Trace$InvocationId$Companion ex public static final class net.corda.core.context.Trace$SessionId$Companion extends java.lang.Object @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final net.corda.core.context.Trace$SessionId newInstance(String, java.time.Instant) ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.contracts.AlwaysAcceptAttachmentConstraint extends java.lang.Object implements net.corda.core.contracts.AttachmentConstraint +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.contracts.AlwaysAcceptAttachmentConstraint extends java.lang.Object implements net.corda.core.contracts.AttachmentConstraint public boolean isSatisfiedBy(net.corda.core.contracts.Attachment) public static final net.corda.core.contracts.AlwaysAcceptAttachmentConstraint INSTANCE ## @@ -282,14 +282,14 @@ public static final class net.corda.core.contracts.AmountTransfer$Companion exte @org.jetbrains.annotations.NotNull public abstract java.io.InputStream open() @org.jetbrains.annotations.NotNull public abstract jar.JarInputStream openAsJAR() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public interface net.corda.core.contracts.AttachmentConstraint +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public interface net.corda.core.contracts.AttachmentConstraint public abstract boolean isSatisfiedBy(net.corda.core.contracts.Attachment) ## @net.corda.core.serialization.CordaSerializable public final class net.corda.core.contracts.AttachmentResolutionException extends net.corda.core.flows.FlowException public (net.corda.core.crypto.SecureHash) @org.jetbrains.annotations.NotNull public final net.corda.core.crypto.SecureHash getHash() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.contracts.AutomaticHashConstraint extends java.lang.Object implements net.corda.core.contracts.AttachmentConstraint +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.contracts.AutomaticHashConstraint extends java.lang.Object implements net.corda.core.contracts.AttachmentConstraint public boolean isSatisfiedBy(net.corda.core.contracts.Attachment) public static final net.corda.core.contracts.AutomaticHashConstraint INSTANCE ## @@ -370,7 +370,7 @@ public final class net.corda.core.contracts.ContractsDSL extends java.lang.Objec @org.jetbrains.annotations.NotNull public abstract Collection getExitKeys() @org.jetbrains.annotations.NotNull public abstract net.corda.core.contracts.FungibleAsset withNewOwnerAndAmount(net.corda.core.contracts.Amount, net.corda.core.identity.AbstractParty) ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.contracts.HashAttachmentConstraint extends java.lang.Object implements net.corda.core.contracts.AttachmentConstraint +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.contracts.HashAttachmentConstraint extends java.lang.Object implements net.corda.core.contracts.AttachmentConstraint public (net.corda.core.crypto.SecureHash) @org.jetbrains.annotations.NotNull public final net.corda.core.crypto.SecureHash component1() @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.HashAttachmentConstraint copy(net.corda.core.crypto.SecureHash) @@ -640,7 +640,7 @@ public static final class net.corda.core.contracts.UniqueIdentifier$Companion ex @net.corda.core.serialization.CordaSerializable public interface net.corda.core.contracts.UpgradedContractWithLegacyConstraint extends net.corda.core.contracts.UpgradedContract @org.jetbrains.annotations.NotNull public abstract net.corda.core.contracts.AttachmentConstraint getLegacyContractConstraint() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.contracts.WhitelistedByZoneAttachmentConstraint extends java.lang.Object implements net.corda.core.contracts.AttachmentConstraint +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.contracts.WhitelistedByZoneAttachmentConstraint extends java.lang.Object implements net.corda.core.contracts.AttachmentConstraint public boolean isSatisfiedBy(net.corda.core.contracts.Attachment) public static final net.corda.core.contracts.WhitelistedByZoneAttachmentConstraint INSTANCE ## @@ -714,6 +714,7 @@ public static final class net.corda.core.crypto.CompositeKey$Builder extends jav public () @org.jetbrains.annotations.NotNull public final net.corda.core.crypto.CompositeKey$Builder addKey(java.security.PublicKey, int) @org.jetbrains.annotations.NotNull public final net.corda.core.crypto.CompositeKey$Builder addKeys(List) + @org.jetbrains.annotations.NotNull public final net.corda.core.crypto.CompositeKey$Builder addKeys(java.security.PublicKey...) @org.jetbrains.annotations.NotNull public final java.security.PublicKey build(Integer) ## public static final class net.corda.core.crypto.CompositeKey$Companion extends java.lang.Object @@ -1126,6 +1127,7 @@ public static final class net.corda.core.flows.AbstractStateReplacementFlow$Upgr ## @co.paralleluniverse.fibers.Suspendable public final class net.corda.core.flows.CollectSignatureFlow extends net.corda.core.flows.FlowLogic public (net.corda.core.transactions.SignedTransaction, net.corda.core.flows.FlowSession, List) + public (net.corda.core.transactions.SignedTransaction, net.corda.core.flows.FlowSession, java.security.PublicKey...) @co.paralleluniverse.fibers.Suspendable @org.jetbrains.annotations.NotNull public List call() @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.SignedTransaction getPartiallySignedTx() @org.jetbrains.annotations.NotNull public final net.corda.core.flows.FlowSession getSession() @@ -1300,9 +1302,11 @@ public static final class net.corda.core.flows.FlowLogic$Companion extends java. @co.paralleluniverse.fibers.Suspendable @kotlin.jvm.JvmStatic public final void sleep(java.time.Duration) @co.paralleluniverse.fibers.Suspendable @kotlin.jvm.JvmStatic public final void sleep(java.time.Duration, boolean) ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public interface net.corda.core.flows.FlowLogicRef +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public interface net.corda.core.flows.FlowLogicRef ## @net.corda.core.DoNotImplement public interface net.corda.core.flows.FlowLogicRefFactory + @org.jetbrains.annotations.NotNull public abstract net.corda.core.flows.FlowLogicRef create(Class, Object...) + @org.jetbrains.annotations.NotNull public abstract net.corda.core.flows.FlowLogicRef create(String, Object...) @org.jetbrains.annotations.NotNull public abstract net.corda.core.flows.FlowLogic toFlowLogic(net.corda.core.flows.FlowLogicRef) ## @net.corda.core.DoNotImplement public abstract class net.corda.core.flows.FlowSession extends java.lang.Object @@ -1574,15 +1578,16 @@ public final class net.corda.core.flows.TransactionParts extends java.lang.Objec @org.jetbrains.annotations.NotNull public Long getErrorId() public final long getOriginalErrorId() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public abstract class net.corda.core.identity.AbstractParty extends java.lang.Object +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public abstract class net.corda.core.identity.AbstractParty extends java.lang.Object public (java.security.PublicKey) public boolean equals(Object) @org.jetbrains.annotations.NotNull public final java.security.PublicKey getOwningKey() public int hashCode() @org.jetbrains.annotations.Nullable public abstract net.corda.core.identity.CordaX500Name nameOrNull() @org.jetbrains.annotations.NotNull public abstract net.corda.core.contracts.PartyAndReference ref(net.corda.core.utilities.OpaqueBytes) + @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.PartyAndReference ref(byte...) ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.identity.AnonymousParty extends net.corda.core.identity.AbstractParty +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.identity.AnonymousParty extends net.corda.core.identity.AbstractParty public (java.security.PublicKey) @org.jetbrains.annotations.Nullable public net.corda.core.identity.CordaX500Name nameOrNull() @org.jetbrains.annotations.NotNull public net.corda.core.contracts.PartyAndReference ref(net.corda.core.utilities.OpaqueBytes) @@ -1631,7 +1636,7 @@ public final class net.corda.core.identity.IdentityUtils extends java.lang.Objec @org.jetbrains.annotations.NotNull public static final Map groupPublicKeysByWellKnownParty(net.corda.core.node.ServiceHub, Collection) @org.jetbrains.annotations.NotNull public static final Map groupPublicKeysByWellKnownParty(net.corda.core.node.ServiceHub, Collection, boolean) ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.identity.Party extends net.corda.core.identity.AbstractParty +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.identity.Party extends net.corda.core.identity.AbstractParty public (java.security.cert.X509Certificate) public (net.corda.core.identity.CordaX500Name, java.security.PublicKey) @org.jetbrains.annotations.NotNull public final net.corda.core.identity.AnonymousParty anonymise() @@ -1681,6 +1686,8 @@ public final class net.corda.core.identity.IdentityUtils extends java.lang.Objec @org.jetbrains.annotations.NotNull public abstract List queryAttachments(net.corda.core.node.services.vault.AttachmentQueryCriteria, net.corda.core.node.services.vault.AttachmentSort) @org.jetbrains.annotations.NotNull public abstract List registeredFlows() public abstract void setFlowsDrainingModeEnabled(boolean) + @net.corda.core.messaging.RPCReturnsObservables @org.jetbrains.annotations.NotNull public abstract net.corda.core.messaging.FlowHandle startFlowDynamic(Class, Object...) + @net.corda.core.messaging.RPCReturnsObservables @org.jetbrains.annotations.NotNull public abstract net.corda.core.messaging.FlowProgressHandle startTrackedFlowDynamic(Class, Object...) @net.corda.core.messaging.RPCReturnsObservables @org.jetbrains.annotations.NotNull public abstract net.corda.core.messaging.DataFeed stateMachineRecordedTransactionMappingFeed() @org.jetbrains.annotations.NotNull public abstract List stateMachineRecordedTransactionMappingSnapshot() @net.corda.core.messaging.RPCReturnsObservables @org.jetbrains.annotations.NotNull public abstract net.corda.core.messaging.DataFeed stateMachinesFeed() @@ -1719,7 +1726,7 @@ public final class net.corda.core.messaging.CordaRPCOpsKt extends java.lang.Obje @org.jetbrains.annotations.NotNull public abstract net.corda.core.flows.StateMachineRunId getId() @org.jetbrains.annotations.NotNull public abstract net.corda.core.concurrent.CordaFuture getReturnValue() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.messaging.FlowHandleImpl extends java.lang.Object implements net.corda.core.messaging.FlowHandle +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.messaging.FlowHandleImpl extends java.lang.Object implements net.corda.core.messaging.FlowHandle public (net.corda.core.flows.StateMachineRunId, net.corda.core.concurrent.CordaFuture) public void close() @org.jetbrains.annotations.NotNull public final net.corda.core.flows.StateMachineRunId component1() @@ -1737,7 +1744,7 @@ public final class net.corda.core.messaging.CordaRPCOpsKt extends java.lang.Obje @org.jetbrains.annotations.Nullable public abstract net.corda.core.messaging.DataFeed getStepsTreeFeed() @org.jetbrains.annotations.Nullable public abstract net.corda.core.messaging.DataFeed getStepsTreeIndexFeed() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.messaging.FlowProgressHandleImpl extends java.lang.Object implements net.corda.core.messaging.FlowProgressHandle +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.messaging.FlowProgressHandleImpl extends java.lang.Object implements net.corda.core.messaging.FlowProgressHandle public (net.corda.core.flows.StateMachineRunId, net.corda.core.concurrent.CordaFuture, rx.Observable) public (net.corda.core.flows.StateMachineRunId, net.corda.core.concurrent.CordaFuture, rx.Observable, net.corda.core.messaging.DataFeed) public (net.corda.core.flows.StateMachineRunId, net.corda.core.concurrent.CordaFuture, rx.Observable, net.corda.core.messaging.DataFeed, net.corda.core.messaging.DataFeed) @@ -1913,7 +1920,9 @@ public @interface net.corda.core.messaging.RPCReturnsObservables @org.jetbrains.annotations.NotNull public abstract java.sql.Connection jdbcSession() public abstract void recordTransactions(Iterable) public abstract void recordTransactions(net.corda.core.node.StatesToRecord, Iterable) + public abstract void recordTransactions(net.corda.core.transactions.SignedTransaction, net.corda.core.transactions.SignedTransaction...) public abstract void recordTransactions(boolean, Iterable) + public abstract void recordTransactions(boolean, net.corda.core.transactions.SignedTransaction, net.corda.core.transactions.SignedTransaction...) public abstract void registerUnloadHandler(kotlin.jvm.functions.Function0) @org.jetbrains.annotations.NotNull public abstract net.corda.core.transactions.SignedTransaction signInitialTransaction(net.corda.core.transactions.TransactionBuilder) @org.jetbrains.annotations.NotNull public abstract net.corda.core.transactions.SignedTransaction signInitialTransaction(net.corda.core.transactions.TransactionBuilder, Iterable) @@ -2309,12 +2318,12 @@ public interface net.corda.core.node.services.vault.BaseQueryCriteriaParser public abstract class net.corda.core.node.services.vault.BaseSort extends java.lang.Object public () ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.node.services.vault.BinaryComparisonOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.node.services.vault.BinaryComparisonOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator protected (String, int) public static net.corda.core.node.services.vault.BinaryComparisonOperator valueOf(String) public static net.corda.core.node.services.vault.BinaryComparisonOperator[] values() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.node.services.vault.BinaryLogicalOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.node.services.vault.BinaryLogicalOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator protected (String, int) public static net.corda.core.node.services.vault.BinaryLogicalOperator valueOf(String) public static net.corda.core.node.services.vault.BinaryLogicalOperator[] values() @@ -2386,7 +2395,7 @@ public abstract class net.corda.core.node.services.vault.BaseSort extends java.l @org.jetbrains.annotations.NotNull public final net.corda.core.node.services.vault.CriteriaExpression$AggregateFunctionExpression sum(kotlin.reflect.KProperty1, List, net.corda.core.node.services.vault.Sort$Direction) public static final net.corda.core.node.services.vault.Builder INSTANCE ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.node.services.vault.CollectionOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.node.services.vault.CollectionOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator protected (String, int) public static net.corda.core.node.services.vault.CollectionOperator valueOf(String) public static net.corda.core.node.services.vault.CollectionOperator[] values() @@ -2523,7 +2532,7 @@ public abstract class net.corda.core.node.services.vault.BaseSort extends java.l public int hashCode() public String toString() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.node.services.vault.EqualityComparisonOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.node.services.vault.EqualityComparisonOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator protected (String, int) public static net.corda.core.node.services.vault.EqualityComparisonOperator valueOf(String) public static net.corda.core.node.services.vault.EqualityComparisonOperator[] values() @@ -2552,17 +2561,17 @@ public static interface net.corda.core.node.services.vault.GenericQueryCriteria$ @org.jetbrains.annotations.NotNull public abstract Collection parseCriteria(net.corda.core.node.services.vault.QueryCriteria$VaultCustomQueryCriteria) @org.jetbrains.annotations.NotNull public abstract Collection parseCriteria(net.corda.core.node.services.vault.QueryCriteria$VaultQueryCriteria) ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.node.services.vault.LikenessOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.node.services.vault.LikenessOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator protected (String, int) public static net.corda.core.node.services.vault.LikenessOperator valueOf(String) public static net.corda.core.node.services.vault.LikenessOperator[] values() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.node.services.vault.NullOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.node.services.vault.NullOperator extends java.lang.Enum implements net.corda.core.node.services.vault.Operator protected (String, int) public static net.corda.core.node.services.vault.NullOperator valueOf(String) public static net.corda.core.node.services.vault.NullOperator[] values() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public interface net.corda.core.node.services.vault.Operator +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public interface net.corda.core.node.services.vault.Operator ## @net.corda.core.serialization.CordaSerializable public final class net.corda.core.node.services.vault.PageSpecification extends java.lang.Object public () @@ -2744,9 +2753,9 @@ public final class net.corda.core.node.services.vault.QueryCriteriaUtils extends public int hashCode() public String toString() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public static interface net.corda.core.node.services.vault.Sort$Attribute +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public static interface net.corda.core.node.services.vault.Sort$Attribute ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public static final class net.corda.core.node.services.vault.Sort$CommonStateAttribute extends java.lang.Enum implements net.corda.core.node.services.vault.Sort$Attribute +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public static final class net.corda.core.node.services.vault.Sort$CommonStateAttribute extends java.lang.Enum implements net.corda.core.node.services.vault.Sort$Attribute protected (String, int, String, String) @org.jetbrains.annotations.Nullable public final String getAttributeChild() @org.jetbrains.annotations.NotNull public final String getAttributeParent() @@ -2758,13 +2767,13 @@ public final class net.corda.core.node.services.vault.QueryCriteriaUtils extends public static net.corda.core.node.services.vault.Sort$Direction valueOf(String) public static net.corda.core.node.services.vault.Sort$Direction[] values() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public static final class net.corda.core.node.services.vault.Sort$FungibleStateAttribute extends java.lang.Enum implements net.corda.core.node.services.vault.Sort$Attribute +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public static final class net.corda.core.node.services.vault.Sort$FungibleStateAttribute extends java.lang.Enum implements net.corda.core.node.services.vault.Sort$Attribute protected (String, int, String) @org.jetbrains.annotations.NotNull public final String getAttributeName() public static net.corda.core.node.services.vault.Sort$FungibleStateAttribute valueOf(String) public static net.corda.core.node.services.vault.Sort$FungibleStateAttribute[] values() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public static final class net.corda.core.node.services.vault.Sort$LinearStateAttribute extends java.lang.Enum implements net.corda.core.node.services.vault.Sort$Attribute +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public static final class net.corda.core.node.services.vault.Sort$LinearStateAttribute extends java.lang.Enum implements net.corda.core.node.services.vault.Sort$Attribute protected (String, int, String) @org.jetbrains.annotations.NotNull public final String getAttributeName() public static net.corda.core.node.services.vault.Sort$LinearStateAttribute valueOf(String) @@ -2781,7 +2790,7 @@ public final class net.corda.core.node.services.vault.QueryCriteriaUtils extends public int hashCode() public String toString() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public static final class net.corda.core.node.services.vault.Sort$VaultStateAttribute extends java.lang.Enum implements net.corda.core.node.services.vault.Sort$Attribute +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public static final class net.corda.core.node.services.vault.Sort$VaultStateAttribute extends java.lang.Enum implements net.corda.core.node.services.vault.Sort$Attribute protected (String, int, String) @org.jetbrains.annotations.NotNull public final String getAttributeName() public static net.corda.core.node.services.vault.Sort$VaultStateAttribute valueOf(String) @@ -3029,7 +3038,7 @@ public static final class net.corda.core.serialization.SingletonSerializationTok @org.jetbrains.annotations.NotNull public final net.corda.core.crypto.SecureHash getId() @org.jetbrains.annotations.NotNull public final String getReason() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.transactions.ContractUpgradeFilteredTransaction extends net.corda.core.transactions.CoreTransaction +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.transactions.ContractUpgradeFilteredTransaction extends net.corda.core.transactions.CoreTransaction public (List, net.corda.core.identity.Party, net.corda.core.crypto.SecureHash) @org.jetbrains.annotations.NotNull public final List component1() @org.jetbrains.annotations.NotNull public final net.corda.core.identity.Party component2() @@ -3045,34 +3054,37 @@ public static final class net.corda.core.serialization.SingletonSerializationTok public String toString() ## @net.corda.core.DoNotImplement public final class net.corda.core.transactions.ContractUpgradeLedgerTransaction extends net.corda.core.transactions.FullTransaction implements net.corda.core.transactions.TransactionWithSignatures - public (List, net.corda.core.identity.Party, net.corda.core.contracts.ContractAttachment, net.corda.core.contracts.ContractAttachment, net.corda.core.crypto.SecureHash, net.corda.core.contracts.PrivacySalt, List, net.corda.core.node.NetworkParameters) + public (List, 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, List, net.corda.core.node.NetworkParameters) public void checkSignaturesAreValid() @org.jetbrains.annotations.NotNull public final List component1() @org.jetbrains.annotations.NotNull public final net.corda.core.identity.Party component2() - @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.ContractAttachment component3() - @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.ContractAttachment component4() - @org.jetbrains.annotations.NotNull public final net.corda.core.crypto.SecureHash component5() - @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.PrivacySalt component6() - @org.jetbrains.annotations.NotNull public final List component7() - @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.ContractUpgradeLedgerTransaction copy(List, net.corda.core.identity.Party, net.corda.core.contracts.ContractAttachment, net.corda.core.contracts.ContractAttachment, net.corda.core.crypto.SecureHash, net.corda.core.contracts.PrivacySalt, List, net.corda.core.node.NetworkParameters) + @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.Attachment component3() + @org.jetbrains.annotations.NotNull public final String component4() + @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.Attachment component5() + @org.jetbrains.annotations.NotNull public final net.corda.core.crypto.SecureHash component6() + @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.PrivacySalt component7() + @org.jetbrains.annotations.NotNull public final List component8() + @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.ContractUpgradeLedgerTransaction copy(List, 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, List, net.corda.core.node.NetworkParameters) public boolean equals(Object) @org.jetbrains.annotations.NotNull public net.corda.core.crypto.SecureHash getId() @org.jetbrains.annotations.NotNull public List getInputs() @org.jetbrains.annotations.NotNull public List getKeyDescriptions(Set) - @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.ContractAttachment getLegacyContractAttachment() + @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.Attachment getLegacyContractAttachment() @org.jetbrains.annotations.NotNull public Set getMissingSigners() @org.jetbrains.annotations.NotNull public net.corda.core.identity.Party getNotary() @org.jetbrains.annotations.NotNull public List getOutputs() @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.PrivacySalt getPrivacySalt() @org.jetbrains.annotations.NotNull public Set getRequiredSigningKeys() @org.jetbrains.annotations.NotNull public List getSigs() - @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.ContractAttachment getUpgradedContractAttachment() + @org.jetbrains.annotations.NotNull public final String getUpgradeContractClassName() + @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.Attachment getUpgradedContractAttachment() public int hashCode() public String toString() public void verifyRequiredSignatures() public void verifySignaturesExcept(Collection) + public void verifySignaturesExcept(java.security.PublicKey...) ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.transactions.ContractUpgradeWireTransaction extends net.corda.core.transactions.CoreTransaction +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.transactions.ContractUpgradeWireTransaction extends net.corda.core.transactions.CoreTransaction public (List, net.corda.core.identity.Party, net.corda.core.crypto.SecureHash, String, net.corda.core.crypto.SecureHash, net.corda.core.contracts.PrivacySalt) @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.ContractUpgradeFilteredTransaction buildFilteredTransaction() @org.jetbrains.annotations.NotNull public final List component1() @@ -3095,7 +3107,7 @@ public static final class net.corda.core.serialization.SingletonSerializationTok @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.ContractUpgradeLedgerTransaction resolve(net.corda.core.node.ServicesForResolution, List) public String toString() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public abstract class net.corda.core.transactions.CoreTransaction extends net.corda.core.transactions.BaseTransaction +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public abstract class net.corda.core.transactions.CoreTransaction extends net.corda.core.transactions.BaseTransaction public () @org.jetbrains.annotations.NotNull public abstract List getInputs() ## @@ -3114,7 +3126,7 @@ public static final class net.corda.core.serialization.SingletonSerializationTok public int hashCode() public String toString() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.transactions.FilteredTransaction extends net.corda.core.transactions.TraversableTransaction +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.transactions.FilteredTransaction extends net.corda.core.transactions.TraversableTransaction public (net.corda.core.crypto.SecureHash, List, List) @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public static final net.corda.core.transactions.FilteredTransaction buildFilteredTransaction(net.corda.core.transactions.WireTransaction, function.Predicate) public final void checkAllComponentsVisible(net.corda.core.contracts.ComponentGroupEnum) @@ -3139,7 +3151,7 @@ public static final class net.corda.core.transactions.FilteredTransaction$Compan protected void checkBaseInvariants() @org.jetbrains.annotations.NotNull public abstract List getInputs() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.transactions.LedgerTransaction extends net.corda.core.transactions.FullTransaction +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.transactions.LedgerTransaction extends net.corda.core.transactions.FullTransaction public (List, List, List, List, net.corda.core.crypto.SecureHash, net.corda.core.identity.Party, net.corda.core.contracts.TimeWindow, net.corda.core.contracts.PrivacySalt) public (List, List, List, 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) @org.jetbrains.annotations.NotNull public final List commandsOfType(Class) @@ -3222,8 +3234,9 @@ public static final class net.corda.core.transactions.LedgerTransaction$InOutGro public String toString() public void verifyRequiredSignatures() public void verifySignaturesExcept(Collection) + public void verifySignaturesExcept(java.security.PublicKey...) ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.transactions.NotaryChangeWireTransaction extends net.corda.core.transactions.CoreTransaction +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.transactions.NotaryChangeWireTransaction extends net.corda.core.transactions.CoreTransaction public (List, net.corda.core.identity.Party, net.corda.core.identity.Party) @org.jetbrains.annotations.NotNull public final List component1() @org.jetbrains.annotations.NotNull public final net.corda.core.identity.Party component2() @@ -3240,7 +3253,7 @@ public static final class net.corda.core.transactions.LedgerTransaction$InOutGro @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.NotaryChangeLedgerTransaction resolve(net.corda.core.node.ServicesForResolution, List) public String toString() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.transactions.SignedTransaction extends java.lang.Object implements net.corda.core.transactions.TransactionWithSignatures +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.transactions.SignedTransaction extends java.lang.Object implements net.corda.core.transactions.TransactionWithSignatures public (net.corda.core.serialization.SerializedBytes, List) public (net.corda.core.transactions.CoreTransaction, List) @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.FilteredTransaction buildFilteredTransaction(function.Predicate) @@ -3276,6 +3289,7 @@ public static final class net.corda.core.transactions.LedgerTransaction$InOutGro public final void verify(net.corda.core.node.ServiceHub, boolean) public void verifyRequiredSignatures() public void verifySignaturesExcept(Collection) + public void verifySignaturesExcept(java.security.PublicKey...) @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.SignedTransaction withAdditionalSignature(java.security.KeyPair, net.corda.core.crypto.SignatureMetadata) @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.SignedTransaction withAdditionalSignature(net.corda.core.crypto.TransactionSignature) @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.SignedTransaction withAdditionalSignatures(Iterable) @@ -3300,6 +3314,7 @@ public class net.corda.core.transactions.TransactionBuilder extends java.lang.Ob @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.TransactionBuilder addAttachment(net.corda.core.crypto.SecureHash) @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.TransactionBuilder addCommand(net.corda.core.contracts.Command) @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.TransactionBuilder addCommand(net.corda.core.contracts.CommandData, List) + @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.TransactionBuilder addCommand(net.corda.core.contracts.CommandData, java.security.PublicKey...) @org.jetbrains.annotations.NotNull public net.corda.core.transactions.TransactionBuilder addInputState(net.corda.core.contracts.StateAndRef) @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.TransactionBuilder addOutputState(net.corda.core.contracts.ContractState, String) @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.TransactionBuilder addOutputState(net.corda.core.contracts.ContractState, String, net.corda.core.contracts.AttachmentConstraint) @@ -3331,6 +3346,7 @@ public class net.corda.core.transactions.TransactionBuilder extends java.lang.Ob @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.SignedTransaction toSignedTransaction(net.corda.core.node.services.KeyManagementService, java.security.PublicKey, net.corda.core.crypto.SignatureMetadata, net.corda.core.node.ServicesForResolution) @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.WireTransaction toWireTransaction(net.corda.core.node.ServicesForResolution) public final void verify(net.corda.core.node.ServiceHub) + @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.TransactionBuilder withItems(Object...) ## @net.corda.core.DoNotImplement public interface net.corda.core.transactions.TransactionWithSignatures extends net.corda.core.contracts.NamedByHash public abstract void checkSignaturesAreValid() @@ -3340,8 +3356,9 @@ public class net.corda.core.transactions.TransactionBuilder extends java.lang.Ob @org.jetbrains.annotations.NotNull public abstract List getSigs() public abstract void verifyRequiredSignatures() public abstract void verifySignaturesExcept(Collection) + public abstract void verifySignaturesExcept(java.security.PublicKey...) ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public abstract class net.corda.core.transactions.TraversableTransaction extends net.corda.core.transactions.CoreTransaction +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public abstract class net.corda.core.transactions.TraversableTransaction extends net.corda.core.transactions.CoreTransaction public (List) @org.jetbrains.annotations.NotNull public final List getAttachments() @org.jetbrains.annotations.NotNull public final List getAvailableComponentGroups() @@ -3352,7 +3369,7 @@ public class net.corda.core.transactions.TransactionBuilder extends java.lang.Ob @org.jetbrains.annotations.NotNull public List getOutputs() @org.jetbrains.annotations.Nullable public final net.corda.core.contracts.TimeWindow getTimeWindow() ## -@net.corda.core.serialization.CordaSerializable @net.corda.core.DoNotImplement public final class net.corda.core.transactions.WireTransaction extends net.corda.core.transactions.TraversableTransaction +@net.corda.core.DoNotImplement @net.corda.core.serialization.CordaSerializable public final class net.corda.core.transactions.WireTransaction extends net.corda.core.transactions.TraversableTransaction @kotlin.Deprecated public (List, List, List, List, net.corda.core.identity.Party, net.corda.core.contracts.TimeWindow, net.corda.core.contracts.PrivacySalt) public (List, net.corda.core.contracts.PrivacySalt) @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.FilteredTransaction buildFilteredTransaction(function.Predicate) @@ -3486,6 +3503,7 @@ public final class net.corda.core.utilities.NonEmptySet extends java.lang.Object public boolean isEmpty() @org.jetbrains.annotations.NotNull public Iterator iterator() @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public static final net.corda.core.utilities.NonEmptySet of(Object) + @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public static final net.corda.core.utilities.NonEmptySet of(Object, Object, Object...) @org.jetbrains.annotations.NotNull public stream.Stream parallelStream() public boolean remove(Object) public boolean removeAll(Collection) @@ -3500,6 +3518,7 @@ public final class net.corda.core.utilities.NonEmptySet extends java.lang.Object public static final class net.corda.core.utilities.NonEmptySet$Companion extends java.lang.Object @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final net.corda.core.utilities.NonEmptySet copyOf(Collection) @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final net.corda.core.utilities.NonEmptySet of(Object) + @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final net.corda.core.utilities.NonEmptySet of(Object, Object, Object...) ## public static final class net.corda.core.utilities.NonEmptySet$iterator$1 extends java.lang.Object implements java.util.Iterator, kotlin.jvm.internal.markers.KMappedMarker public boolean hasNext() @@ -3509,15 +3528,18 @@ public static final class net.corda.core.utilities.NonEmptySet$iterator$1 extend @net.corda.core.serialization.CordaSerializable public class net.corda.core.utilities.OpaqueBytes extends net.corda.core.utilities.ByteSequence public (byte[]) @org.jetbrains.annotations.NotNull public final byte[] getBytes() + @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public static final net.corda.core.utilities.OpaqueBytes of(byte...) public static final net.corda.core.utilities.OpaqueBytes$Companion Companion ## public static final class net.corda.core.utilities.OpaqueBytes$Companion extends java.lang.Object + @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final net.corda.core.utilities.OpaqueBytes of(byte...) ## @net.corda.core.serialization.CordaSerializable public final class net.corda.core.utilities.OpaqueBytesSubSequence extends net.corda.core.utilities.ByteSequence public (byte[], int, int) @org.jetbrains.annotations.NotNull public byte[] getBytes() ## @net.corda.core.serialization.CordaSerializable public final class net.corda.core.utilities.ProgressTracker extends java.lang.Object + public (net.corda.core.utilities.ProgressTracker$Step...) public final void endWithError(Throwable) @org.jetbrains.annotations.NotNull public final List getAllSteps() @org.jetbrains.annotations.NotNull public final List getAllStepsLabels() @@ -4152,9 +4174,17 @@ public class net.corda.testing.node.MockServices extends java.lang.Object implem public () public (List) public (List, net.corda.core.identity.CordaX500Name) + public (List, net.corda.core.identity.CordaX500Name, java.security.KeyPair, java.security.KeyPair...) public (List, net.corda.core.identity.CordaX500Name, net.corda.core.node.services.IdentityService) + public (List, net.corda.core.identity.CordaX500Name, net.corda.core.node.services.IdentityService, java.security.KeyPair, java.security.KeyPair...) + public (List, net.corda.testing.core.TestIdentity, net.corda.core.node.services.IdentityService, net.corda.core.node.NetworkParameters, java.security.KeyPair...) + public (List, net.corda.testing.core.TestIdentity, net.corda.core.node.services.IdentityService, java.security.KeyPair...) + public (List, net.corda.testing.core.TestIdentity, java.security.KeyPair...) public (net.corda.core.identity.CordaX500Name) + public (net.corda.core.identity.CordaX500Name, java.security.KeyPair, java.security.KeyPair...) public (net.corda.core.identity.CordaX500Name, net.corda.core.node.services.IdentityService) + public (net.corda.core.identity.CordaX500Name, net.corda.core.node.services.IdentityService, java.security.KeyPair, java.security.KeyPair...) + public (net.corda.testing.core.TestIdentity, net.corda.testing.core.TestIdentity...) public final void addMockCordapp(String) @org.jetbrains.annotations.NotNull public net.corda.core.transactions.SignedTransaction addSignature(net.corda.core.transactions.SignedTransaction) @org.jetbrains.annotations.NotNull public net.corda.core.transactions.SignedTransaction addSignature(net.corda.core.transactions.SignedTransaction, java.security.PublicKey) @@ -4181,10 +4211,14 @@ public class net.corda.testing.node.MockServices extends java.lang.Object implem @org.jetbrains.annotations.NotNull public net.corda.core.contracts.TransactionState loadState(net.corda.core.contracts.StateRef) @org.jetbrains.annotations.NotNull public Set loadStates(Set) @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public static final Properties makeTestDataSourceProperties(String, String, kotlin.jvm.functions.Function2) + @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public static final kotlin.Pair makeTestDatabaseAndMockServices(List, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, java.security.KeyPair...) + @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public static final kotlin.Pair makeTestDatabaseAndMockServices(List, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, java.security.KeyPair...) @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public static final net.corda.nodeapi.internal.persistence.DatabaseConfig makeTestDatabaseProperties(String) public void recordTransactions(Iterable) public void recordTransactions(net.corda.core.node.StatesToRecord, Iterable) + public void recordTransactions(net.corda.core.transactions.SignedTransaction, net.corda.core.transactions.SignedTransaction...) public void recordTransactions(boolean, Iterable) + public void recordTransactions(boolean, net.corda.core.transactions.SignedTransaction, net.corda.core.transactions.SignedTransaction...) @org.jetbrains.annotations.NotNull public Void registerUnloadHandler(kotlin.jvm.functions.Function0) @org.jetbrains.annotations.NotNull public net.corda.core.transactions.SignedTransaction signInitialTransaction(net.corda.core.transactions.TransactionBuilder) @org.jetbrains.annotations.NotNull public net.corda.core.transactions.SignedTransaction signInitialTransaction(net.corda.core.transactions.TransactionBuilder, Iterable) @@ -4194,6 +4228,8 @@ public class net.corda.testing.node.MockServices extends java.lang.Object implem ## public static final class net.corda.testing.node.MockServices$Companion extends java.lang.Object @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final Properties makeTestDataSourceProperties(String, String, kotlin.jvm.functions.Function2) + @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final kotlin.Pair makeTestDatabaseAndMockServices(List, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, net.corda.core.node.NetworkParameters, java.security.KeyPair...) + @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final kotlin.Pair makeTestDatabaseAndMockServices(List, net.corda.core.node.services.IdentityService, net.corda.testing.core.TestIdentity, java.security.KeyPair...) @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final net.corda.nodeapi.internal.persistence.DatabaseConfig makeTestDatabaseProperties(String) ## public static final class net.corda.testing.node.MockServices$Companion$makeTestDatabaseAndMockServices$mockService$1$1 extends net.corda.testing.node.MockServices @@ -4205,6 +4241,7 @@ public final class net.corda.testing.node.MockServicesKt extends java.lang.Objec @org.jetbrains.annotations.NotNull public static final net.corda.core.serialization.SerializeAsToken createMockCordaService(net.corda.testing.node.MockServices, kotlin.jvm.functions.Function1) @org.jetbrains.annotations.NotNull public static final com.typesafe.config.Config databaseProviderDataSourceConfig(String, String) @org.jetbrains.annotations.NotNull public static final com.typesafe.config.Config inMemoryH2DataSourceConfig(String, String) + @org.jetbrains.annotations.NotNull public static final net.corda.node.services.identity.InMemoryIdentityService makeTestIdentityService(net.corda.core.identity.PartyAndCertificate...) ## public static final class net.corda.testing.node.MockServicesKt$createMockCordaService$MockAppServiceHubImpl extends java.lang.Object implements net.corda.core.node.AppServiceHub, net.corda.core.node.ServiceHub public (net.corda.testing.node.MockServices, net.corda.testing.node.MockServices, kotlin.jvm.functions.Function1) @@ -4235,7 +4272,9 @@ public static final class net.corda.testing.node.MockServicesKt$createMockCordaS @org.jetbrains.annotations.NotNull public Set loadStates(Set) public void recordTransactions(Iterable) public void recordTransactions(net.corda.core.node.StatesToRecord, Iterable) + public void recordTransactions(net.corda.core.transactions.SignedTransaction, net.corda.core.transactions.SignedTransaction...) public void recordTransactions(boolean, Iterable) + public void recordTransactions(boolean, net.corda.core.transactions.SignedTransaction, net.corda.core.transactions.SignedTransaction...) public void registerUnloadHandler(kotlin.jvm.functions.Function0) @org.jetbrains.annotations.NotNull public net.corda.core.transactions.SignedTransaction signInitialTransaction(net.corda.core.transactions.TransactionBuilder) @org.jetbrains.annotations.NotNull public net.corda.core.transactions.SignedTransaction signInitialTransaction(net.corda.core.transactions.TransactionBuilder, Iterable) @@ -4364,6 +4403,7 @@ public final class net.corda.testing.contracts.DummyContract extends java.lang.O @org.jetbrains.annotations.Nullable public final Object component1() @org.jetbrains.annotations.NotNull public final net.corda.testing.contracts.DummyContract copy(Object) public boolean equals(Object) + @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public static final net.corda.core.transactions.TransactionBuilder generateInitial(int, net.corda.core.identity.Party, net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.PartyAndReference...) @org.jetbrains.annotations.Nullable public final Object getBlank() @org.jetbrains.annotations.NotNull public final String getPROGRAM_ID() public int hashCode() @@ -4383,6 +4423,7 @@ public static final class net.corda.testing.contracts.DummyContract$Commands$Mov public () ## public static final class net.corda.testing.contracts.DummyContract$Companion extends java.lang.Object + @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.TransactionBuilder generateInitial(int, net.corda.core.identity.Party, net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.PartyAndReference...) @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.TransactionBuilder move(List, net.corda.core.identity.AbstractParty) @kotlin.jvm.JvmStatic @org.jetbrains.annotations.NotNull public final net.corda.core.transactions.TransactionBuilder move(net.corda.core.contracts.StateAndRef, net.corda.core.identity.AbstractParty) ## @@ -4521,8 +4562,10 @@ public final class net.corda.testing.core.ExpectKt extends java.lang.Object public static final void expectEvents(rx.Observable, boolean, kotlin.jvm.functions.Function0) public static final void genericExpectEvents(Object, boolean, kotlin.jvm.functions.Function2, kotlin.jvm.functions.Function0) @org.jetbrains.annotations.NotNull public static final net.corda.testing.core.ExpectCompose parallel(List) + @org.jetbrains.annotations.NotNull public static final net.corda.testing.core.ExpectCompose parallel(net.corda.testing.core.ExpectCompose...) @org.jetbrains.annotations.NotNull public static final net.corda.testing.core.ExpectCompose replicate(int, kotlin.jvm.functions.Function1) @org.jetbrains.annotations.NotNull public static final net.corda.testing.core.ExpectCompose sequence(List) + @org.jetbrains.annotations.NotNull public static final net.corda.testing.core.ExpectCompose sequence(net.corda.testing.core.ExpectCompose...) ## public static final class net.corda.testing.core.ExpectKt$expectEvents$1$lock$1 extends java.lang.Object ## @@ -4541,6 +4584,7 @@ public static final class net.corda.testing.core.SerializationEnvironmentRule$ap public void evaluate() ## public final class net.corda.testing.core.TestConstants extends java.lang.Object + @org.jetbrains.annotations.NotNull public static final net.corda.core.contracts.Command dummyCommand(java.security.PublicKey...) @kotlin.jvm.JvmField @org.jetbrains.annotations.NotNull public static final net.corda.core.identity.CordaX500Name ALICE_NAME @kotlin.jvm.JvmField @org.jetbrains.annotations.NotNull public static final net.corda.core.identity.CordaX500Name BOB_NAME @kotlin.jvm.JvmField @org.jetbrains.annotations.NotNull public static final net.corda.core.identity.CordaX500Name BOC_NAME @@ -4560,6 +4604,7 @@ public final class net.corda.testing.core.TestIdentity extends java.lang.Object @org.jetbrains.annotations.NotNull public final net.corda.core.identity.CordaX500Name getName() @org.jetbrains.annotations.NotNull public final net.corda.core.identity.Party getParty() @org.jetbrains.annotations.NotNull public final java.security.PublicKey getPublicKey() + @org.jetbrains.annotations.NotNull public final net.corda.core.contracts.PartyAndReference ref(byte...) public static final net.corda.testing.core.TestIdentity$Companion Companion ## public static final class net.corda.testing.core.TestIdentity$Companion extends java.lang.Object @@ -4721,6 +4766,7 @@ public final class net.corda.testing.dsl.TransactionDSL extends java.lang.Object @org.jetbrains.annotations.NotNull public net.corda.testing.dsl.EnforceVerifyOrFail _tweak(kotlin.jvm.functions.Function1) public final void attachment(String) public void attachment(net.corda.core.crypto.SecureHash) + public final void attachments(String...) public final void command(java.security.PublicKey, net.corda.core.contracts.CommandData) public void command(List, net.corda.core.contracts.CommandData) @org.jetbrains.annotations.NotNull public net.corda.testing.dsl.EnforceVerifyOrFail fails() diff --git a/.idea/compiler.xml b/.idea/compiler.xml index b75e9b3b1d..cd0844b545 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -24,6 +24,8 @@ + + @@ -171,4 +173,4 @@ - \ No newline at end of file + diff --git a/build.gradle b/build.gradle index befe434575..bb17b85d42 100644 --- a/build.gradle +++ b/build.gradle @@ -72,6 +72,7 @@ buildscript { ext.liquibase_version = '3.5.3' ext.shadow_version = '2.0.2' ext.hikari_version = '2.5.1' + ext.artifactory_contextUrl = 'https://ci-artifactory.corda.r3cev.com/artifactory' ext.snake_yaml_version = constants.getProperty('snakeYamlVersion') ext.docker_compose_rule_version = '0.33.0' ext.selenium_version = '3.8.1' @@ -90,6 +91,9 @@ buildscript { maven { url 'https://dl.bintray.com/kotlin/kotlin-eap/' } + maven { + url "$artifactory_contextUrl/corda-releases" + } } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" @@ -221,6 +225,7 @@ allprojects { mavenCentral() jcenter() maven { url 'https://jitpack.io' } + maven { url "$artifactory_contextUrl/corda-releases" } // cordform-common maven { // For integrationTest task when running against Oracle database the JDBC driver is in Oracle Maven repository with login access only, // setup an account on https://login.oracle.com/oaam_server/login.do @@ -347,7 +352,7 @@ task buildCordappDependenciesZip(type: Zip) { artifactory { publish { - contextUrl = 'https://ci-artifactory.corda.r3cev.com/artifactory' + contextUrl = artifactory_contextUrl repository { repoKey = 'enterprise-dev' username = 'teamcity' diff --git a/client/rpc/src/smoke-test/java/net/corda/java/rpc/StandaloneCordaRPCJavaClientTest.java b/client/rpc/src/smoke-test/java/net/corda/java/rpc/StandaloneCordaRPCJavaClientTest.java index e5013c500f..438af3fc91 100644 --- a/client/rpc/src/smoke-test/java/net/corda/java/rpc/StandaloneCordaRPCJavaClientTest.java +++ b/client/rpc/src/smoke-test/java/net/corda/java/rpc/StandaloneCordaRPCJavaClientTest.java @@ -47,7 +47,6 @@ public class StandaloneCordaRPCJavaClientTest { port.getAndIncrement(), port.getAndIncrement(), port.getAndIncrement(), - port.getAndIncrement(), true, Collections.singletonList(rpcUser), true, diff --git a/client/rpc/src/smoke-test/kotlin/net/corda/kotlin/rpc/StandaloneCordaRPClientTest.kt b/client/rpc/src/smoke-test/kotlin/net/corda/kotlin/rpc/StandaloneCordaRPClientTest.kt index 3c2b01d471..6e2adf483e 100644 --- a/client/rpc/src/smoke-test/kotlin/net/corda/kotlin/rpc/StandaloneCordaRPClientTest.kt +++ b/client/rpc/src/smoke-test/kotlin/net/corda/kotlin/rpc/StandaloneCordaRPClientTest.kt @@ -61,7 +61,6 @@ class StandaloneCordaRPClientTest { p2pPort = port.andIncrement, rpcPort = port.andIncrement, rpcAdminPort = port.andIncrement, - webPort = port.andIncrement, isNotary = true, users = listOf(user) ) diff --git a/constants.properties b/constants.properties index 3aeb950c6c..dae1cccd5e 100644 --- a/constants.properties +++ b/constants.properties @@ -1,4 +1,4 @@ -gradlePluginsVersion=4.0.3 +gradlePluginsVersion=4.0.5 kotlinVersion=1.2.20 platformVersion=4 guavaVersion=21.0 diff --git a/core/src/main/kotlin/net/corda/core/transactions/ContractUpgradeTransactions.kt b/core/src/main/kotlin/net/corda/core/transactions/ContractUpgradeTransactions.kt index 7d919316d4..33f15547d4 100644 --- a/core/src/main/kotlin/net/corda/core/transactions/ContractUpgradeTransactions.kt +++ b/core/src/main/kotlin/net/corda/core/transactions/ContractUpgradeTransactions.kt @@ -48,7 +48,6 @@ data class ContractUpgradeWireTransaction( /** Resolves input states and contract attachments, and builds a ContractUpgradeLedgerTransaction. */ fun resolve(services: ServicesForResolution, sigs: List): ContractUpgradeLedgerTransaction { val resolvedInputs = services.loadStates(inputs.toSet()).toList() - val legacyContractClassName = resolvedInputs.first().state.contract val legacyContractAttachment = services.attachments.openAttachment(legacyContractAttachmentId) ?: throw AttachmentResolutionException(legacyContractAttachmentId) val upgradedContractAttachment = services.attachments.openAttachment(upgradedContractAttachmentId) @@ -56,8 +55,9 @@ data class ContractUpgradeWireTransaction( return ContractUpgradeLedgerTransaction( resolvedInputs, notary, - ContractAttachment(legacyContractAttachment, legacyContractClassName), - ContractAttachment(upgradedContractAttachment, upgradeContractClassName), + legacyContractAttachment, + upgradeContractClassName, + upgradedContractAttachment, id, privacySalt, sigs, @@ -102,40 +102,47 @@ data class ContractUpgradeFilteredTransaction( data class ContractUpgradeLedgerTransaction( override val inputs: List>, override val notary: Party, - val legacyContractAttachment: ContractAttachment, - val upgradedContractAttachment: ContractAttachment, + val legacyContractAttachment: Attachment, + val upgradeContractClassName: ContractClassName, + val upgradedContractAttachment: Attachment, override val id: SecureHash, val privacySalt: PrivacySalt, override val sigs: List, private val networkParameters: NetworkParameters ) : FullTransaction(), TransactionWithSignatures { + /** The legacy contract class name is determined by the first input state. */ + private val legacyContractClassName = inputs.first().state.contract private val upgradedContract: UpgradedContract = loadUpgradedContract() init { - // TODO: relax this constraint once upgrading encumbered states is supported - check(inputs.all { it.state.contract == legacyContractAttachment.contract }) { + // TODO: relax this constraint once upgrading encumbered states is supported. + check(inputs.all { it.state.contract == legacyContractClassName }) { "All input states must point to the legacy contract" } - check(inputs.all { it.state.constraint.isSatisfiedBy(legacyContractAttachment) }) { - "Legacy contract constraint does not satisfy the constraint of the input states" - } - verifyLegacyContractConstraint() - } - - private fun verifyLegacyContractConstraint() { - check(upgradedContract.legacyContract == legacyContractAttachment.contract) { + check(upgradedContract.legacyContract == legacyContractClassName) { "Outputs' contract must be an upgraded version of the inputs' contract" } - val attachmentWithContext = AttachmentWithContext( - legacyContractAttachment, + verifyConstraints() + } + + private fun verifyConstraints() { + val attachmentForConstraintVerification = AttachmentWithContext( + legacyContractAttachment as? ContractAttachment + ?: ContractAttachment(legacyContractAttachment, legacyContractClassName), upgradedContract.legacyContract, networkParameters.whitelistedContractImplementations ) + + // TODO: exclude encumbrance states from this check + check(inputs.all { it.state.constraint.isSatisfiedBy(attachmentForConstraintVerification) }) { + "Legacy contract constraint does not satisfy the constraint of the input states" + } + val constraintCheck = if (upgradedContract is UpgradedContractWithLegacyConstraint) { - upgradedContract.legacyContractConstraint.isSatisfiedBy(attachmentWithContext) + upgradedContract.legacyContractConstraint.isSatisfiedBy(attachmentForConstraintVerification) } else { // If legacy constraint not specified, defaulting to WhitelistedByZoneAttachmentConstraint - WhitelistedByZoneAttachmentConstraint.isSatisfiedBy(attachmentWithContext) + WhitelistedByZoneAttachmentConstraint.isSatisfiedBy(attachmentForConstraintVerification) } check(constraintCheck) { "Legacy contract does not satisfy the upgraded contract's constraint" @@ -158,7 +165,7 @@ data class ContractUpgradeLedgerTransaction( // TODO: re-map encumbrance pointers input.state.copy( data = upgradedState, - contract = upgradedContractAttachment.contract, + contract = upgradeContractClassName, constraint = outputConstraint ) } @@ -175,7 +182,7 @@ data class ContractUpgradeLedgerTransaction( private fun loadUpgradedContract(): UpgradedContract { @Suppress("UNCHECKED_CAST") return this::class.java.classLoader - .loadClass(upgradedContractAttachment.contract) + .loadClass(upgradeContractClassName) .asSubclass(Contract::class.java) .getConstructor() .newInstance() as UpgradedContract diff --git a/core/src/smoke-test/kotlin/net/corda/core/NodeVersioningTest.kt b/core/src/smoke-test/kotlin/net/corda/core/NodeVersioningTest.kt index 52f7a73064..20f7e8cbfd 100644 --- a/core/src/smoke-test/kotlin/net/corda/core/NodeVersioningTest.kt +++ b/core/src/smoke-test/kotlin/net/corda/core/NodeVersioningTest.kt @@ -38,7 +38,6 @@ class NodeVersioningTest { p2pPort = port.andIncrement, rpcPort = port.andIncrement, rpcAdminPort = port.andIncrement, - webPort = port.andIncrement, isNotary = false, users = listOf(user) ) diff --git a/core/src/smoke-test/kotlin/net/corda/core/cordapp/CordappSmokeTest.kt b/core/src/smoke-test/kotlin/net/corda/core/cordapp/CordappSmokeTest.kt index b671b219b8..adf9668563 100644 --- a/core/src/smoke-test/kotlin/net/corda/core/cordapp/CordappSmokeTest.kt +++ b/core/src/smoke-test/kotlin/net/corda/core/cordapp/CordappSmokeTest.kt @@ -34,7 +34,6 @@ class CordappSmokeTest { p2pPort = port.andIncrement, rpcPort = port.andIncrement, rpcAdminPort = port.andIncrement, - webPort = port.andIncrement, isNotary = false, users = listOf(user) ) diff --git a/docs/source/network-map.rst b/docs/source/network-map.rst index 0aac2ee0ba..c5f83f7d29 100644 --- a/docs/source/network-map.rst +++ b/docs/source/network-map.rst @@ -58,9 +58,10 @@ signed ``NodeInfo`` object that the network map service vends. These are automat be used to supplement or replace the HTTP network map. If the same node is advertised through both mechanisms then the latest one is taken. -On startup the node generates its own signed node info file, filename of the format ``nodeInfo-${hash}``. To create a simple -network without the HTTP network map service then simply place this file in the ``additional-node-infos`` directory -of every node that's part of this network. For example, a simple way to do this is to use rsync. +On startup the node generates its own signed node info file, filename of the format ``nodeInfo-${hash}``. It can also be +generated using the ``--just-generate-node-info`` command line flag without starting the node. To create a simple network +without the HTTP network map service simply place this file in the ``additional-node-infos`` directory of every node that's +part of this network. For example, a simple way to do this is to use rsync. Usually, test networks have a structure that is known ahead of time. For the creation of such networks we provide a ``network-bootstrapper`` tool. This tool pre-generates node configuration directories if given the IP addresses/domain @@ -98,13 +99,20 @@ The current set of network parameters: :minimumPlatformVersion: The minimum platform version that the nodes must be running. Any node which is below this will not start. + :notaries: List of identity and validation type (either validating or non-validating) of the notaries which are permitted in the compatibility zone. -:maxMessageSize: Maximum allowed size in bytes of an individual message sent over the wire. Note that attachments are + +:maxMessageSize: (This is currently ignored. However, it will be wired up in a future release.) + +.. TODO Replace the above with this once wired: Maximum allowed size in bytes of an individual message sent over the wire. Note that attachments are a special case and may be fragmented for streaming transfer, however, an individual transaction or flow message may not be larger than this value. + :maxTransactionSize: Maximum allowed size in bytes of a transaction. This is the size of the transaction object and its attachments. + :modifiedTime: The time when the network parameters were last modified by the compatibility zone operator. + :epoch: Version number of the network parameters. Starting from 1, this will always increment whenever any of the parameters change. :whitelistedContractImplementations: List of whitelisted versions of contract code. diff --git a/node/src/main/kotlin/net/corda/node/internal/Node.kt b/node/src/main/kotlin/net/corda/node/internal/Node.kt index 77c39b5298..6b5cb4e296 100644 --- a/node/src/main/kotlin/net/corda/node/internal/Node.kt +++ b/node/src/main/kotlin/net/corda/node/internal/Node.kt @@ -93,6 +93,9 @@ open class Node(configuration: NodeConfiguration, CordappLoader.createDefaultWithTestPackages(configuration, scanPackages.split(scanPackagesSeparator)) } ?: CordappLoader.createDefault(configuration.baseDirectory) } + + // TODO Wire up maxMessageSize + const val MAX_FILE_SIZE = 10485760 } override val log: Logger get() = staticLog @@ -166,7 +169,7 @@ open class Node(configuration: NodeConfiguration, startLocalRpcBroker(networkParameters) } val advertisedAddress = info.addresses[0] - bridgeControlListener = BridgeControlListener(configuration, serverAddress, networkParameters.maxMessageSize) + bridgeControlListener = BridgeControlListener(configuration, serverAddress, /*networkParameters.maxMessageSize*/MAX_FILE_SIZE) printBasicNodeInfo("Advertised P2P messaging addresses", info.addresses.joinToString()) @@ -174,10 +177,10 @@ open class Node(configuration: NodeConfiguration, rpcThreadPoolSize = configuration.enterpriseConfiguration.tuning.rpcThreadPoolSize ) rpcServerAddresses?.let { - rpcMessagingClient = RPCMessagingClient(configuration.rpcOptions.sslConfig, it.admin, networkParameters.maxMessageSize, rpcServerConfiguration) + rpcMessagingClient = RPCMessagingClient(configuration.rpcOptions.sslConfig, it.admin, /*networkParameters.maxMessageSize*/MAX_FILE_SIZE, rpcServerConfiguration) } verifierMessagingClient = when (configuration.verifierType) { - VerifierType.OutOfProcess -> VerifierMessagingClient(configuration, serverAddress, services.monitoringService.metrics, networkParameters.maxMessageSize) + VerifierType.OutOfProcess -> VerifierMessagingClient(configuration, serverAddress, services.monitoringService.metrics, /*networkParameters.maxMessageSize*/MAX_FILE_SIZE) VerifierType.InMemory -> null } require(info.legalIdentities.size in 1..2) { "Currently nodes must have a primary address and optionally one serviced address" } @@ -193,7 +196,7 @@ open class Node(configuration: NodeConfiguration, services.networkMapCache, services.monitoringService.metrics, advertisedAddress, - networkParameters.maxMessageSize, + /*networkParameters.maxMessageSize*/MAX_FILE_SIZE, nodeProperties.flowsDrainingMode::isEnabled, nodeProperties.flowsDrainingMode.values) } @@ -205,24 +208,9 @@ open class Node(configuration: NodeConfiguration, val rpcBrokerDirectory: Path = baseDirectory / "brokers" / "rpc" with(rpcOptions) { rpcBroker = if (useSsl) { - ArtemisRpcBroker.withSsl( - this.address!!, - sslConfig, - securityManager, - certificateChainCheckPolicies, - networkParameters.maxMessageSize, - jmxMonitoringHttpPort != null, - rpcBrokerDirectory) + ArtemisRpcBroker.withSsl(this.address!!, sslConfig, securityManager, certificateChainCheckPolicies, /*networkParameters.maxMessageSize*/MAX_FILE_SIZE, jmxMonitoringHttpPort != null, rpcBrokerDirectory) } else { - ArtemisRpcBroker.withoutSsl( - this.address!!, - adminAddress!!, - sslConfig, - securityManager, - certificateChainCheckPolicies, - networkParameters.maxMessageSize, - jmxMonitoringHttpPort != null, - rpcBrokerDirectory) + ArtemisRpcBroker.withoutSsl(this.address!!, adminAddress!!, sslConfig, securityManager, certificateChainCheckPolicies, /*networkParameters.maxMessageSize*/MAX_FILE_SIZE, jmxMonitoringHttpPort != null, rpcBrokerDirectory) } } return rpcBroker!!.addresses @@ -232,7 +220,7 @@ open class Node(configuration: NodeConfiguration, private fun makeLocalMessageBroker(networkParameters: NetworkParameters): NetworkHostAndPort { with(configuration) { - messageBroker = ArtemisMessagingServer(this, p2pAddress.port, networkParameters.maxMessageSize) + messageBroker = ArtemisMessagingServer(this, p2pAddress.port, /*networkParameters.maxMessageSize*/MAX_FILE_SIZE) return NetworkHostAndPort("localhost", p2pAddress.port) } } diff --git a/testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeConfig.kt b/testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeConfig.kt index 0c080edd75..1b127a8a46 100644 --- a/testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeConfig.kt +++ b/testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeConfig.kt @@ -13,7 +13,6 @@ class NodeConfig( val p2pPort: Int, val rpcPort: Int, val rpcAdminPort: Int, - val webPort: Int, val isNotary: Boolean, val users: List, val runMigration: Boolean = true, @@ -34,7 +33,6 @@ class NodeConfig( val config = empty() .withValue("myLegalName", valueFor(legalName.toString())) .withValue("p2pAddress", addressValueFor(p2pPort)) - .withValue("webAddress", addressValueFor(webPort)) .withValue("rpcSettings", empty() .withValue("address", addressValueFor(rpcPort)) .withValue("adminAddress", addressValueFor(rpcAdminPort))