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
- 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. - 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
- sealed abstract case class CommitmentPeriod extends PrettyPrinting with NoCopy with Product with Serializable
- 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.
- type DefaultOpenEnvelope = OpenEnvelope[ProtocolMessage]
- case class DeliveredTransferOutResult(result: SignedContent[Deliver[DefaultOpenEnvelope]]) extends PrettyPrinting with Product with Serializable
- case class DomainTopologyTransactionMessage extends ProtocolMessage with HasProtoV0[v0.DomainTopologyTransactionMessage] with NoCopy with Product with Serializable
- 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.
- case class EncryptedViewMessage[+VT <: ViewType] extends ProtocolMessage with HasProtoV0[v0.EncryptedViewMessage] with Product with Serializable
- trait HasDomainId extends AnyRef
- trait HasRequestId extends AnyRef
- trait HasResourceSeq extends AnyRef
- case class InformeeMessage(fullInformeeTree: FullInformeeTree) extends MediatorRequest with HasProtoV0[v0.InformeeMessage] with Product with Serializable
The informee message to be sent to the mediator.
- trait LocalReject extends LocalVerdict with HasResourceSeq with TransactionErrorWithEnum[Code]
- 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
orMalformed
. The verdictsLocalReject
andMalformed
include areason
pointing out which checks in Phase 3 have failed. - 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.
- trait MediatorRequest extends ProtocolMessage
- 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.
- trait MediatorResult extends MemoizedEvidence with HasDomainId with HasRequestId
- trait ProtocolMessage extends Product with Serializable with HasDomainId with PrettyPrinting
Parent trait of messages that are sent through the sequencer
- 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
- 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
- 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.
- 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.
- trait RootHashMessagePayload extends PrettyPrinting with HasCryptographicEvidence
Payloads of RootHashMessage
- case class SerializedRootHashMessagePayload(bytes: ByteString) extends RootHashMessagePayload with Product with Serializable
- case class SignedProtocolMessage[+M <: SignedProtocolMessageContent](message: M, signature: Signature) extends ProtocolMessage with HasProtoV0[v0.SignedProtocolMessage] with HasVersionedWrapper[VersionedMessage[SignedProtocolMessage[M]]] with Product with Serializable
- trait SignedProtocolMessageContent extends MemoizedEvidence with HasDomainId with PrettyPrinting with Product with Serializable
- 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
- type TransactionViewMessage = EncryptedViewMessage[TransactionViewType]
- sealed trait TransferDomainId extends Product with Serializable with PrettyPrinting
- case class TransferInDomainId(domain: DomainId) extends TransferDomainId with Product with Serializable
- 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
- type TransferInResult = TransferResult[TransferInDomainId]
- case class TransferOutDomainId(domain: DomainId) extends TransferDomainId with Product with Serializable
- 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
- type TransferOutResult = TransferResult[TransferOutDomainId]
- 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
- 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
- sealed trait Verdict extends Product with Serializable with PrettyPrinting with HasVersionedWrapper[VersionedMessage[Verdict]] with HasProtoV0[v0.Verdict]
Value Members
- val TransferInResult: TransferResult.type
- val TransferOutResult: TransferResult.type
- object AcsCommitment extends HasMemoizedVersionedMessageCompanion[AcsCommitment] with Serializable
- object CausalityMessage extends Serializable
- object CommitmentPeriod extends Serializable
- object DeliveredTransferOutResult extends Serializable
- object DomainTopologyTransactionMessage extends Serializable
- case object EmptyRootHashMessagePayload extends RootHashMessagePayload with Product with Serializable
- object EncryptedView extends Serializable
- object EncryptedViewMessage extends Serializable
- object InformeeMessage extends Serializable
- case object LocalApprove extends LocalVerdict with Product with Serializable
- object LocalReject extends LocalRejectionGroup with Serializable
- object LocalVerdict extends Serializable
- object MalformedMediatorRequestResult extends HasMemoizedVersionedMessageCompanion[MalformedMediatorRequestResult] with Serializable
- object MediatorRequest extends Serializable
- object MediatorResponse extends HasMemoizedVersionedMessageCompanion[MediatorResponse] with Serializable
- object ProtocolMessage extends Serializable
- object RegisterTopologyTransactionRequest extends Serializable
- object RegisterTopologyTransactionResponse extends Serializable
- object RegularMediatorResult extends Serializable
- object RootHashMessage extends Serializable
- object SerializedRootHashMessagePayload extends Serializable
- object SignedProtocolMessage extends HasVersionedMessageWithContextCompanion[SignedProtocolMessage[_], HashOps] with Serializable
- object SignedProtocolMessageContent extends Serializable
- object TransactionResultMessage extends HasMemoizedVersionedMessageWithContextCompanion[TransactionResultMessage, HashOps] with Serializable
- object TransferDomainId extends Serializable
- object TransferInDomainId extends Serializable
- object TransferInMediatorMessage extends Serializable
- object TransferOutDomainId extends Serializable
- object TransferOutMediatorMessage extends Serializable
- object TransferResult extends HasMemoizedVersionedMessageCompanion[TransferResult[TransferDomainId]] with Serializable
- object VectorClock extends Serializable
- object Verdict extends HasVersionedMessageCompanion[Verdict] with Serializable