Packages

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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. messages
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. 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 interval apart.

  2. 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.IllegalArgumentException if the common data is blinded or the view is not blinded

  3. final case class CommitmentPeriod(fromExclusive: CantonTimestampSecond, periodLength: PositiveSeconds) extends PrettyPrinting with Product with Serializable
  4. sealed trait CommitmentPeriodState extends Product with Serializable with PrettyPrinting
  5. 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()
  6. 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.

  7. 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()
  8. type DefaultOpenEnvelope = OpenEnvelope[ProtocolMessage]
  9. 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 VT exposes a upper bound on the type of view types that may be contained.

    The view tree is compressed before encryption.

  10. 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.

  11. sealed trait EncryptedViewMessageError extends Product with Serializable with PrettyPrinting
  12. final case class EnvelopeContent(message: UnsignedProtocolMessage)(representativeProtocolVersion: RepresentativeProtocolVersion[EnvelopeContent.type]) extends HasProtocolVersionedWrapper[EnvelopeContent] with Product with Serializable
  13. final case class ErrorDetails(reason: Status, isMalformed: Boolean, localError: Option[LocalError] = None) extends PrettyPrinting with Product with Serializable

    localError: when set, the method logRejection will log the localError at ERROR level.

    localError: when set, the method logRejection will log the localError at ERROR level. You should set the localError in phase 3 and if the verdict is approved but the validation from Phase 3 failed.

  14. trait HasPhysicalSynchronizerId extends AnyRef
  15. trait HasRequestId extends AnyRef
  16. trait HasSynchronizerId extends AnyRef
  17. 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()
  18. final case class LocalAbstain(reason: Status)(representativeProtocolVersion: RepresentativeProtocolVersion[LocalVerdict.type]) extends LocalVerdict with NonPositiveLocalVerdict with Product with Serializable
  19. final case class LocalApprove()(representativeProtocolVersion: RepresentativeProtocolVersion[LocalVerdict.type]) extends LocalVerdict with Product with Serializable
  20. final case class LocalReject(reason: Status, isMalformed: Boolean)(representativeProtocolVersion: RepresentativeProtocolVersion[LocalVerdict.type]) extends LocalVerdict with NonPositiveLocalVerdict with PrettyPrinting with Product with Serializable
  21. 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 LocalApprove or LocalReject. The verdict LocalReject includes a reason pointing out which checks in Phase 3 have failed, and a flag isMalformed indicating whether the rejection occurs due to malicious behavior.

  22. trait MediatorConfirmationRequest extends UnsignedProtocolMessage
  23. sealed trait NonPositiveLocalVerdict extends LocalVerdict
  24. sealed trait ProtocolMessage extends Product with Serializable with HasPhysicalSynchronizerId with PrettyPrinting with HasRepresentativeProtocolVersion

    Parent trait of messages that are sent through the sequencer

  25. 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.IllegalArgumentException if the common data is blinded or the view is not blinded

  26. final case class ReceivedAcsCommitment(synchronizerId: SynchronizerId, interval: CommitmentPeriod, originCounterParticipant: ParticipantId, receivedCommitment: Option[HashedCommitmentType], ownCommitment: Option[HashedCommitmentType], state: CommitmentPeriodState) extends Product with Serializable
  27. 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.

  28. trait RootHashMessagePayload extends PrettyPrinting with HasCryptographicEvidence

    Payloads of RootHashMessage

  29. final case class SentAcsCommitment(synchronizerId: SynchronizerId, interval: CommitmentPeriod, counterParticipant: ParticipantId, sentCommitment: Option[HashedCommitmentType], counterCommitment: Option[HashedCommitmentType], state: ValidSentPeriodState) extends Product with Serializable
  30. final case class SerializedRootHashMessagePayload(bytes: ByteString) extends RootHashMessagePayload with Product with Serializable
  31. final case class SetTrafficPurchasedMessage extends ProtocolVersionedMemoizedEvidence with HasProtocolVersionedWrapper[SetTrafficPurchasedMessage] with PrettyPrinting with SignedProtocolMessageContent with Product with Serializable
  32. 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 typedMessage and needs to be valid.

    Annotations
    @SuppressWarnings()
  33. trait SignedProtocolMessageContent extends ProtocolVersionedMemoizedEvidence with HasPhysicalSynchronizerId with PrettyPrinting with Product with Serializable
  34. final case class SynchronizerSearchCommitmentPeriod(indexedSynchronizer: IndexedSynchronizer, fromExclusive: CantonTimestamp, toInclusive: CantonTimestamp) extends PrettyPrinting with Product with Serializable
  35. final case class TopologyTransactionsBroadcast(synchronizerId: PhysicalSynchronizerId, transactions: SignedTopologyTransactions[TopologyChangeOp, TopologyMapping]) extends UnsignedProtocolMessage with HasProtocolVersionedWrapper[TopologyTransactionsBroadcast] with Product with Serializable
  36. 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.

  37. type TransactionViewMessage = EncryptedViewMessage[TransactionViewType]
  38. case class TypedSignedProtocolMessageContent[+M <: SignedProtocolMessageContent] extends HasProtocolVersionedWrapper[TypedSignedProtocolMessageContent[SignedProtocolMessageContent]] with ProtocolVersionedMemoizedEvidence with Product with Serializable
    Annotations
    @SuppressWarnings()
  39. 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.IllegalArgumentException if the common data is blinded or the view is not blinded

  40. trait UnsignedProtocolMessage extends ProtocolMessage

    Marker trait for ProtocolMessages that are not a SignedProtocolMessage

  41. sealed trait ValidSentPeriodState extends CommitmentPeriodState
  42. 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

  1. object AcsCommitment extends VersioningCompanionMemoization[AcsCommitment] with Serializable
  2. object AssignmentMediatorMessage extends VersioningCompanionContext[AssignmentMediatorMessage, (HashOps, Target[ProtocolVersion])] with Serializable
  3. object CommitmentPeriod extends Serializable
  4. object CommitmentPeriodState extends Serializable
  5. object ConfirmationResponse extends Serializable
  6. object ConfirmationResponses extends VersioningCompanionMemoization[ConfirmationResponses] with Serializable
  7. object ConfirmationResultMessage extends VersioningCompanionMemoization[ConfirmationResultMessage] with Serializable
  8. object DefaultOpenEnvelopesFilter
  9. case object EmptyRootHashMessagePayload extends RootHashMessagePayload with Product with Serializable
  10. object EncryptedView extends Serializable
  11. object EncryptedViewMessage extends VersioningCompanion[EncryptedViewMessage[ViewType]] with Serializable
  12. object EncryptedViewMessageError extends Serializable
  13. object EnvelopeContent extends VersioningCompanionContextPVValidation2[EnvelopeContent, HashOps] with Serializable
  14. object ErrorDetails extends Serializable
  15. object InformeeMessage extends VersioningCompanionContext[InformeeMessage, (HashOps, ProtocolVersion)] with Serializable
  16. object LocalAbstain extends Serializable
  17. object LocalApprove extends Serializable
  18. object LocalReject extends Serializable
  19. object LocalVerdict extends VersioningCompanion[LocalVerdict] with Serializable
  20. object MediatorConfirmationRequest extends Serializable
  21. object ProtocolMessage extends Serializable
  22. object ReceivedAcsCommitment extends Serializable
  23. object RootHashMessage extends VersioningCompanionContext[RootHashMessage[RootHashMessagePayload], (ByteString) => ParsingResult[RootHashMessagePayload]] with Serializable
  24. object RootHashMessageRecipients extends HasLoggerName
  25. object SentAcsCommitment extends Serializable
  26. object SerializedRootHashMessagePayload extends Serializable
  27. object SetTrafficPurchasedMessage extends VersioningCompanionMemoization[SetTrafficPurchasedMessage] with Serializable
  28. object SignedProtocolMessage extends VersioningCompanionContext[SignedProtocolMessage[SignedProtocolMessageContent], ProtocolVersionValidation] with Serializable
  29. object SignedProtocolMessageContent extends Serializable
  30. object TopologyTransactionsBroadcast extends VersioningCompanionContext[TopologyTransactionsBroadcast, ProtocolVersion] with Serializable
  31. object TypedSignedProtocolMessageContent extends VersioningCompanionContextMemoization[TypedSignedProtocolMessageContent[SignedProtocolMessageContent], ProtocolVersionValidation] with Serializable
  32. object UnassignmentMediatorMessage extends VersioningCompanionContext[UnassignmentMediatorMessage, (HashOps, Source[ProtocolVersionValidation])] with Serializable
  33. object Verdict extends VersioningCompanion[Verdict] with ProtocolVersionedCompanionDbHelpers[Verdict] with Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped