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 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 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 HasSynchronizerId 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 HasSynchronizerId 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. final case class DeliveredUnassignmentResult extends PrettyPrinting with Product with Serializable

    Invariants:

    Invariants:

    • Deliver event contains exactly one protocol message with viewType == UnassignmentViewType
    • Verdict of this event is Approve
  10. 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.

  11. final case class EncryptedViewMessage[+VT <: ViewType](submittingParticipantSignature: Option[Signature], viewHash: ViewHash, sessionKeys: NonEmpty[Seq[AsymmetricEncrypted[SecureRandomness]]], encryptedView: EncryptedView[VT], synchronizerId: SynchronizerId, viewEncryptionScheme: SymmetricKeyScheme)(representativeProtocolVersion: RepresentativeProtocolVersion[EncryptedViewMessage.type]) extends UnsignedProtocolMessage 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.

  12. sealed trait EncryptedViewMessageError extends Product with Serializable with PrettyPrinting
  13. final case class EnvelopeContent(message: UnsignedProtocolMessage)(representativeProtocolVersion: RepresentativeProtocolVersion[EnvelopeContent.type]) extends HasProtocolVersionedWrapper[EnvelopeContent] with Product with Serializable
  14. trait HasRequestId extends AnyRef
  15. trait HasSynchronizerId extends AnyRef
  16. case class InformeeMessage(fullInformeeTree: FullInformeeTree, submittingParticipantSignature: Signature)(protocolVersion: ProtocolVersion) extends MediatorConfirmationRequest with UnsignedProtocolMessage with Product with Serializable

    The informee message to be sent to the mediator.

    The informee message to be sent to the mediator.

    Annotations
    @SuppressWarnings()
  17. final case class LocalApprove()(representativeProtocolVersion: RepresentativeProtocolVersion[LocalVerdict.type]) extends LocalVerdict with Product with Serializable
  18. final case class LocalReject(reason: Status, isMalformed: Boolean)(representativeProtocolVersion: RepresentativeProtocolVersion[LocalVerdict.type]) extends LocalVerdict with TransactionRejection with PrettyPrinting with Product with Serializable
  19. 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.

  20. trait MediatorConfirmationRequest extends UnsignedProtocolMessage
  21. trait ProtocolMessage extends Product with Serializable with HasSynchronizerId with PrettyPrinting with HasRepresentativeProtocolVersion

    Parent trait of messages that are sent through the sequencer

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

  23. final case class ReceivedAcsCommitment(synchronizerId: SynchronizerId, interval: CommitmentPeriod, originCounterParticipant: ParticipantId, receivedCommitment: Option[HashedCommitmentType], ownCommitment: Option[HashedCommitmentType], state: CommitmentPeriodState) extends Product with Serializable
  24. final case class RootHashMessage[+Payload <: RootHashMessagePayload](rootHash: RootHash, synchronizerId: SynchronizerId, viewType: ViewType, submissionTopologyTimestamp: CantonTimestamp, payload: Payload)(representativeProtocolVersion: RepresentativeProtocolVersion[RootHashMessage.type]) extends UnsignedProtocolMessage with PrettyPrinting 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.

  25. trait RootHashMessagePayload extends PrettyPrinting with HasCryptographicEvidence

    Payloads of RootHashMessage

  26. final case class SentAcsCommitment(synchronizerId: SynchronizerId, interval: CommitmentPeriod, counterParticipant: ParticipantId, sentCommitment: Option[HashedCommitmentType], counterCommitment: Option[HashedCommitmentType], state: ValidSentPeriodState) extends Product with Serializable
  27. final case class SerializedRootHashMessagePayload(bytes: ByteString) extends RootHashMessagePayload with Product with Serializable
  28. final case class SetTrafficPurchasedMessage extends ProtocolVersionedMemoizedEvidence with HasProtocolVersionedWrapper[SetTrafficPurchasedMessage] with PrettyPrinting with SignedProtocolMessageContent with Product with Serializable
  29. case class SignedProtocolMessage[+M <: SignedProtocolMessageContent](typedMessage: TypedSignedProtocolMessageContent[M], signatures: NonEmpty[Seq[Signature]])(representativeProtocolVersion: RepresentativeProtocolVersion[SignedProtocolMessage.type]) 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()
  30. trait SignedProtocolMessageContent extends ProtocolVersionedMemoizedEvidence with HasSynchronizerId with PrettyPrinting with Product with Serializable
  31. final case class SynchronizerSearchCommitmentPeriod(indexedSynchronizer: IndexedSynchronizer, fromExclusive: CantonTimestamp, toInclusive: CantonTimestamp) extends PrettyPrinting with Product with Serializable
  32. final case class TopologyTransactionsBroadcast(synchronizerId: SynchronizerId, transactions: SignedTopologyTransactions[TopologyChangeOp, TopologyMapping])(representativeProtocolVersion: RepresentativeProtocolVersion[TopologyTransactionsBroadcast.type]) extends UnsignedProtocolMessage with Product with Serializable
  33. 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.

  34. trait TransactionRejection extends AnyRef
  35. type TransactionViewMessage = EncryptedViewMessage[TransactionViewType]
  36. case class TypedSignedProtocolMessageContent[+M <: SignedProtocolMessageContent] extends HasProtocolVersionedWrapper[TypedSignedProtocolMessageContent[SignedProtocolMessageContent]] with ProtocolVersionedMemoizedEvidence with Product with Serializable
    Annotations
    @SuppressWarnings()
  37. final case class UnassignmentMediatorMessage(tree: UnassignmentViewTree, submittingParticipantSignature: Signature)(representativeProtocolVersion: RepresentativeProtocolVersion[UnassignmentMediatorMessage.type]) extends ReassignmentMediatorMessage 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

  38. trait UnsignedProtocolMessage extends ProtocolMessage

    Marker trait for ProtocolMessages that are not a SignedProtocolMessage

  39. sealed trait ValidSentPeriodState extends CommitmentPeriodState
  40. 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. object DeliveredUnassignmentResult extends Serializable
  10. case object EmptyRootHashMessagePayload extends RootHashMessagePayload with Product with Serializable
  11. object EncryptedView extends Serializable
  12. object EncryptedViewMessage extends VersioningCompanion[EncryptedViewMessage[ViewType]] with Serializable
  13. object EncryptedViewMessageError extends Serializable
  14. object EnvelopeContent extends VersioningCompanionContextPVValidation2[EnvelopeContent, HashOps] with Serializable
  15. object InformeeMessage extends VersioningCompanionContext[InformeeMessage, (HashOps, ProtocolVersion)] with Serializable
  16. object LocalApprove extends Serializable
  17. object LocalReject extends Serializable
  18. object LocalVerdict extends VersioningCompanion[LocalVerdict] with Serializable
  19. object MediatorConfirmationRequest extends Serializable
  20. object ProtocolMessage extends Serializable
  21. object ReceivedAcsCommitment extends Serializable
  22. object RootHashMessage extends VersioningCompanionContext[RootHashMessage[RootHashMessagePayload], (ByteString) => ParsingResult[RootHashMessagePayload]] with Serializable
  23. object RootHashMessageRecipients extends HasLoggerName
  24. object SentAcsCommitment extends Serializable
  25. object SerializedRootHashMessagePayload extends Serializable
  26. object SetTrafficPurchasedMessage extends VersioningCompanionMemoization[SetTrafficPurchasedMessage] with Serializable
  27. object SignedProtocolMessage extends VersioningCompanionContext[SignedProtocolMessage[SignedProtocolMessageContent], ProtocolVersion] with Serializable
  28. object SignedProtocolMessageContent extends Serializable
  29. object TopologyTransactionsBroadcast extends VersioningCompanionContext[TopologyTransactionsBroadcast, ProtocolVersion] with Serializable
  30. object TypedSignedProtocolMessageContent extends VersioningCompanionContextMemoization[TypedSignedProtocolMessageContent[SignedProtocolMessageContent], ProtocolVersion] with Serializable
  31. object UnassignmentMediatorMessage extends VersioningCompanionContext[UnassignmentMediatorMessage, (HashOps, Source[ProtocolVersionValidation])] with Serializable
  32. object Verdict extends VersioningCompanion[Verdict] with ProtocolVersionedCompanionDbHelpers[Verdict] with Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped