Packages

package store

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package data
  2. package db
  3. package memory

Type Members

  1. trait AcsCommitmentLookup extends AnyRef

    Read interface for ACS commitments, with no usage restrictions.

  2. trait AcsCommitmentNoWaitCounterParticipantConfigStore extends AnyRef
  3. trait AcsCommitmentSlowCounterParticipantConfigStore extends AnyRef
  4. trait AcsCommitmentStore extends AcsCommitmentLookup with PrunableByTime with AutoCloseable

    Read and write interface for ACS commitments.

    Read and write interface for ACS commitments. Apart from pruning, should only be used by the ACS commitment processor

  5. trait AcsCounterParticipantConfigStore extends AcsCommitmentSlowCounterParticipantConfigStore with AcsCommitmentNoWaitCounterParticipantConfigStore with AutoCloseable

    Read and write interface for ACS commitment configs.

  6. class AcsInspection extends AnyRef
  7. sealed abstract class AcsInspectionError extends Product with Serializable with HasSynchronizerId
  8. trait ActiveContractSnapshot extends AnyRef

    Provides snapshotting for active contracts.

  9. trait ActiveContractStore extends ActiveContractSnapshot with ConflictDetectionStore[LfContractId, Status]

    The active contract store (ACS) stores for every contract ID whether it is ActiveContractStore.Active, ActiveContractStore.Archived, or ActiveContractStore.ReassignedAway, along with the timestamp of the latest change.

    The active contract store (ACS) stores for every contract ID whether it is ActiveContractStore.Active, ActiveContractStore.Archived, or ActiveContractStore.ReassignedAway, along with the timestamp of the latest change. Every change is associated with the timestamp and the optional repair counter of the operation (e.g. transaction, repair) that triggered the change. The changes are ordered first by timestamp, then by repair counter, and finally by change type (activations before deactivations). Implementations must be thread-safe. Updates must be idempotent.

    Creations, reassignments, and archivals can be mixed arbitrarily. A contract may be assigned and unassigned several times during its lifetime. It becomes active with every assignment and reassigned away with every unassignment. If the ACS detects irregularities, the change method reports them.

    These methods are supposed to be called by the ConflictDetector only, which coordinates the request journal updates and the updates to the ACS.

    Updates may be written asynchronously. Every implementation determines an order over all the changes and queries to the ACS. Each individual change must be applied atomically and the result is determined with respect to this order. This order need not be consistent with the order of the calls, though. However, the following is guaranteed: If the future returned by a call completes and observing the completion happens before another call, then all changes of the former call must be ordered before all changes of the later call.

    Bulk methods like ActiveContractStore.markContractsCreated and ActiveContractStore.archiveContracts generate one individual change for each contract. So their changes may be interleaved with other calls.

    See also

    ActiveContractSnapshot for the ACS snapshot interface

  10. final case class CommandDeduplicationData extends PrettyPrinting with Product with Serializable

    The command deduplication data associated with a com.digitalasset.canton.ledger.participant.state.ChangeId.

  11. trait CommandDeduplicationStore extends AutoCloseable
  12. final case class CommitTimeBeforeRequestTime(requestCounter: RequestCounter, requestTime: CantonTimestamp, commitTime: CantonTimestamp) extends RequestJournalStoreError with Product with Serializable
  13. trait CommitmentQueue extends AnyRef

    Manages the buffer (priority queue) for incoming commitments.

    Manages the buffer (priority queue) for incoming commitments.

    The priority is based on the timestamp of the end of the commitment's commitment period. Lower timestamps have higher priority.

  14. trait ConflictDetectionStore[K, A <: PrettyPrinting] extends PrunableByTime with Purgeable

    Common interface for stores used by conflict detection

  15. trait ContractAndKeyLookup extends ContractLookup
  16. sealed trait ContractChange extends Product with Serializable with PrettyPrinting
  17. trait ContractLookup extends AnyRef
  18. sealed trait ContractLookupError extends ContractStoreError
  19. trait ContractStore extends ContractLookup with Purgeable with FlagCloseable
  20. sealed trait ContractStoreError extends Product with Serializable with PrettyPrinting
  21. trait DamlPackageStore extends AutoCloseable

    For storing and retrieving Daml packages and DARs.

  22. final case class DefiniteAnswerEvent(offset: Offset, publicationTime: CantonTimestamp, submissionIdO: Option[LedgerSubmissionId])(traceContext: TraceContext) extends PrettyPrinting with Product with Serializable

    offset

    A completion offset

    publicationTime

    The publication time associated with the offset

    traceContext

    The trace context that created the completion offset.

  23. class ExtendedContractLookup extends ContractAndKeyLookup

    A contract lookup that adds some convenience methods

    A contract lookup that adds some convenience methods

    Exceptions thrown

    java.lang.IllegalArgumentException if contracts stores a contract under a wrong id

  24. final case class FailedConvert(contractId: LfContractId) extends ContractLookupError with Product with Serializable
  25. trait HasPrunable extends AnyRef
  26. trait InFlightSubmissionStore extends AutoCloseable

    Backing store for com.digitalasset.canton.participant.protocol.submission.InFlightSubmissionTracker.

    Backing store for com.digitalasset.canton.participant.protocol.submission.InFlightSubmissionTracker.

    An in-flight submission is uniquely identified by its com.digitalasset.canton.ledger.participant.state.ChangeId. com.digitalasset.canton.sequencing.protocol.MessageIds should be unique too, but this is not enforced by the store.

    Every change to an individual submissions must execute atomically. Bulk operations may interleave arbitrarily the atomic changes of the affected individual submissions and therefore need not be atomic as a whole.

  27. final case class InconsistentRequestTimestamp(requestCounter: RequestCounter, storedTimestamp: CantonTimestamp, expectedTimestamp: CantonTimestamp) extends RequestJournalStoreError with Product with Serializable
  28. trait IncrementalCommitmentStore extends AnyRef

    A key-value store with sets of parties as keys, and with LtHash16 values.

    A key-value store with sets of parties as keys, and with LtHash16 values. Keeps a watermark of the record time (a timestamp accompanied by a tie-breaker, to account for multiple changes with the same timestamp) of the last update.

    While the store is agnostic to its use, we use is as follows. For each set S of parties such that:

    • the parties are stakeholders on some contract C and
    • the participant stores C in its ACS the participant uses the store to store an LtHash16 commitment to all the contracts whose stakeholders are exactly S.

    To ensure that the commitments correspond to the ACSs, the caller(s) must jointly ensure that all ACS changes are delivered to this store exactly once. In particular, upon crashes, the caller(s) must send ALL ACS changes that are later - in the lexicographic order of (timestamp, request) - than the watermark returned by the store, but must not replay any changes lower or equal to the watermark.

  29. trait LogicalSyncPersistentState extends NamedLogging with AutoCloseable

    Stores that are logical, meaning they can span across multiple physical synchronizers, and therefore are not tied to a specific protocol version.

  30. final case class PackageInfo(name: String255, version: String255) extends Product with Serializable
  31. class ParticipantNodeEphemeralState extends AnyRef

    Some of the state of a participant that is not tied to a synchronizer and is kept only in memory.

  32. class ParticipantNodePersistentState extends FlagCloseable with NamedLogging

    Some of the state of a participant that is not tied to a synchronizer and must survive restarts.

    Some of the state of a participant that is not tied to a synchronizer and must survive restarts. Does not cover topology stores (as they are also present for synchronizer nodes) nor the RegisteredSynchronizersStore (for initialization reasons)

  33. trait ParticipantPruningSchedulerStore extends PruningSchedulerStore

    Store for the participant pruning scheduler parameters such as the cron schedule, pruning retention period, and whether to only prune "internal" canton stores.

  34. trait ParticipantPruningStore extends AutoCloseable

    The ParticipantPruningStore stores the last started / completed pruning operation.

  35. trait ParticipantSettingsLookup extends AnyRef

    Read-only interface for ParticipantSettingsStore

  36. trait ParticipantSettingsStore extends ParticipantSettingsLookup with AutoCloseable

    Stores misc settings for a participant.

    Stores misc settings for a participant. Allows clients to read settings without accessing the database. In turn, a client needs to call refreshCache before reading settings.

  37. trait PhysicalSyncPersistentState extends NamedLogging with AutoCloseable

    Stores that tied to a specific physical synchronizer.

  38. trait ReassignmentLookup extends AnyRef
  39. trait ReassignmentStore extends ReassignmentLookup
  40. trait RegisteredSynchronizersStore extends SynchronizerAliasAndIdStore
  41. trait RequestJournalStore extends AnyRef
  42. sealed trait RequestJournalStoreError extends Product with Serializable
  43. final case class SerializableCompletionInfo(completionInfo: CompletionInfo) extends Product with Serializable
  44. final case class SerializableRejectionReasonTemplate(rejectionReasonStatus: Status) extends Product with Serializable
  45. final case class StateChangeType(change: ContractChange, reassignmentCounter: ReassignmentCounter) extends PrettyPrinting with Product with Serializable

    Type of state change of a contract as returned by com.digitalasset.canton.participant.store.ActiveContractStore.changesBetween through a com.digitalasset.canton.participant.store.ActiveContractSnapshot.ActiveContractIdsChange

  46. final case class StoredSynchronizerConnectionConfig(config: SynchronizerConnectionConfig, status: Status, configuredPSId: ConfiguredPhysicalSynchronizerId, predecessor: Option[SynchronizerPredecessor]) extends Product with Serializable

    config

    Connection config for the synchronizer

    status

    Status of the synchronizer

    configuredPSId

    Configured physical synchronizer id. Is unknown before the first connect/handshake is made.

    predecessor

    Is defined iff the predecessor exists and the participant was connected to it.

  47. trait SubmissionTrackerStore extends PrunableByTime with Purgeable with AutoCloseable
  48. class SyncPersistentState extends LogicalSyncPersistentState with PhysicalSyncPersistentState with NamedLogging with AutoCloseable

    The participant-relevant state and components of a synchronizer that is independent of the connectivity to the synchronizer.

  49. trait SynchronizerAliasAndIdStore extends AutoCloseable

    Keeps track of synchronizerIds of all synchronizers the participant has previously connected to.

    Keeps track of synchronizerIds of all synchronizers the participant has previously connected to.

    Store invariant:

    • For a given synchronizer alias, all the physical synchronizer IDs have the same logical synchronizer ID
  50. trait SynchronizerConnectionConfigStore extends AutoCloseable

    The configured synchronizers and their connection configuration.

    The configured synchronizers and their connection configuration.

    Upon initial registration, the physical synchronizer id is unknown. Because of that, many methods take an *optional* physical synchronizer id.

    Invariant of the store:

    • For a given synchronizer alias, all the configurations have the same logical synchronizer ID
  51. trait SynchronizerParameterStore extends AnyRef
  52. final case class UnknownContract(contractId: LfContractId) extends ContractLookupError with Product with Serializable
  53. final case class UnknownContracts(contractIds: Set[LfContractId]) extends ContractLookupError with Product with Serializable
  54. final case class UnknownRequestCounter(requestCounter: RequestCounter) extends RequestJournalStoreError with Product with Serializable

Ungrouped