package messages
This package contains data structures used in the transaction protocol. However, generic data structures, e.g. com.digitalasset.canton.data.MerkleTree etc. are kept in com.digitalasset.canton.data package.
- Alphabetic
- By Inheritance
- messages
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- sealed abstract case class AcsCommitment extends HasProtocolVersionedWrapper[AcsCommitment] with AcsCommitmentData with SignedProtocolMessageContent with NoCopy with Product with Serializable
A commitment to the active contract set (ACS) that is shared between two participants on a given synchronizer at a given time.
A commitment to the active contract set (ACS) that is shared between two participants on a given synchronizer at a given time.
Given a commitment scheme to the ACS, the semantics are as follows: the sender declares that the shared ACS was exactly the one committed to, at every commitment tick during the specified period and as determined by the period's interval.
The interval is assumed to be a round number of seconds. The ticks then start at the Java EPOCH time, and are exactly
intervalapart. - final case class AssignmentMediatorMessage(tree: AssignmentViewTree, submittingParticipantSignature: Signature)(representativeProtocolVersion: RepresentativeProtocolVersion[AssignmentMediatorMessage.type]) extends ReassignmentMediatorMessage with HasProtocolVersionedWrapper[AssignmentMediatorMessage] with Product with Serializable
Message sent to the mediator as part of an assignment request
Message sent to the mediator as part of an assignment request
- tree
The assignment view tree blinded for the mediator
- Exceptions thrown
java.lang.IllegalArgumentExceptionif the common data is blinded or the view is not blinded
- final case class CommitmentPeriod(fromExclusive: CantonTimestampSecond, periodLength: PositiveSeconds) extends PrettyPrinting with Product with Serializable
- sealed trait CommitmentPeriodState extends Product with Serializable with PrettyPrinting
- case class ConfirmationResponse extends PrettyPrinting with Product with Serializable
Payload of a response sent to the mediator in reaction to a confirmation request.
Payload of a response sent to the mediator in reaction to a confirmation request.
- Annotations
- @SuppressWarnings()
- final case class ConfirmationResponses extends SignedProtocolMessageContent with HasProtocolVersionedWrapper[ConfirmationResponses] with HasPhysicalSynchronizerId with PrettyPrinting with Product with Serializable
Aggregates multiple confirmation responses to be sent to the mediator in reaction to a confirmation request.
- case class ConfirmationResultMessage extends ProtocolVersionedMemoizedEvidence with HasPhysicalSynchronizerId with HasRequestId with SignedProtocolMessageContent with HasProtocolVersionedWrapper[ConfirmationResultMessage] with PrettyPrinting with Product with Serializable
Result message that the mediator sends to all informees of a request with its verdict.
Result message that the mediator sends to all informees of a request with its verdict.
- Annotations
- @SuppressWarnings()
- type DefaultOpenEnvelope = OpenEnvelope[ProtocolMessage]
- sealed trait EncryptedView[+VT <: ViewType] extends Product with Serializable
An encrypted com.digitalasset.canton.data.ViewTree together with its com.digitalasset.canton.data.ViewType.
An encrypted com.digitalasset.canton.data.ViewTree together with its com.digitalasset.canton.data.ViewType. The correspondence is encoded via a path-dependent type. The type parameter
VTexposes a upper bound on the type of view types that may be contained.The view tree is compressed before encryption.
- final case class EncryptedViewMessage[+VT <: ViewType](submittingParticipantSignature: Option[Signature], viewHash: ViewHash, sessionKeys: NonEmpty[Seq[AsymmetricEncrypted[SecureRandomness]]], encryptedView: EncryptedView[VT], synchronizerId: PhysicalSynchronizerId, viewEncryptionScheme: SymmetricKeyScheme)(representativeProtocolVersion: RepresentativeProtocolVersion[EncryptedViewMessage.type]) extends UnsignedProtocolMessage with HasProtocolVersionedWrapper[EncryptedViewMessage[ViewType]] with Product with Serializable
An encrypted view message.
An encrypted view message.
See https://engineering.da-int.net/docs/platform-architecture-handbook/arch/canton/tx-data-structures.html#transaction-hashes-and-views The view message encrypted with symmetric key that is derived from the view's randomness.
- viewHash
Transaction view hash in plain text - included such that the recipient can prove to a 3rd party that it has correctly decrypted the
viewTree- sessionKeys
a sequence of encrypted random values to each recipient of the view. These values are encrypted and are used to derive the symmetric session key for the view. Instead of sending a crypto.SymmetricKey, which could cause formatting issues (e.g. different participants with different providers and, therefore, different key formats), we send an encrypted crypto.SecureRandomness.
- sealed trait EncryptedViewMessageError extends Product with Serializable with PrettyPrinting
- final case class EnvelopeContent(message: UnsignedProtocolMessage)(representativeProtocolVersion: RepresentativeProtocolVersion[EnvelopeContent.type]) extends HasProtocolVersionedWrapper[EnvelopeContent] with Product with Serializable
- final case class ErrorDetails(reason: Status, isMalformed: Boolean, localError: Option[LocalError] = None) extends PrettyPrinting with Product with Serializable
localError: when set, the method
logRejectionwill log thelocalErrorat ERROR level.localError: when set, the method
logRejectionwill log thelocalErrorat ERROR level. You should set the localError in phase 3 and if the verdict is approved but the validation from Phase 3 failed. - trait HasPhysicalSynchronizerId extends AnyRef
- trait HasRequestId extends AnyRef
- trait HasSynchronizerId extends AnyRef
- case class InformeeMessage(fullInformeeTree: FullInformeeTree, submittingParticipantSignature: Signature)(protocolVersion: ProtocolVersion) extends MediatorConfirmationRequest with UnsignedProtocolMessage with HasProtocolVersionedWrapper[InformeeMessage] with Product with Serializable
The informee message to be sent to the mediator.
The informee message to be sent to the mediator.
- Annotations
- @SuppressWarnings()
- final case class LocalAbstain(reason: Status)(representativeProtocolVersion: RepresentativeProtocolVersion[LocalVerdict.type]) extends LocalVerdict with NonPositiveLocalVerdict with Product with Serializable
- final case class LocalApprove()(representativeProtocolVersion: RepresentativeProtocolVersion[LocalVerdict.type]) extends LocalVerdict with Product with Serializable
- final case class LocalReject(reason: Status, isMalformed: Boolean)(representativeProtocolVersion: RepresentativeProtocolVersion[LocalVerdict.type]) extends LocalVerdict with NonPositiveLocalVerdict with PrettyPrinting with Product with Serializable
- sealed trait LocalVerdict extends Product with Serializable with PrettyPrinting with HasProtocolVersionedWrapper[LocalVerdict]
Possible verdicts on a transaction request from the participant's perspective.
Possible verdicts on a transaction request from the participant's perspective. The verdict can be
LocalApproveorLocalReject. The verdictLocalRejectincludes areasonpointing out which checks in Phase 3 have failed, and a flagisMalformedindicating whether the rejection occurs due to malicious behavior. - trait MediatorConfirmationRequest extends UnsignedProtocolMessage
- sealed trait NonPositiveLocalVerdict extends LocalVerdict
- sealed trait ProtocolMessage extends Product with Serializable with HasPhysicalSynchronizerId with PrettyPrinting with HasRepresentativeProtocolVersion
Parent trait of messages that are sent through the sequencer
- trait ReassignmentMediatorMessage extends MediatorConfirmationRequest with UnsignedProtocolMessage
Message sent to the mediator as part of an unassignment or assignment request
Message sent to the mediator as part of an unassignment or assignment request
- Exceptions thrown
java.lang.IllegalArgumentExceptionif the common data is blinded or the view is not blinded
- final case class ReceivedAcsCommitment(synchronizerId: SynchronizerId, interval: CommitmentPeriod, originCounterParticipant: ParticipantId, receivedCommitment: Option[HashedCommitmentType], ownCommitment: Option[HashedCommitmentType], state: CommitmentPeriodState) extends Product with Serializable
- final case class RootHashMessage[+Payload <: RootHashMessagePayload](rootHash: RootHash, synchronizerId: PhysicalSynchronizerId, viewType: ViewType, submissionTopologyTimestamp: CantonTimestamp, payload: Payload) extends UnsignedProtocolMessage with PrettyPrinting with HasProtocolVersionedWrapper[RootHashMessage[RootHashMessagePayload]] with Product with Serializable
One root hash message is sent for each participant involved in a mediator confirmation request that requires root hash messages.
One root hash message is sent for each participant involved in a mediator confirmation request that requires root hash messages. The root hash message is delivered to the participant and the mediator. The mediator checks that it receives the right root hash messages and that they all contain the root hash that the mediator confirmation request message specifies. The mediator also checks that all payloads have the same serialization and, if it can parse the mediator confirmation request envelope, that the payload fits to the mediator confirmation request.
- trait RootHashMessagePayload extends PrettyPrinting with HasCryptographicEvidence
Payloads of RootHashMessage
- final case class SentAcsCommitment(synchronizerId: SynchronizerId, interval: CommitmentPeriod, counterParticipant: ParticipantId, sentCommitment: Option[HashedCommitmentType], counterCommitment: Option[HashedCommitmentType], state: ValidSentPeriodState) extends Product with Serializable
- final case class SerializedRootHashMessagePayload(bytes: ByteString) extends RootHashMessagePayload with Product with Serializable
- final case class SetTrafficPurchasedMessage extends ProtocolVersionedMemoizedEvidence with HasProtocolVersionedWrapper[SetTrafficPurchasedMessage] with PrettyPrinting with SignedProtocolMessageContent with Product with Serializable
- case class SignedProtocolMessage[+M <: SignedProtocolMessageContent](typedMessage: TypedSignedProtocolMessageContent[M], signatures: NonEmpty[Seq[Signature]]) extends ProtocolMessage with HasProtocolVersionedWrapper[SignedProtocolMessage[SignedProtocolMessageContent]] with Product with Serializable
There can be any number of signatures.
There can be any number of signatures. Every signature covers the serialization of the
typedMessageand needs to be valid.- Annotations
- @SuppressWarnings()
- trait SignedProtocolMessageContent extends ProtocolVersionedMemoizedEvidence with HasPhysicalSynchronizerId with PrettyPrinting with Product with Serializable
- final case class SynchronizerSearchCommitmentPeriod(indexedSynchronizer: IndexedSynchronizer, fromExclusive: CantonTimestamp, toInclusive: CantonTimestamp) extends PrettyPrinting with Product with Serializable
- final case class TopologyTransactionsBroadcast(synchronizerId: PhysicalSynchronizerId, transactions: SignedTopologyTransactions[TopologyChangeOp, TopologyMapping]) extends UnsignedProtocolMessage with HasProtocolVersionedWrapper[TopologyTransactionsBroadcast] with Product with Serializable
- final case class TransactionConfirmationRequest(informeeMessage: InformeeMessage, viewEnvelopes: Seq[OpenEnvelope[TransactionViewMessage]], protocolVersion: ProtocolVersion) extends PrettyPrinting with HasLoggerName with Product with Serializable
Represents the confirmation request for a transaction as sent from a participant node to the sequencer.
- type TransactionViewMessage = EncryptedViewMessage[TransactionViewType]
- case class TypedSignedProtocolMessageContent[+M <: SignedProtocolMessageContent] extends HasProtocolVersionedWrapper[TypedSignedProtocolMessageContent[SignedProtocolMessageContent]] with ProtocolVersionedMemoizedEvidence with Product with Serializable
- Annotations
- @SuppressWarnings()
- final case class UnassignmentMediatorMessage(tree: UnassignmentViewTree, submittingParticipantSignature: Signature)(representativeProtocolVersion: RepresentativeProtocolVersion[UnassignmentMediatorMessage.type]) extends ReassignmentMediatorMessage with HasProtocolVersionedWrapper[UnassignmentMediatorMessage] with Product with Serializable
Message sent to the mediator as part of an unassignment request
Message sent to the mediator as part of an unassignment request
- tree
The unassignment view tree blinded for the mediator
- Exceptions thrown
java.lang.IllegalArgumentExceptionif the common data is blinded or the view is not blinded
- trait UnsignedProtocolMessage extends ProtocolMessage
Marker trait for ProtocolMessages that are not a SignedProtocolMessage
- sealed trait ValidSentPeriodState extends CommitmentPeriodState
- sealed trait Verdict extends Product with Serializable with PrettyPrinting with HasProtocolVersionedWrapper[Verdict]
Verdicts sent from the mediator to the participants inside the ConfirmationResultMessage
Value Members
- object AcsCommitment extends VersioningCompanionMemoization[AcsCommitment] with Serializable
- object AssignmentMediatorMessage extends VersioningCompanionContext[AssignmentMediatorMessage, (HashOps, Target[ProtocolVersion])] with Serializable
- object CommitmentPeriod extends Serializable
- object CommitmentPeriodState extends Serializable
- object ConfirmationResponse extends Serializable
- object ConfirmationResponses extends VersioningCompanionMemoization[ConfirmationResponses] with Serializable
- object ConfirmationResultMessage extends VersioningCompanionMemoization[ConfirmationResultMessage] with Serializable
- object DefaultOpenEnvelopesFilter
- case object EmptyRootHashMessagePayload extends RootHashMessagePayload with Product with Serializable
- object EncryptedView extends Serializable
- object EncryptedViewMessage extends VersioningCompanion[EncryptedViewMessage[ViewType]] with Serializable
- object EncryptedViewMessageError extends Serializable
- object EnvelopeContent extends VersioningCompanionContextPVValidation2[EnvelopeContent, HashOps] with Serializable
- object ErrorDetails extends Serializable
- object InformeeMessage extends VersioningCompanionContext[InformeeMessage, (HashOps, ProtocolVersion)] with Serializable
- object LocalAbstain extends Serializable
- object LocalApprove extends Serializable
- object LocalReject extends Serializable
- object LocalVerdict extends VersioningCompanion[LocalVerdict] with Serializable
- object MediatorConfirmationRequest extends Serializable
- object ProtocolMessage extends Serializable
- object ReceivedAcsCommitment extends Serializable
- object RootHashMessage extends VersioningCompanionContext[RootHashMessage[RootHashMessagePayload], (ByteString) => ParsingResult[RootHashMessagePayload]] with Serializable
- object RootHashMessageRecipients extends HasLoggerName
- object SentAcsCommitment extends Serializable
- object SerializedRootHashMessagePayload extends Serializable
- object SetTrafficPurchasedMessage extends VersioningCompanionMemoization[SetTrafficPurchasedMessage] with Serializable
- object SignedProtocolMessage extends VersioningCompanionContext[SignedProtocolMessage[SignedProtocolMessageContent], ProtocolVersionValidation] with Serializable
- object SignedProtocolMessageContent extends Serializable
- object TopologyTransactionsBroadcast extends VersioningCompanionContext[TopologyTransactionsBroadcast, ProtocolVersion] with Serializable
- object TypedSignedProtocolMessageContent extends VersioningCompanionContextMemoization[TypedSignedProtocolMessageContent[SignedProtocolMessageContent], ProtocolVersionValidation] with Serializable
- object UnassignmentMediatorMessage extends VersioningCompanionContext[UnassignmentMediatorMessage, (HashOps, Source[ProtocolVersionValidation])] with Serializable
- object Verdict extends VersioningCompanion[Verdict] with ProtocolVersionedCompanionDbHelpers[Verdict] with Serializable