package topology
- Alphabetic
- Public
- Protected
Package Members
- package admin
- package client
- package processing
- package store
- package transaction
Type Members
- class AuthorizedTopologyManager extends LocalTopologyManager[AuthorizedStore]
- final case class ExternalPartyOnboardingDetails extends Product with Serializable
Data class containing onbarding signed topology transactions for an external party.
Data class containing onbarding signed topology transactions for an external party.
The following invariants are enforced in the create method of the companion object:
- The namespaces of all 3 transactions are consistent
- There is at least one confirming participant
- There is no participant with submission permission
- sealed abstract class ForceFlag extends AnyRef
A force flag is used to override specific safety checks in the topology manager.
- final case class ForceFlags(flags: Set[ForceFlag]) extends Product with Serializable
A container for a set of force flags to pass around.
- trait HasNamespace extends HasFingerprint
- trait HasUniqueIdentifier extends HasNamespace
- sealed trait Identity extends HasUniqueIdentifier with Product with Serializable with PrettyPrinting
Top level trait representing an identity within the system
- final case class KeyCollection(signingKeys: Seq[SigningPublicKey], encryptionKeys: Seq[EncryptionPublicKey]) extends Product with Serializable
- abstract class LocalTopologyManager[StoreId <: TopologyStoreId] extends TopologyManager[StoreId]
- final case class MediatorGroup(index: MediatorGroupIndex, active: Seq[MediatorId], passive: Seq[MediatorId], threshold: PositiveInt) extends Product with Serializable
Represents a mediator group, containing only mediators that have at least 1 signing key.
Represents a mediator group, containing only mediators that have at least 1 signing key.
- index
uniquely identifies the group, just like MediatorId for single mediators.
- active
the active mediators belonging to the group
- passive
the passive mediators belonging to the group
- threshold
the minimum size of a quorum
- final case class MediatorId(uid: UniqueIdentifier) extends Member with NodeIdentity with Product with Serializable
- sealed trait Member extends Identity with Product with Serializable
A member in a synchronizer such as a participant and or synchronizer entities
A member in a synchronizer such as a participant and or synchronizer entities
A member can be addressed and talked to on the transaction level through the sequencer.
- sealed trait MemberCode extends AnyRef
- final case class Namespace(fingerprint: Fingerprint) extends HasFingerprint with PrettyPrinting with Product with Serializable
A namespace spanned by the fingerprint of a pub-key
A namespace spanned by the fingerprint of a pub-key
This is based on the assumption that the fingerprint is unique to the public-key
- sealed trait NodeIdentity extends Identity
- final case class ParticipantId(uid: UniqueIdentifier) extends Member with NodeIdentity with Product with Serializable
A participant identifier
- final case class PartyId(uid: UniqueIdentifier) extends Identity with Product with Serializable
A party identifier based on a unique identifier
- class PartyToParticipantComputations extends NamedLogging
- final case class PendingTransactions(transactions: Seq[GenericSignedTopologyTransaction], newWatermark: CantonTimestamp) extends Product with Serializable
- class QueueBasedSynchronizerOutbox extends SynchronizerOutbox with QueueBasedSynchronizerOutboxDispatchHelper with FlagCloseable
- trait QueueBasedSynchronizerOutboxDispatchHelper extends SynchronizerOutboxDispatchHelper
- final case class SequencerGroup(active: Seq[SequencerId], passive: Seq[SequencerId], threshold: PositiveInt) extends Product with Serializable
Contains only sequencers from SequencerSynchronizerState that also have at least 1 signing key.
Contains only sequencers from SequencerSynchronizerState that also have at least 1 signing key.
When reading
threshold
, recall the contract ofSequencerSynchronizerState
: The system must tolerate up tomin(threshold - 1, (active.size - 1)/3)
malicious active sequencers. - final case class SequencerId(uid: UniqueIdentifier) extends Member with NodeIdentity with Product with Serializable
- class StoreBasedSynchronizerOutbox extends SynchronizerOutbox with SynchronizerOutboxDispatch with HasFutureSupervision with StoreBasedSynchronizerOutboxDispatchHelper
- trait StoreBasedSynchronizerOutboxDispatchHelper extends SynchronizerOutboxDispatchHelper
- final case class SynchronizerId(uid: UniqueIdentifier) extends Identity with Product with Serializable
- abstract class SynchronizerOutbox extends SynchronizerOutboxHandle
- trait SynchronizerOutboxDispatch extends NamedLogging with FlagCloseable
- trait SynchronizerOutboxDispatchHelper extends NamedLogging
- class SynchronizerOutboxDynamicObserver extends TopologyManagerObserver with NamedLogging
Dynamic version of a TopologyManagerObserver allowing observers to be dynamically added or removed while the TopologyManager stays up.
Dynamic version of a TopologyManagerObserver allowing observers to be dynamically added or removed while the TopologyManager stays up. (This is helpful for mediator node failover where synchronizer-outboxes are started and closed.)
- class SynchronizerOutboxFactory extends NamedLogging
- class SynchronizerOutboxFactorySingleCreate extends SynchronizerOutboxFactory with FlagCloseable
- trait SynchronizerOutboxHandle extends FlagCloseable
- class SynchronizerOutboxQueue extends NamedLogging
The SynchronizerOutboxQueue connects a SynchronizerTopologyManager and a
SynchronizerOutbox
.The SynchronizerOutboxQueue connects a SynchronizerTopologyManager and a
SynchronizerOutbox
. The topology manager enqueues transactions that the synchronizer outbox will pick up and send to the synchronizer to be sequenced and distributed to the nodes in the synchronizer.On the one hand, com.digitalasset.canton.topology.SynchronizerOutboxQueue#enqueue may be called at any point to add more topology transactions to the queue. On the other hand, each invocation of com.digitalasset.canton.topology.SynchronizerOutboxQueue#dequeue must be followed by either com.digitalasset.canton.topology.SynchronizerOutboxQueue#requeue or com.digitalasset.canton.topology.SynchronizerOutboxQueue#completeCycle, before com.digitalasset.canton.topology.SynchronizerOutboxQueue#dequeue is called again.
- class SynchronizerTopologyManager extends TopologyManager[SynchronizerStore]
- class TemporaryStoreRegistry extends NamedLogging with FlagCloseable
- class TemporaryTopologyManager extends LocalTopologyManager[TemporaryStore]
- abstract class TopologyManager[+StoreID <: TopologyStoreId] extends TopologyManagerStatus with NamedLogging with FlagCloseable
- sealed trait TopologyManagerError extends ContextualizedCantonError
- trait TopologyManagerObserver extends AnyRef
- trait TopologyManagerStatus extends AnyRef
- class TopologyStateProcessor extends NamedLogging
- final case class UniqueIdentifier extends HasNamespace with PrettyPrinting with Product with Serializable
a unique identifier within a namespace Based on the Ledger API PartyIds/LedgerStrings being limited to 255 characters, we allocate
a unique identifier within a namespace Based on the Ledger API PartyIds/LedgerStrings being limited to 255 characters, we allocate
- 64 + 4 characters to the namespace/fingerprint (essentially SHA256 with extra bytes),
- 2 characters as delimiters, and
- the last 185 characters for the Identifier.
Value Members
- object ExternalPartyOnboardingDetails extends Serializable
- object ForceFlag
- object ForceFlags extends Serializable
- object KeyCollection extends Serializable
- object MediatorGroup extends Serializable
- object MediatorGroupDeltaComputations
- object MediatorId extends Serializable
- object Member extends Serializable
- object MemberCode
- object Namespace extends Serializable
- object ParticipantId extends Serializable
- object PartyId extends Serializable
- object SafeSimpleString
utility class to ensure that strings conform to LF specification minus our internal delimiter
- object SequencerId extends Serializable
- object SubmissionTopologyHelper
- object SynchronizerId extends Serializable
- object TopologyManager
- object TopologyManagerError extends TopologyManagerErrorGroup
- object TopologyManagerStatus
- object TopologyStateProcessor
- object UniqueIdentifier extends Serializable