package protocol
- Alphabetic
- Public
- Protected
Type Members
- final case class AcknowledgeRequest extends HasProtocolVersionedWrapper[AcknowledgeRequest] with ProtocolVersionedMemoizedEvidence with Product with Serializable
- final case class AggregationId(id: Hash) extends PrettyPrinting with Product with Serializable
- final case class AggregationRule(eligibleSenders: NonEmpty[Seq[Member]], threshold: PositiveInt)(representativeProtocolVersion: RepresentativeProtocolVersion[AggregationRule.type]) extends HasProtocolVersionedWrapper[AggregationRule] with PrettyPrinting with Product with Serializable
Encodes the conditions on when an aggregatable submission request's envelopes are sequenced and delivered.
Encodes the conditions on when an aggregatable submission request's envelopes are sequenced and delivered.
Aggregatable submissions are grouped by their SubmissionRequest.aggregationId. An aggregatable submission's envelopes are delivered to their recipients when the threshold's submission request in its group has been sequenced. The aggregatable submission request that triggers the threshold defines the sequencing timestamp (and thus the sequencer counters) for all delivered envelopes. The sender of an aggregatable submission request receives a receipt of delivery immediately when its request was sequenced, not when its envelopes were delivered. When the envelopes are actually delivered, no further delivery receipt is sent.
So a threshold of 1 means that no aggregation takes place and the event is sequenced immediately. In this case, one can completely omit the aggregation rule in the submission request.
- final case class Batch[+Env <: Envelope[_]] extends HasProtocolVersionedWrapper[Batch[Envelope[_]]] with PrettyPrinting with Product with Serializable
A batch is a a list of
n
tuples(m
i, recipients
i), wherem
i is a message, andrecipients
i is the list of recipients of mi, for0 <= i < n
. - final case class ClosedEnvelope extends Envelope[ByteString] with HasProtocolVersionedWrapper[ClosedEnvelope] with Product with Serializable
A ClosedEnvelope's contents are serialized as a com.google.protobuf.ByteString.
A ClosedEnvelope's contents are serialized as a com.google.protobuf.ByteString.
The serialization is interpreted as a com.digitalasset.canton.protocol.messages.EnvelopeContent if
signatures
are empty, and as a com.digitalasset.canton.protocol.messages.TypedSignedProtocolMessageContent otherwise. It itself is serialized without version wrappers inside a Batch. - case class Deliver[+Env <: Envelope[_]] extends SequencedEvent[Env] with Product with Serializable
Intuitively, the member learns all envelopes addressed to it.
Intuitively, the member learns all envelopes addressed to it. It learns some recipients of these envelopes, as defined by com.digitalasset.canton.sequencing.protocol.Recipients.forMember
- Annotations
- @SuppressWarnings()
- sealed abstract case class DeliverError extends SequencedEvent[Nothing] with NoCopy with Product with Serializable
- trait Envelope[+M] extends PrettyPrinting
An Envelope wraps an envelope content such as a com.digitalasset.canton.protocol.messages.ProtocolMessage together with the recipients.
An Envelope wraps an envelope content such as a com.digitalasset.canton.protocol.messages.ProtocolMessage together with the recipients.
- M
The type of the envelope content
- final case class GetTrafficStateForMemberRequest extends HasProtocolVersionedWrapper[GetTrafficStateForMemberRequest] with Product with Serializable
A request to receive the topology state for initialization
- final case class GetTrafficStateForMemberResponse extends HasProtocolVersionedWrapper[GetTrafficStateForMemberResponse] with Product with Serializable
A response from the GetTrafficForMember RPC
- sealed trait GroupRecipient extends Recipient
- sealed trait GroupRecipientCode extends AnyRef
- final case class HandshakeRequest(clientProtocolVersions: Seq[ProtocolVersion], minimumProtocolVersion: Option[ProtocolVersion]) extends Product with Serializable
- sealed trait HandshakeResponse extends AnyRef
- sealed trait MaxRequestSizeToDeserialize extends AnyRef
- final case class MediatorGroupRecipient(group: MediatorGroupIndex) extends GroupRecipient with Product with Serializable
- final case class MemberRecipient(member: Member) extends Recipient with Product with Serializable
- final case class MessageId(str: String73) extends LengthLimitedStringWrapper with PrettyPrinting with Product with Serializable
Identifier assigned by caller to a submission request.
- final case class OpenEnvelope[+M <: ProtocolMessage](protocolMessage: M, recipients: Recipients)(protocolVersion: ProtocolVersion) extends Envelope[M] with Product with Serializable
An OpenEnvelope contains a not serialized protocol message
An OpenEnvelope contains a not serialized protocol message
- M
The type of the protocol message
- sealed trait Recipient extends Product with Serializable with PrettyPrinting
- final case class Recipients(trees: NonEmpty[Seq[RecipientsTree]]) extends PrettyPrinting with Product with Serializable
Recipients of a batch.
Recipients of a batch. Uses a list of com.digitalasset.canton.sequencing.protocol.RecipientsTrees that define the members receiving a batch, and which members see which other recipients.
- final case class RecipientsTree(recipientGroup: NonEmpty[Set[Recipient]], children: Seq[RecipientsTree]) extends PrettyPrinting with Product with Serializable
A tree representation of the recipients for a batch.
A tree representation of the recipients for a batch. Each member receiving the batch should see only subtrees of recipients from a node containing the member. If a member is present in a subtree A and a sub-subtree of A then it should only see the top-level subtree A.
- sealed trait SendAsyncError extends PrettyPrinting
Synchronous error returned by a sequencer.
- sealed trait SequencedEvent[+Env <: Envelope[_]] extends Product with Serializable with ProtocolVersionedMemoizedEvidence with PrettyPrinting with HasProtocolVersionedWrapper[SequencedEvent[Envelope[_]]]
The Deliver events are received as a consequence of a Send command, received by the recipients of the originating Send event.
- sealed trait SequencerDeliverError extends TransactionError
- sealed abstract class SequencerDeliverErrorCode extends ErrorCode
- final case class SequencingSubmissionCost(cost: NonNegativeLong)(representativeProtocolVersion: RepresentativeProtocolVersion[SequencingSubmissionCost.type]) extends HasProtocolVersionedWrapper[SequencingSubmissionCost] with PrettyPrinting with Product with Serializable
Encodes the submission cost calculated by the sender.
Encodes the submission cost calculated by the sender. It will be validated by the sequencer and the submission will be rejected if the cost is incorrect.
- final case class SignedContent[+A <: HasCryptographicEvidence] extends HasProtocolVersionedWrapper[SignedContent[HasCryptographicEvidence]] with ProtocolVersionedMemoizedEvidence with Serializable with Product
- final case class SubmissionRequest extends HasProtocolVersionedWrapper[SubmissionRequest] with ProtocolVersionedMemoizedEvidence with Product with Serializable
- final case class SubscriptionRequestV2(member: Member, timestamp: Option[CantonTimestamp])(representativeProtocolVersion: RepresentativeProtocolVersion[SubscriptionRequestV2.type]) extends HasProtocolVersionedWrapper[SubscriptionRequestV2] with Product with Serializable
A request to receive events from a given counter from a sequencer.
A request to receive events from a given counter from a sequencer.
- member
the member subscribing to the sequencer
- timestamp
inclusive lower bound for the timestamp of the events to receive.
- final case class SubscriptionResponse(signedSequencedEvent: SignedContent[SequencedEvent[ClosedEnvelope]], traceContext: TraceContext) extends Product with Serializable
- final case class TimeProof extends PrettyPrinting with HasCryptographicEvidence with Product with Serializable
Wrapper for a sequenced event that has the correct properties to act as a time proof:
Wrapper for a sequenced event that has the correct properties to act as a time proof:
- a deliver event with no envelopes
- has a message id that suggests it was requested as a time proof (this is practically unnecessary but will act as a safeguard against future sequenced event changes)
- final case class TopologyStateForInitRequest(member: Member)(representativeProtocolVersion: RepresentativeProtocolVersion[TopologyStateForInitRequest.type]) extends HasProtocolVersionedWrapper[TopologyStateForInitRequest] with Product with Serializable
A request to receive the topology state for initialization
A request to receive the topology state for initialization
- member
the member subscribing to the sequencer
- final case class TopologyStateForInitResponse(topologyTransactions: Traced[GenericStoredTopologyTransactions]) extends Product with Serializable
- final case class TrafficState(extraTrafficPurchased: NonNegativeLong, extraTrafficConsumed: NonNegativeLong, baseTrafficRemainder: NonNegativeLong, lastConsumedCost: NonNegativeLong, timestamp: CantonTimestamp, serial: Option[PositiveInt]) extends PrettyPrinting with Product with Serializable
Traffic state of a member at a given timestamp
- final case class WithOpeningErrors[+Event](event: Event, openingErrors: Seq[ProtoDeserializationError]) extends WithGeneric[Event, Seq[ProtoDeserializationError], WithOpeningErrors] with Product with Serializable
- final case class WithRecipients[+A](x: A, recipients: Recipients) extends Product with Serializable
Value Members
- object AcknowledgeRequest extends VersioningCompanionMemoization[AcknowledgeRequest] with Serializable
- object AggregationId extends Serializable
- object AggregationRule extends VersioningCompanion[AggregationRule] with ProtocolVersionedCompanionDbHelpers[AggregationRule] with Serializable
- case object AllMembersOfSynchronizer extends GroupRecipient with Product with Serializable
All known members of the synchronizer, i.e., the return value of com.digitalasset.canton.topology.client.MembersTopologySnapshotClient#allMembers.
- object Batch extends VersioningCompanion2[Batch[Envelope[_]], Batch[ClosedEnvelope]] with Serializable
- object ClosedEnvelope extends VersioningCompanion[ClosedEnvelope] with Serializable
- object Deliver extends Serializable
- object DeliverError extends Serializable
- object GetTrafficStateForMemberRequest extends VersioningCompanion[GetTrafficStateForMemberRequest] with Serializable
- object GetTrafficStateForMemberResponse extends VersioningCompanion[GetTrafficStateForMemberResponse] with Serializable
- object GroupRecipientCode
- object HandshakeResponse
- object MaxRequestSizeToDeserialize
- object MediatorGroupRecipient extends Serializable
- object MessageId extends LengthLimitedStringWrapperCompanion[String73, MessageId] with Serializable
- object NoOpeningErrors
- object Recipient extends Serializable
- object Recipients extends Serializable
- object RecipientsTree extends Serializable
- object SendAsyncError
- object SequencedEvent extends VersioningCompanionMemoization2[SequencedEvent[Envelope[_]], SequencedEvent[ClosedEnvelope]] with Serializable
- object SequencerErrors extends SequencerErrorGroup
- Annotations
- @Explanation(explanation = """Delivery errors wrapped into sequenced events""")
- case object SequencersOfSynchronizer extends GroupRecipient with Product with Serializable
- object SequencingSubmissionCost extends VersioningCompanion[SequencingSubmissionCost] with ProtocolVersionedCompanionDbHelpers[SequencingSubmissionCost] with Serializable
- object SignedContent extends VersioningCompanionMemoization2[SignedContent[HasCryptographicEvidence], SignedContent[BytestringWithCryptographicEvidence]] with Serializable
- object SubmissionRequest extends VersioningCompanionContextMemoizationWithDependency[SubmissionRequest, MaxRequestSizeToDeserialize, Recipients] with Serializable
- object SubmissionRequestValidations
- object SubscriptionRequestV2 extends VersioningCompanion[SubscriptionRequestV2] with Serializable
- object SubscriptionResponse extends Serializable
- object TimeProof extends Serializable
- object TopologyBroadcastAddress
- object TopologyStateForInitRequest extends VersioningCompanion[TopologyStateForInitRequest] with Serializable
- object TopologyStateForInitResponse extends Serializable
- object TrafficState extends Serializable
- object WithOpeningErrors extends WithGenericCompanion with Serializable
- object WithRecipients extends Serializable