t

com.digitalasset.canton.topology.client

TopologySnapshotLoader

trait TopologySnapshotLoader extends TopologySnapshot with PartyTopologySnapshotLoader with BaseTopologySnapshotClient with ParticipantTopologySnapshotLoader with KeyTopologySnapshotClientLoader with VettedPackagesSnapshotLoader with SynchronizerGovernanceSnapshotLoader with NamedLogging

Loading interface with a more optimal method to read data from a store

The topology information is stored in a particular way. In order to optimise loading and caching of the data, we use such loader interfaces, such that we can optimise caching and loading of the data while still providing a good and convenient access to the topology information.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TopologySnapshotLoader
  2. NamedLogging
  3. SynchronizerGovernanceSnapshotLoader
  4. VettedPackagesSnapshotLoader
  5. VettedPackagesLoader
  6. KeyTopologySnapshotClientLoader
  7. ParticipantTopologySnapshotLoader
  8. PartyTopologySnapshotLoader
  9. PartyTopologySnapshotBaseClient
  10. TopologySnapshot
  11. SynchronizerUpgradeClient
  12. MembersTopologySnapshotClient
  13. SynchronizerGovernanceSnapshotClient
  14. SequencerSynchronizerStateClient
  15. MediatorSynchronizerStateClient
  16. VettedPackagesSnapshotClient
  17. KeyTopologySnapshotClient
  18. ParticipantTopologySnapshotClient
  19. BaseTopologySnapshotClient
  20. PartyTopologySnapshotClient
  21. AnyRef
  22. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def allKeys(members: Seq[Member])(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[Member, KeyCollection]]
    Definition Classes
    KeyTopologySnapshotClientLoader
  2. abstract def allKeys(owner: Member)(implicit traceContext: TraceContext): FutureUnlessShutdown[KeyCollection]

    abstract loading function used to obtain the full key collection for a key owner

    abstract loading function used to obtain the full key collection for a key owner

    Definition Classes
    KeyTopologySnapshotClientLoader
  3. abstract def allMembers()(implicit traceContext: TraceContext): FutureUnlessShutdown[Set[Member]]

    Convenience method to determine all members with isMemberKnown.

    Convenience method to determine all members with isMemberKnown.

    Definition Classes
    MembersTopologySnapshotClient
  4. abstract def areMembersKnown(members: Set[Member])(implicit traceContext: TraceContext): FutureUnlessShutdown[Set[Member]]

    Convenience method to check isMemberKnown for several members.

    Convenience method to check isMemberKnown for several members.

    Definition Classes
    MembersTopologySnapshotClient
  5. implicit abstract def executionContext: ExecutionContext
    Attributes
    protected
    Definition Classes
    BaseTopologySnapshotClient
  6. abstract def findDynamicSequencingParameters()(implicit traceContext: TraceContext): FutureUnlessShutdown[Either[String, DynamicSequencingParametersWithValidity]]
  7. abstract def findDynamicSynchronizerParameters()(implicit traceContext: TraceContext): FutureUnlessShutdown[Either[String, DynamicSynchronizerParametersWithValidity]]
  8. abstract def inspectKeys(filterOwner: String, filterOwnerType: Option[MemberCode], limit: Int)(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[Member, KeyCollection]]

    Returns a list of all known keys on this synchronizer

    Returns a list of all known keys on this synchronizer

    Definition Classes
    KeyTopologySnapshotClient
  9. abstract def inspectKnownParties(filterParty: String, filterParticipant: String)(implicit traceContext: TraceContext): FutureUnlessShutdown[Set[PartyId]]

    Returns a list of all known parties on this synchronizer.

    Returns a list of all known parties on this synchronizer.

    Definition Classes
    PartyTopologySnapshotClient
  10. abstract def isMemberKnown(member: Member)(implicit traceContext: TraceContext): FutureUnlessShutdown[Boolean]

    Determines if a member is known on the synchronizer (through a SynchronizerTrustCertificate, MediatorSynchronizerState, or SequencerSynchronizerState).

    Determines if a member is known on the synchronizer (through a SynchronizerTrustCertificate, MediatorSynchronizerState, or SequencerSynchronizerState). Note that a "known" member is not necessarily authorized to use the synchronizer.

    Definition Classes
    MembersTopologySnapshotClient
  11. abstract def listDynamicSynchronizerParametersChanges()(implicit traceContext: TraceContext): FutureUnlessShutdown[Seq[DynamicSynchronizerParametersWithValidity]]

    List all the dynamic synchronizer parameters (past and current)

    List all the dynamic synchronizer parameters (past and current)

    Definition Classes
    SynchronizerGovernanceSnapshotClient
  12. abstract def loadParticipantStates(participants: Seq[ParticipantId])(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[ParticipantId, ParticipantAttributes]]

    Loads the participant state for the given set of participant ids.

    Loads the participant state for the given set of participant ids. The result covers only active participants, i.e., only participants with SynchronizerTrustCertificates, ParticipantSynchronizerPermission (if the synchronizer is restricted), and signing and encryption keys.

    Definition Classes
    ParticipantTopologySnapshotLoader
  13. abstract def loadVettedPackages(participants: Set[ParticipantId])(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[ParticipantId, Map[PackageId, VettedPackage]]]
    Definition Classes
    VettedPackagesLoader
  14. abstract def loadVettedPackages(participant: ParticipantId)(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[PackageId, VettedPackage]]
    Definition Classes
    VettedPackagesLoader
  15. abstract def loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    NamedLogging
  16. abstract def mediatorGroups()(implicit traceContext: TraceContext): FutureUnlessShutdown[Seq[MediatorGroup]]
  17. abstract def memberFirstKnownAt(member: Member)(implicit traceContext: TraceContext): FutureUnlessShutdown[Option[(SequencedTime, EffectiveTime)]]
  18. abstract def sequencerConnectionSuccessors()(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[SequencerId, SequencerConnectionSuccessor]]

    Returns the known sequencer connection details for the successor synchronizer as published by the sequencers.

    Returns the known sequencer connection details for the successor synchronizer as published by the sequencers.

    Definition Classes
    SynchronizerUpgradeClient
  19. abstract def sequencerGroup()(implicit traceContext: TraceContext): FutureUnlessShutdown[Option[SequencerGroup]]

    The returned sequencer group contains all sequencers that

    The returned sequencer group contains all sequencers that

    • are mentioned in the SequencerSynchronizerState topology transaction and
    • have at least 1 signing key
    Definition Classes
    SequencerSynchronizerStateClient
  20. abstract def signingKeysWithThreshold(party: PartyId)(implicit traceContext: TraceContext): FutureUnlessShutdown[Option[SigningKeysWithThreshold]]

    Returns party authorization info for a party.

    Returns party authorization info for a party. Keys defined in the PartyToParticipant mapping take precedence over keys defined in PartyToKeyMapping.

    Definition Classes
    KeyTopologySnapshotClient
  21. abstract def synchronizerUpgradeOngoing()(implicit traceContext: TraceContext): FutureUnlessShutdown[Option[(SynchronizerSuccessor, EffectiveTime)]]

    In case the synchronizer owners have announced a synchronizer upgrade, returns the physical synchronizer id of the successor of this synchronizer and the upgrade time.

    In case the synchronizer owners have announced a synchronizer upgrade, returns the physical synchronizer id of the successor of this synchronizer and the upgrade time. Otherwise, returns None.

    Definition Classes
    SynchronizerUpgradeClient
  22. abstract def timestamp: CantonTimestamp

    The official timestamp corresponding to this snapshot

    The official timestamp corresponding to this snapshot

    Definition Classes
    BaseTopologySnapshotClient

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def activeParticipantsOf(party: LfPartyId)(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[ParticipantId, ParticipantAttributes]]

    Returns the set of active participants the given party is represented by as of the snapshot timestamp

    Returns the set of active participants the given party is represented by as of the snapshot timestamp

    Should never return a PartyParticipantRelationship where ParticipantPermission is DISABLED.

    Definition Classes
    PartyTopologySnapshotLoader → PartyTopologySnapshotClient
  5. def activeParticipantsOfAll(parties: List[LfPartyId])(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, Set[LfPartyId], Set[ParticipantId]]
    Definition Classes
    PartyTopologySnapshotBaseClient
  6. final def activeParticipantsOfParties(parties: Seq[LfPartyId])(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[LfPartyId, Set[ParticipantId]]]

    Load the set of active participants for the given parties

    Load the set of active participants for the given parties

    Definition Classes
    PartyTopologySnapshotLoader → PartyTopologySnapshotClient
  7. final def activeParticipantsOfPartiesWithInfo(parties: Seq[LfPartyId])(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[LfPartyId, PartyInfo]]
    Definition Classes
    PartyTopologySnapshotLoader → PartyTopologySnapshotClient
  8. def allHaveActiveParticipants(parties: Set[LfPartyId], check: (ParticipantAttributes) => Boolean = _ => true)(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, Set[LfPartyId], Unit]
    Definition Classes
    PartyTopologySnapshotBaseClient
  9. def allHostedOn(partyIds: Set[LfPartyId], participantId: ParticipantId, permissionCheck: (ParticipantAttributes) => Boolean = _ => true)(implicit traceContext: TraceContext): FutureUnlessShutdown[Boolean]
    Definition Classes
    PartyTopologySnapshotBaseClient
  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. def canConfirm(participant: ParticipantId, parties: Set[LfPartyId])(implicit traceContext: TraceContext): FutureUnlessShutdown[Set[LfPartyId]]
    Definition Classes
    PartyTopologySnapshotBaseClient
  12. final def canNotSubmit(participant: ParticipantId, parties: Seq[LfPartyId])(implicit traceContext: TraceContext): FutureUnlessShutdown[Iterable[LfPartyId]]

    Returns the subset of parties the given participant can NOT submit on behalf of

    Returns the subset of parties the given participant can NOT submit on behalf of

    Definition Classes
    PartyTopologySnapshotLoader → PartyTopologySnapshotClient
  13. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  14. final def determinePackagesWithNoVettingEntry(participantId: ParticipantId, packageIds: Set[PackageId])(implicit traceContext: TraceContext): FutureUnlessShutdown[Set[PackageId]]

    Checks the vetting state for the given packages and returns the packages that have no entry in the participant's VettedPackages topology transactions.

    Checks the vetting state for the given packages and returns the packages that have no entry in the participant's VettedPackages topology transactions. Note: this does not check the vetted packages for their validity period, but simply for their existence in the mapping.

    participantId

    the participant for which we want to check the package vettings

    packageIds

    the set of packages to check

    returns

    the packages that have no entry in the participant's VettedPackages mapping

    Definition Classes
    VettedPackagesSnapshotLoaderVettedPackagesSnapshotClient
  15. def encryptionKey(members: Seq[Member])(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[Member, EncryptionPublicKey]]

    returns the newest encryption public key

    returns the newest encryption public key

    Definition Classes
    KeyTopologySnapshotClientLoader → KeyTopologySnapshotClient
  16. def encryptionKey(owner: Member)(implicit traceContext: TraceContext): FutureUnlessShutdown[Option[EncryptionPublicKey]]

    returns newest encryption public key

    returns newest encryption public key

    Definition Classes
    KeyTopologySnapshotClientLoader → KeyTopologySnapshotClient
  17. def encryptionKeys(members: Seq[Member])(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[Member, Seq[EncryptionPublicKey]]]
    Definition Classes
    KeyTopologySnapshotClientLoader → KeyTopologySnapshotClient
  18. def encryptionKeys(owner: Member)(implicit traceContext: TraceContext): FutureUnlessShutdown[Seq[EncryptionPublicKey]]

    returns all encryption keys

    returns all encryption keys

    Definition Classes
    KeyTopologySnapshotClientLoader → KeyTopologySnapshotClient
  19. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  21. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  22. def findDynamicSynchronizerParametersOrDefault(protocolVersion: ProtocolVersion, warnOnUsingDefault: Boolean = true)(implicit traceContext: TraceContext): FutureUnlessShutdown[DynamicSynchronizerParameters]
  23. final def findParticipantState(participantId: ParticipantId)(implicit traceContext: TraceContext): FutureUnlessShutdown[Option[ParticipantAttributes]]
    Definition Classes
    ParticipantTopologySnapshotLoader
  24. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  25. def hasNoConfirmer(parties: Set[LfPartyId])(implicit traceContext: TraceContext): FutureUnlessShutdown[Set[LfPartyId]]
    Definition Classes
    PartyTopologySnapshotBaseClient
  26. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. def hostedOn(partyIds: Set[LfPartyId], participantId: ParticipantId)(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[LfPartyId, ParticipantAttributes]]
    Definition Classes
    PartyTopologySnapshotBaseClient
  28. def isHostedByAtLeastOneParticipantF(parties: Set[LfPartyId], check: (LfPartyId, ParticipantAttributes) => Boolean)(implicit traceContext: TraceContext): FutureUnlessShutdown[Set[LfPartyId]]
    Definition Classes
    PartyTopologySnapshotBaseClient
  29. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  30. def isMediatorActive(mediator: MediatorGroupRecipient)(implicit traceContext: TraceContext): FutureUnlessShutdown[Boolean]
  31. def isMediatorActive(mediatorId: MediatorId)(implicit traceContext: TraceContext): FutureUnlessShutdown[Boolean]

    Returns true if

    Returns true if

    • the mediator is a member of a mediator group with num_active_sequencers >= threshold
    • the mediator has an OwnerToKeyMapping with at least 1 signing key
    Definition Classes
    MediatorSynchronizerStateClient
  32. def isParticipantActive(participantId: ParticipantId)(implicit traceContext: TraceContext): FutureUnlessShutdown[Boolean]

    Checks whether the provided participant exists and is active.

    Checks whether the provided participant exists and is active. Active means:

    1. The participant has a SynchronizerTrustCertificate. 2. The synchronizer is either unrestricted or there is a ParticipantSynchronizerPermission for the participant. 3. The participant has an OwnerToKeyMapping with signing and encryption keys.
    Definition Classes
    ParticipantTopologySnapshotLoader → ParticipantTopologySnapshotClient
  33. def isParticipantActiveAndCanLoginAt(participantId: ParticipantId, timestamp: CantonTimestamp)(implicit traceContext: TraceContext): FutureUnlessShutdown[Boolean]

    Checks whether the provided participant exists, is active and can login at the given point in time

    Checks whether the provided participant exists, is active and can login at the given point in time

    (loginAfter is before timestamp)

    Definition Classes
    ParticipantTopologySnapshotLoader → ParticipantTopologySnapshotClient
  34. def isSequencerActive(sequencerId: SequencerId)(implicit traceContext: TraceContext): FutureUnlessShutdown[Boolean]

    Returns true if

    Returns true if

    • the sequencer is a member of the sequencer group
    • the sequencer has an OwnerToKeyMapping with at least 1 signing key
    Definition Classes
    SequencerSynchronizerStateClient
  35. final def loadUnvettedPackagesOrDependencies(participantId: ParticipantId, packages: Set[PackageId], ledgerTime: CantonTimestamp)(implicit traceContext: TraceContext): FutureUnlessShutdown[UnknownOrUnvettedPackages]

    Returns the set of packages that are not vetted by the given participant

    Returns the set of packages that are not vetted by the given participant

    participantId

    the participant for which we want to check the package vettings

    packages

    the set of packages that should be vetted

    returns

    Right the set of unvetted packages (which is empty if all packages are vetted) Left if a package is missing locally such that we can not verify the vetting state of the package dependencies

    Definition Classes
    VettedPackagesSnapshotLoaderVettedPackagesSnapshotClient
  36. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  37. def mediatorGroup(index: MediatorGroupIndex)(implicit traceContext: TraceContext): FutureUnlessShutdown[Option[MediatorGroup]]
  38. def mediatorGroupsOfAll(groups: Seq[MediatorGroupIndex])(implicit traceContext: TraceContext): EitherT[FutureUnlessShutdown, Seq[MediatorGroupIndex], Seq[MediatorGroup]]
  39. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  40. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  41. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  42. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  43. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  44. def participantsWithSupportedFeature(participants: Set[ParticipantId], feature: ParticipantTopologyFeatureFlag)(implicit traceContext: TraceContext): FutureUnlessShutdown[Set[ParticipantId]]
    Definition Classes
    ParticipantTopologySnapshotLoader → ParticipantTopologySnapshotClient
  45. def referenceTime: CantonTimestamp

    Internally used reference time (representing when the last change happened that affected this snapshot)

    Internally used reference time (representing when the last change happened that affected this snapshot)

    Definition Classes
    BaseTopologySnapshotClient
  46. def signingKeys(members: Seq[Member], filterUsage: NonEmpty[Set[SigningKeyUsage]])(implicit traceContext: TraceContext): FutureUnlessShutdown[Map[Member, Seq[SigningPublicKey]]]
    Definition Classes
    KeyTopologySnapshotClientLoader → KeyTopologySnapshotClient
  47. def signingKeys(owner: Member, filterUsage: NonEmpty[Set[SigningKeyUsage]])(implicit traceContext: TraceContext): FutureUnlessShutdown[Seq[SigningPublicKey]]

    Retrieves the signing keys for a given owner, filtering them based on the provided usage set.

    Retrieves the signing keys for a given owner, filtering them based on the provided usage set.

    owner

    The owner whose signing keys are being queried.

    filterUsage

    A non-empty set of usages to filter the signing keys by. At least one usage from this set must match with the key's usage.

    Definition Classes
    KeyTopologySnapshotClientLoader → KeyTopologySnapshotClient
  48. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  49. def toString(): String
    Definition Classes
    AnyRef → Any
  50. def trafficControlParameters(protocolVersion: ProtocolVersion, warnOnUsingDefault: Boolean = true)(implicit tc: TraceContext): FutureUnlessShutdown[Option[TrafficControlParameters]]
  51. def vettedPackages(participantId: ParticipantId)(implicit traceContext: TraceContext): FutureUnlessShutdown[Set[VettedPackage]]

    returns

    all vetted packages

    Definition Classes
    VettedPackagesSnapshotLoaderVettedPackagesSnapshotClient
  52. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  53. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  54. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from NamedLogging

Inherited from VettedPackagesLoader

Inherited from KeyTopologySnapshotClientLoader

Inherited from ParticipantTopologySnapshotLoader

Inherited from PartyTopologySnapshotLoader

Inherited from PartyTopologySnapshotBaseClient

Inherited from TopologySnapshot

Inherited from AnyRef

Inherited from Any

Ungrouped