package submission

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package routing

Type Members

  1. final case class ChangeIdHash(hash: LfHash) extends PrettyPrinting with Product with Serializable
  2. trait CommandDeduplicator extends AnyRef

    Implements the command deduplication logic.

    Implements the command deduplication logic.

    All method calls should be coordinated by the InFlightSubmissionTracker. In particular, checkDeduplication must not be called concurrently with processPublications for the same com.digitalasset.canton.ledger.participant.state.v2.ChangeIds.

  3. class CommandDeduplicatorImpl extends CommandDeduplicator with NamedLogging
  4. class ConfirmationRequestFactory extends NamedLogging

    Factory class for creating confirmation requests from Daml-LF transactions.

  5. final case class InFlightSubmission[+SequencingInfo <: SubmissionSequencingInfo](changeIdHash: ChangeIdHash, submissionId: Option[LedgerSubmissionId], submissionDomain: DomainId, messageUuid: UUID, rootHashO: Option[RootHash], sequencingInfo: SequencingInfo, submissionTraceContext: TraceContext) extends PrettyPrinting with Product with Serializable

    Collects information about an in-flight submission, to be stored in com.digitalasset.canton.participant.store.InFlightSubmissionStore.

    Collects information about an in-flight submission, to be stored in com.digitalasset.canton.participant.store.InFlightSubmissionStore.

    changeIdHash

    The identifier for the intended ledger change. We only include the hash instead of the com.digitalasset.canton.ledger.participant.state.v2.ChangeId so that we do not need to persist and reconstruct the actual contents of the com.digitalasset.canton.ledger.participant.state.v2.ChangeId when we read an InFlightSubmission from the store.

    submissionId

    Optional submission id.

    submissionDomain

    The domain to which the submission is supposed to be/was sent.

    messageUuid

    The message UUID that will be/has been used for the com.digitalasset.canton.sequencing.protocol.SubmissionRequest

    rootHashO

    The root hash contained in the com.digitalasset.canton.sequencing.protocol.SubmissionRequest. Optional because:

    • currently, the root hash is not available when creating an entry for registration, and is added as a second step;
    • it can be an older entry for which the root hash was never added.
    sequencingInfo

    Information about when the request will be/was sequenced

    submissionTraceContext

    The com.digitalasset.canton.tracing.TraceContext of the submission.

  6. class InFlightSubmissionTracker extends FlagCloseable with NamedLogging

    Tracker for in-flight submissions backed by the com.digitalasset.canton.participant.store.InFlightSubmissionStore.

    Tracker for in-flight submissions backed by the com.digitalasset.canton.participant.store.InFlightSubmissionStore.

    A submission is in flight if it is in the com.digitalasset.canton.participant.store.InFlightSubmissionStore. The tracker registers a submission before the com.digitalasset.canton.sequencing.protocol.SubmissionRequest is sent to the com.digitalasset.canton.sequencing.client.SequencerClient of a domain. After the corresponding event has been published into the com.digitalasset.canton.participant.store.MultiDomainEventLog state updates, the submission will be removed from the com.digitalasset.canton.participant.store.InFlightSubmissionStore again. This happens normally as part of request processing after phase 7. If the submission has not been sequenced by the specified com.digitalasset.canton.participant.protocol.submission.UnsequencedSubmission.timeout, say because the submission was lost on the way to the sequencer, the participant generates an appropriate update because the submission will never reach request processing. The latter must work even if the participant crashes (if run with persistence).

  7. class SeedGenerator extends AnyRef

    Creates seeds and UUIDs for requests.

  8. final case class SequencedSubmission(sequencerCounter: SequencerCounter, sequencingTime: CantonTimestamp) extends SubmissionSequencingInfo with Product with Serializable

    The observed sequencing information of an InFlightSubmission

    The observed sequencing information of an InFlightSubmission

    sequencerCounter

    The com.digitalasset.canton.SequencerCounter assigned to the com.digitalasset.canton.sequencing.protocol.SubmissionRequest

    sequencingTime

    The sequencer timestamp assigned to the com.digitalasset.canton.sequencing.protocol.SubmissionRequest

  9. final case class SerializableSubmissionId(submissionId: LedgerSubmissionId) extends Product with Serializable
  10. sealed trait SubmissionSequencingInfo extends Product with Serializable with PrettyPrinting

    Information about when an InFlightSubmission was/will be sequenced

  11. trait SubmissionTrackingData extends Product with Serializable with HasProtocolVersionedWrapper[SubmissionTrackingData] with PrettyPrinting

    The data of an in-flight unsequenced submission that suffices to produce a rejection reason.

    The data of an in-flight unsequenced submission that suffices to produce a rejection reason. This data is persisted in the com.digitalasset.canton.participant.store.InFlightSubmissionStore for unsequenced submissions and updated when the corresponding a com.digitalasset.canton.sequencing.protocol.DeliverError is processed or the submission could not be sent to the sequencer.

  12. final case class TransactionSubmissionTrackingData(completionInfo: CompletionInfo, rejectionCause: RejectionCause, domainId: Option[DomainId])(representativeProtocolVersion: RepresentativeProtocolVersion[SubmissionTrackingData.type]) extends SubmissionTrackingData with HasLoggerName with Product with Serializable

    Tracking data for transactions

  13. trait TransactionTreeFactory extends AnyRef
  14. abstract class TransactionTreeFactoryImpl extends TransactionTreeFactory with NamedLogging

    Factory class that can create the com.digitalasset.canton.data.GenTransactionTrees from a com.digitalasset.canton.protocol.WellFormedTransaction.

  15. class TransactionTreeFactoryImplV3 extends TransactionTreeFactoryImpl

    Generate transaction trees as used from protocol version com.digitalasset.canton.version.ProtocolVersion.v3 on

  16. final case class UnsequencedSubmission(timeout: CantonTimestamp, trackingData: SubmissionTrackingData) extends SubmissionSequencingInfo with Product with Serializable

    Identifies an InFlightSubmission whose sequencing has not yet been observed.

    Identifies an InFlightSubmission whose sequencing has not yet been observed.

    timeout

    The point in sequencer time after which the submission cannot be sequenced any more. Typically this is the max sequencing time for the com.digitalasset.canton.sequencing.protocol.SubmissionRequest. It can be earlier if the submission logic decided to not send a request at all or the sent request was rejected

    trackingData

    The information required to produce an appropriate rejection event when the timeout has elapsed.

  17. trait WatermarkLookup[Mark] extends AnyRef
  18. class WatermarkTracker[Mark] extends WatermarkLookup[Mark] with NamedLogging

    Keeps track of a boundary WatermarkTracker.highWatermark that increases monotonically.

    Keeps track of a boundary WatermarkTracker.highWatermark that increases monotonically. Clients can do one of the following:

    The WatermarkTracker is effectively used to enforce mutual exclusion between two types of tasks.

Ungrouped