package store
- Alphabetic
- Public
- Protected
Type Members
- trait AcsCommitmentLookup extends AnyRef
Read interface for ACS commitments, with no usage restrictions.
- trait AcsCommitmentNoWaitCounterParticipantConfigStore extends AnyRef
- trait AcsCommitmentSlowCounterParticipantConfigStore extends AnyRef
- 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
- trait AcsCounterParticipantConfigStore extends AcsCommitmentSlowCounterParticipantConfigStore with AcsCommitmentNoWaitCounterParticipantConfigStore with AutoCloseable
Read and write interface for ACS commitment configs.
- class AcsInspection extends AnyRef
- sealed abstract class AcsInspectionError extends Product with Serializable with HasSynchronizerId
- trait ActiveContractSnapshot extends AnyRef
Provides snapshotting for active contracts.
- 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
- final case class CommandDeduplicationData extends PrettyPrinting with Product with Serializable
The command deduplication data associated with a com.digitalasset.canton.ledger.participant.state.ChangeId.
- trait CommandDeduplicationStore extends AutoCloseable
- final case class CommitTimeBeforeRequestTime(requestCounter: RequestCounter, requestTime: CantonTimestamp, commitTime: CantonTimestamp) extends RequestJournalStoreError with Product with Serializable
- 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.
- trait ConflictDetectionStore[K, A <: PrettyPrinting] extends PrunableByTime with Purgeable
Common interface for stores used by conflict detection
- trait ContractAndKeyLookup extends ContractLookup
- sealed trait ContractChange extends Product with Serializable with PrettyPrinting
- trait ContractLookup extends AnyRef
- sealed trait ContractLookupError extends ContractStoreError
- trait ContractStore extends ContractLookup with Purgeable with FlagCloseable
- sealed trait ContractStoreError extends Product with Serializable with PrettyPrinting
- trait DamlPackageStore extends AutoCloseable
For storing and retrieving Daml packages and DARs.
- 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.
- 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
ifcontracts
stores a contract under a wrong id
- final case class FailedConvert(contractId: LfContractId) extends ContractLookupError with Product with Serializable
- trait HasPrunable extends AnyRef
- 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.
- final case class InconsistentRequestTimestamp(requestCounter: RequestCounter, storedTimestamp: CantonTimestamp, expectedTimestamp: CantonTimestamp) extends RequestJournalStoreError with Product with Serializable
- 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.
- 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.
- final case class PackageInfo(name: String255, version: String255) extends Product with Serializable
- class ParticipantNodeEphemeralState extends AnyRef
Some of the state of a participant that is not tied to a synchronizer and is kept only in memory.
- 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)
- 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.
- trait ParticipantPruningStore extends AutoCloseable
The ParticipantPruningStore stores the last started / completed pruning operation.
- trait ParticipantSettingsLookup extends AnyRef
Read-only interface for ParticipantSettingsStore
- 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. - trait PhysicalSyncPersistentState extends NamedLogging with AutoCloseable
Stores that tied to a specific physical synchronizer.
- trait ReassignmentLookup extends AnyRef
- trait ReassignmentStore extends ReassignmentLookup
- trait RegisteredSynchronizersStore extends SynchronizerAliasAndIdStore
- trait RequestJournalStore extends AnyRef
- sealed trait RequestJournalStoreError extends Product with Serializable
- final case class SerializableCompletionInfo(completionInfo: CompletionInfo) extends Product with Serializable
- final case class SerializableRejectionReasonTemplate(rejectionReasonStatus: Status) extends Product with Serializable
- 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
- 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.
- trait SubmissionTrackerStore extends PrunableByTime with Purgeable with AutoCloseable
- 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.
- 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
- 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
- trait SynchronizerParameterStore extends AnyRef
- final case class UnknownContract(contractId: LfContractId) extends ContractLookupError with Product with Serializable
- final case class UnknownContracts(contractIds: Set[LfContractId]) extends ContractLookupError with Product with Serializable
- final case class UnknownRequestCounter(requestCounter: RequestCounter) extends RequestJournalStoreError with Product with Serializable
Value Members
- object AcsCommitmentStore
- object AcsCounterParticipantConfigStore
- object AcsInspection
- object AcsInspectionError extends Serializable
- object ActivationsDeactivationsConsistencyCheck
- Annotations
- @SuppressWarnings()
- object ActiveContractSnapshot
- object ActiveContractStore
- object CommandDeduplicationData extends Serializable
- object CommandDeduplicationStore
- object ContractAndKeyLookup
- object ContractChange extends Serializable
- object ContractStore
- object DamlPackageStore
- object DefiniteAnswerEvent extends Serializable
- object InFlightSubmissionStore
- object LogicalSyncPersistentState
- object PackageInfo extends Serializable
- object ParticipantNodeEphemeralState
- object ParticipantNodePersistentState extends HasLoggerName
- object ParticipantPruningSchedulerStore
- object ParticipantPruningStore
- object ParticipantSettingsStore
- object PhysicalSyncPersistentState
- object ReassignmentStore
- object RegisteredSynchronizersStore
- object SerializableCompletionInfo extends Serializable
- object SerializableRejectionReasonTemplate extends Serializable
- object SyncPersistentState
- object SynchronizerAliasAndIdStore
- object SynchronizerConnectionConfigStore
- object SynchronizerParameterStore