package store
- Alphabetic
- Public
- Protected
Type Members
- trait AcsCommitmentLookup extends AnyRef
Read interface for ACS commitments, with no usage restrictions.
- 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 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 inexistent, ActiveContractStore.Active, ActiveContractStore.Archived, or ActiveContractStore.TransferredAway, along with the timestamp of the latest change.
The active contract store (ACS) stores for every contract ID whether it is inexistent, ActiveContractStore.Active, ActiveContractStore.Archived, or ActiveContractStore.TransferredAway, along with the timestamp of the latest change. Every change is associated with the timestamp and request counter of the request that triggered the change. The changes are ordered first by timestamp, then by request counter, and finally by change type (activations before deactivations). Implementations must be thread-safe. Updates must be idempotent.
Creations, transfers, and archivals can be mixed arbitrarily. A contract may be transferred-in and -out several times during its lifetime. It becomes active with every transfer-in and transferred away with every transfer-out. 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.v2.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 ConfigurationParamsDeserializer extends AnyRef
- trait ConflictDetectionStore[K, A <: PrettyPrinting] extends PrunableByTime
Common interface for stores used by conflict detection
- trait ContractAndKeyLookup extends ContractLookup
- sealed trait ContractChange extends Product with Serializable with PrettyPrinting
- trait ContractKeyJournal extends ConflictDetectionStore[LfGlobalKey, Status]
The contract key journal determines for each com.digitalasset.canton.protocol.LfGlobalKey whether it is considered to be allocated.
The contract key journal determines for each com.digitalasset.canton.protocol.LfGlobalKey whether it is considered to be allocated. The store is organized as a journal, indexed by timestamp and request counter, so that crash recovery can remove all changes due to dirty request before replay starts.
With unique contract key semantics and honest key maintainers, the allocation status reflects whether there is an active contract in the active contract store for the given key. However, if two or more contracts with the same key have been active, this correspondence no longer needs to hold. Then, the contract key journal has the authority over the allocation status of the key.
- trait ContractLookup extends AnyRef
- trait ContractLookupAndVerification extends ContractAndKeyLookup
- sealed trait ContractLookupError extends ContractStoreError
- trait ContractStore extends ContractLookup
- 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: GlobalOffset, publicationTime: CantonTimestamp, submissionIdO: Option[LedgerSubmissionId])(traceContext: TraceContext) extends PrettyPrinting with Product with Serializable
- offset
A completion offset in the MultiDomainEventLog
- publicationTime
The publication time associated with the
offset
- traceContext
The trace context that created the completion offset.
- trait DomainAliasAndIdStore extends AutoCloseable
Keeps track of domainIds of all domains the participant has previously connected to.
- trait DomainConnectionConfigStore extends AutoCloseable
The configured domains and their connection configuration
- trait DomainParameterStore extends AnyRef
- sealed trait EventLogId extends PrettyPrinting with Product with Serializable
- class ExtendedContractLookup extends ContractLookupAndVerification
A contract lookup that adds a fixed set of contracts to a
backingContractLookup
.A contract lookup that adds a fixed set of contracts to a
backingContractLookup
.- Exceptions thrown
java.lang.IllegalArgumentException
ifadditionalContracts
stores a contract under a wrong id
- 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.v2.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 MultiDomainEventLog extends AutoCloseable
The multi domain event log merges the events from several SingleDimensionEventLogs to a single event stream.
The multi domain event log merges the events from several SingleDimensionEventLogs to a single event stream.
The underlying SingleDimensionEventLog either refer to a domain ("domain event log") or to the underlying participant ("participant event log").
Ordering guarantees: 1. Events belonging to the same SingleDimensionEventLog have the same relative order in the MultiDomainEventLog 2. Events are globally ordered such that any two (unpruned) events appear in the same relative order in different subscriptions and lookups.
- trait PackageUploaderFactory extends AnyRef
- trait ParticipantEventLog extends SingleDimensionEventLog[ParticipantEventLogId] with AutoCloseable
- class ParticipantNodeEphemeralState extends AnyRef
Some of the state of a participant that is not tied to a domain 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 domain and must survive restarts.
Some of the state of a participant that is not tied to a domain and must survive restarts. Does not cover topology stores (as they are also present for domain nodes) nor the RegisteredDomainsStore (for initialization reasons)
- trait ParticipantNodePersistentStateFactory extends AnyRef
- 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 RegisteredDomainsStore extends DomainAliasAndIdStore
- 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(rejectionReason: FinalReason) extends Product with Serializable
- final case class SerializableTransferredIn(transferIn: TransferredIn) extends Product with Serializable
- trait ServiceAgreementStore extends AutoCloseable
- trait SingleDimensionEventLog[+Id <: EventLogId] extends SingleDimensionEventLogLookup
An event log for a single domain or for a domain-independent events (such as package uploads).
An event log for a single domain or for a domain-independent events (such as package uploads). Supports out-of-order publication of events.
- trait SingleDimensionEventLogLookup extends AnyRef
Read-only interface of SingleDimensionEventLog
- final case class StateChangeType(change: ContractChange) 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 StoredContract(contract: SerializableContract, requestCounter: RequestCounter, creatingTransactionIdO: Option[TransactionId]) extends PrettyPrinting with Product with Serializable
Data to be stored for a contract.
Data to be stored for a contract.
- contract
The contract to be stored
- requestCounter
The request counter of the latest request that stored the contract.
- creatingTransactionIdO
The id of the transaction that created the contract. scala.None for divulged and witnessed contracts.
- final case class StoredDomainConnectionConfig(config: DomainConnectionConfig, status: Status) extends Product with Serializable
- trait SubmissionTrackerStore extends PrunableByTime with AutoCloseable
- class SyncDomainEphemeralState extends SyncDomainEphemeralStateLookup with NamedLogging with CloseableHealthComponent with AtomicHealthComponent
The state of a synchronization domain that is kept only in memory and must be reconstructed after crashes and fatal errors from the SyncDomainPersistentState.
The state of a synchronization domain that is kept only in memory and must be reconstructed after crashes and fatal errors from the SyncDomainPersistentState. The ephemeral state can be kept across network disconnects provided that the local processing continues as far as possible.
- trait SyncDomainEphemeralStateFactory extends AnyRef
- class SyncDomainEphemeralStateFactoryImpl extends SyncDomainEphemeralStateFactory with NamedLogging
- trait SyncDomainEphemeralStateLookup extends AnyRef
- trait SyncDomainPersistentState extends NamedLogging with AutoCloseable
The state of a synchronization domain that is independent of the connectivity to the domain.
- trait TransferLookup extends AnyRef
- trait TransferStore extends TransferLookup
- 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 ActivationsDeactivationsConsistencyCheck
- Annotations
- @SuppressWarnings()
- object ActiveContractSnapshot
- object ActiveContractStore
- object CommandDeduplicationData extends Serializable
- object CommandDeduplicationStore
- object ContractChange extends Serializable
- object ContractKeyJournal
- object ContractLookup
- object ContractLookupAndVerification
- object DamlPackageStore
- object DefiniteAnswerEvent extends Serializable
- object DomainAliasAndIdStore
- object DomainConnectionConfigStore
- object DomainParameterStore
- object EventLogId extends Serializable
- object InFlightSubmissionStore
- object MultiDomainEventLog
- object PackageUploaderFactory extends PackageUploaderFactory
- object ParticipantEventLog
- object ParticipantNodeEphemeralState
- object ParticipantNodePersistentState extends HasLoggerName
- object ParticipantNodePersistentStateFactory extends ParticipantNodePersistentStateFactory
- object ParticipantPruningSchedulerStore
- object ParticipantPruningStore
- object ParticipantSettingsStore
- object RegisteredDomainsStore
- object SerializableCompletionInfo extends Serializable
- object SerializableRejectionReasonTemplate extends Serializable
- object ServiceAgreementStore
- object SingleDimensionEventLog
- object StoredContract extends Serializable
- object SyncDomainEphemeralState
- object SyncDomainEphemeralStateFactory
- object SyncDomainPersistentState
- object TransferStore