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. case class AcsCommitment extends HasVersionedWrapper[VersionedMessage[AcsCommitment]] with HasProtoV0[v0.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 domain at a given time.

    A commitment to the active contract set (ACS) that is shared between two participants on a given domain 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. case class CausalityMessage(domainId: DomainId, transferId: TransferId, clock: VectorClock) extends ProtocolMessage with HasProtoV0[v0.CausalityMessage] with PrettyPrinting with Product with Serializable

    Causality messages are sent along with a transfer-in response.

    Causality messages are sent along with a transfer-in response. They propagate causality information on the events a participant has "seen" for a party at the time of the transfer-out. TODO(i5352): consider whether this should be encrypted (probably).*

    domainId

    The domain ID that the causality message is addressed to

    transferId

    The ID of the transfer for which we are propagating causality information

    clock

    The vector clock specifying causality information at the time of the transfer out

  3. sealed abstract case class CommitmentPeriod extends PrettyPrinting with NoCopy with Product with Serializable
  4. case class ConfirmationRequest(informeeMessage: InformeeMessage, viewEnvelopes: Seq[OpenEnvelope[TransactionViewMessage]]) extends PrettyPrinting with Product with Serializable

    Represents the confirmation request as sent from a submitting node to the sequencer.

  5. type DefaultOpenEnvelope = OpenEnvelope[ProtocolMessage]
  6. case class DeliveredTransferOutResult(result: SignedContent[Deliver[DefaultOpenEnvelope]]) extends PrettyPrinting with Product with Serializable
  7. case class DomainTopologyTransactionMessage extends ProtocolMessage with HasProtoV0[v0.DomainTopologyTransactionMessage] with NoCopy with Product with Serializable
  8. 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.

  9. case class EncryptedViewMessage[+VT <: ViewType] extends ProtocolMessage with HasProtoV0[v0.EncryptedViewMessage] with Product with Serializable

    See https://engineering.da-int.net/docs/platform-architecture-handbook/arch/canton/tx-data-structures.html#transaction-hashes-and-views

  10. trait HasDomainId extends AnyRef
  11. trait HasRequestId extends AnyRef
  12. trait HasResourceSeq extends AnyRef
  13. case class InformeeMessage(fullInformeeTree: FullInformeeTree) extends MediatorRequest with HasProtoV0[v0.InformeeMessage] with Product with Serializable

    The informee message to be sent to the mediator.

  14. trait LocalReject extends LocalVerdict with HasResourceSeq with TransactionErrorWithEnum[Code]
  15. sealed trait LocalVerdict extends Product with Serializable with PrettyPrinting with HasProtoV0[v0.LocalVerdict]

    Possible verdicts on a transaction view from the participant's perspective.

    Possible verdicts on a transaction view from the participant's perspective. The verdict can be LocalApprove, LocalReject or Malformed. The verdicts LocalReject and Malformed include a reason pointing out which checks in Phase 3 have failed.

  16. case class MalformedMediatorRequestResult extends MediatorResult with SignedProtocolMessageContent with HasVersionedWrapper[VersionedMessage[MalformedMediatorRequestResult]] with HasProtoV0[v0.MalformedMediatorRequestResult] with NoCopy with PrettyPrinting with Product with Serializable

    Sent by the mediator to indicate that a mediator request was malformed.

    Sent by the mediator to indicate that a mediator request was malformed. The request counts as being rejected and the request UUID will not be deduplicated.

  17. trait MediatorRequest extends ProtocolMessage
  18. case class MediatorResponse extends SignedProtocolMessageContent with HasVersionedWrapper[VersionedMessage[MediatorResponse]] with HasProtoV0[v0.MediatorResponse] with HasDomainId with NoCopy with Product with Serializable

    Payload of a response sent to the mediator in reaction to a request.

  19. trait MediatorResult extends MemoizedEvidence with HasDomainId with HasRequestId
  20. trait ProtocolMessage extends Product with Serializable with HasDomainId with PrettyPrinting

    Parent trait of messages that are sent through the sequencer

  21. case class RegisterTopologyTransactionRequest(requestedBy: Member, participant: ParticipantId, requestId: TopologyRequestId, transactions: List[SignedTopologyTransaction[TopologyChangeOp]], domainId: DomainId) extends ProtocolMessage with HasProtoV0[v0.RegisterTopologyTransactionRequest] with Product with Serializable
  22. case class RegisterTopologyTransactionResponse(requestedBy: Member, participant: ParticipantId, requestId: TopologyRequestId, results: Seq[Result], domainId: DomainId) extends ProtocolMessage with HasProtoV0[v0.RegisterTopologyTransactionResponse] with NoCopy with Product with Serializable
  23. trait RegularMediatorResult extends MediatorResult with SignedProtocolMessageContent

    The mediator issues a regular mediator result for well-formed mediator requests.

    The mediator issues a regular mediator result for well-formed mediator requests. Malformed mediator requests lead to a MalformedMediatorRequestResult.

  24. case class RootHashMessage[+Payload <: RootHashMessagePayload](rootHash: RootHash, domainId: DomainId, viewType: ViewType, payload: Payload) extends ProtocolMessage with HasProtoV0[v0.RootHashMessage] with PrettyPrinting with Product with Serializable

    One root hash message is sent for each participant involved in a mediator request that requires root hash messages.

    One root hash message is sent for each participant involved in a mediator 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 request message specifies. The mediator also checks that all payloads have the same serialization and, if it can parse the mediator request envelope, that the payload fits to the mediator request.

  25. trait RootHashMessagePayload extends PrettyPrinting with HasCryptographicEvidence

    Payloads of RootHashMessage

  26. case class SerializedRootHashMessagePayload(bytes: ByteString) extends RootHashMessagePayload with Product with Serializable
  27. case class SignedProtocolMessage[+M <: SignedProtocolMessageContent](message: M, signature: Signature) extends ProtocolMessage with HasProtoV0[v0.SignedProtocolMessage] with HasVersionedWrapper[VersionedMessage[SignedProtocolMessage[M]]] with Product with Serializable
  28. trait SignedProtocolMessageContent extends MemoizedEvidence with HasDomainId with PrettyPrinting with Product with Serializable
  29. case class TransactionResultMessage extends RegularMediatorResult with NoCopy with HasVersionedWrapper[VersionedMessage[TransactionResultMessage]] with HasProtoV0[v0.TransactionResultMessage] with PrettyPrinting with Product with Serializable

    Transaction result message that the mediator sends to all stakeholders of a confirmation request with its verdict.

    Transaction result message that the mediator sends to all stakeholders of a confirmation request with its verdict. https://engineering.da-int.net/docs/platform-architecture-handbook/arch/canton/transactions.html#phase-6-broadcast-of-result

  30. type TransactionViewMessage = EncryptedViewMessage[TransactionViewType]
  31. sealed trait TransferDomainId extends Product with Serializable with PrettyPrinting
  32. case class TransferInDomainId(domain: DomainId) extends TransferDomainId with Product with Serializable
  33. case class TransferInMediatorMessage(tree: TransferInViewTree) extends MediatorRequest with HasProtoV0[v0.TransferInMediatorMessage] with Product with Serializable

    Message sent to the mediator as part of a transfer-in request

    Message sent to the mediator as part of a transfer-in request

    tree

    The transfer-in view tree blinded for the mediator

    Exceptions thrown

    java.lang.IllegalArgumentException if the common data is blinded or the view is not blinded

  34. type TransferInResult = TransferResult[TransferInDomainId]
  35. case class TransferOutDomainId(domain: DomainId) extends TransferDomainId with Product with Serializable
  36. case class TransferOutMediatorMessage(tree: TransferOutViewTree) extends MediatorRequest with HasProtoV0[v0.TransferOutMediatorMessage] with Product with Serializable

    Message sent to the mediator as part of a transfer-out request

    Message sent to the mediator as part of a transfer-out request

    tree

    The transfer-out view tree blinded for the mediator

    Exceptions thrown

    java.lang.IllegalArgumentException if the common data is blinded or the view is not blinded

  37. type TransferOutResult = TransferResult[TransferOutDomainId]
  38. case class TransferResult[+Domain <: TransferDomainId] extends RegularMediatorResult with HasVersionedWrapper[VersionedMessage[TransferResult[Domain]]] with HasProtoV0[v0.TransferResult] with NoCopy with PrettyPrinting with Product with Serializable

    Mediator result for a transfer-out request

  39. case class VectorClock(originDomainId: DomainId, localTs: CantonTimestamp, partyId: LfPartyId, clock: Map[DomainId, CantonTimestamp]) extends HasProtoV0[v0.VectorClock] with PrettyPrinting with Product with Serializable

    A vector clock represents the causal constraints that must be respected for a party at a certain point in time.

    A vector clock represents the causal constraints that must be respected for a party at a certain point in time. Vector clocks are maintained per-domain

    originDomainId

    The domain of the vector clock

    localTs

    The timestamp on originDomainId specifying the time at which the causal constraints are valid

    partyId

    The party who has seen the causal information specified by clock

    clock

    The most recent timestamp on each domain that partyId has causally observed

  40. sealed trait Verdict extends Product with Serializable with PrettyPrinting with HasVersionedWrapper[VersionedMessage[Verdict]] with HasProtoV0[v0.Verdict]

Value Members

  1. val TransferInResult: TransferResult.type
  2. val TransferOutResult: TransferResult.type
  3. object AcsCommitment extends HasMemoizedVersionedMessageCompanion[AcsCommitment] with Serializable
  4. object CausalityMessage extends Serializable
  5. object CommitmentPeriod extends Serializable
  6. object DeliveredTransferOutResult extends Serializable
  7. object DomainTopologyTransactionMessage extends Serializable
  8. case object EmptyRootHashMessagePayload extends RootHashMessagePayload with Product with Serializable
  9. object EncryptedView extends Serializable
  10. object EncryptedViewMessage extends Serializable
  11. object InformeeMessage extends Serializable
  12. case object LocalApprove extends LocalVerdict with Product with Serializable
  13. object LocalReject extends LocalRejectionGroup with Serializable
  14. object LocalVerdict extends Serializable
  15. object MalformedMediatorRequestResult extends HasMemoizedVersionedMessageCompanion[MalformedMediatorRequestResult] with Serializable
  16. object MediatorRequest extends Serializable
  17. object MediatorResponse extends HasMemoizedVersionedMessageCompanion[MediatorResponse] with Serializable
  18. object ProtocolMessage extends Serializable
  19. object RegisterTopologyTransactionRequest extends Serializable
  20. object RegisterTopologyTransactionResponse extends Serializable
  21. object RegularMediatorResult extends Serializable
  22. object RootHashMessage extends Serializable
  23. object SerializedRootHashMessagePayload extends Serializable
  24. object SignedProtocolMessage extends HasVersionedMessageWithContextCompanion[SignedProtocolMessage[_], HashOps] with Serializable
  25. object SignedProtocolMessageContent extends Serializable
  26. object TransactionResultMessage extends HasMemoizedVersionedMessageWithContextCompanion[TransactionResultMessage, HashOps] with Serializable
  27. object TransferDomainId extends Serializable
  28. object TransferInDomainId extends Serializable
  29. object TransferInMediatorMessage extends Serializable
  30. object TransferOutDomainId extends Serializable
  31. object TransferOutMediatorMessage extends Serializable
  32. object TransferResult extends HasMemoizedVersionedMessageCompanion[TransferResult[TransferDomainId]] with Serializable
  33. object VectorClock extends Serializable
  34. object Verdict extends HasVersionedMessageCompanion[Verdict] with Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped