package transaction

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. final case class DecentralizedNamespaceDefinition extends TopologyMapping with Product with Serializable

    Defines a decentralized namespace

    Defines a decentralized namespace

    authorization: whoever controls the synchronizer and all the owners of the active or observing sequencers that were not already present in the tx with serial = n - 1 exception: a sequencer can leave the consortium unilaterally as long as there are enough members to reach the threshold

  2. trait DelegatedTopologyTransactionLike[+Op <: TopologyChangeOp, +M <: TopologyMapping] extends TopologyTransactionLike[Op, M]
  3. sealed trait DelegationRestriction extends Product with Serializable

    Represents a restriction of namespace to specific mapping types.

  4. final case class DynamicSequencingParametersState(synchronizerId: SynchronizerId, parameters: DynamicSequencingParameters) extends TopologyMapping with Product with Serializable

    Dynamic sequencing parameter settings for the synchronizer

    Dynamic sequencing parameter settings for the synchronizer

    Each synchronizer has a set of sequencing parameters that can be changed at runtime. These changes are authorized by the owner of the synchronizer and distributed to all nodes accordingly.

  5. final case class GrpcConnection(endpoints: NonEmpty[Seq[Endpoint]], transportSecurity: Boolean, customTrustCertificates: Option[ByteString]) extends Product with Serializable
  6. final case class HostingParticipant(participantId: ParticipantId, permission: ParticipantPermission, onboarding: Boolean) extends Product with Serializable
  7. sealed trait KeyMapping extends Product with Serializable

    A topology mapping that maps to a set of public keys for which ownership has to be proven.

  8. final case class MediatorSynchronizerState extends TopologyMapping with Product with Serializable

    Mediator definition for a synchronizer

    Mediator definition for a synchronizer

    Each synchronizer needs at least one mediator (group), but can have multiple. Mediators can be temporarily turned off by making them observers. This way, they get informed but they don't have to reply.

  9. final case class MultiTransactionSignature(transactionHashes: NonEmpty[Set[TxHash]], signature: Signature) extends TopologyTransactionSignature with Product with Serializable

    Signature over the hash of multiple transaction.

  10. final case class NamespaceDelegation extends TopologyMapping with Product with Serializable

    A namespace delegation transaction (intermediate CA)

    A namespace delegation transaction (intermediate CA)

    Entrusts a public-key to perform changes on the namespace {(*,I) => p_k}

    The key can be restricted to only sign specific mapping types.

  11. final case class OwnerToKeyMapping extends TopologyMapping with KeyMapping with Product with Serializable

    A key owner (participant, mediator, sequencer) to key mapping

    A key owner (participant, mediator, sequencer) to key mapping

    In Canton, we need to know keys for all participating entities. The entities are all the protocol members (participant, mediator) plus the sequencer (which provides the communication infrastructure for the protocol members).

  12. final case class ParticipantAttributes(permission: ParticipantPermission, loginAfter: Option[CantonTimestamp] = None, onboarding: Boolean = false) extends Product with Serializable
  13. sealed trait ParticipantPermission extends Product with Serializable

    Permissions of a participant, i.e., things a participant can do on behalf of a party

    Permissions of a participant, i.e., things a participant can do on behalf of a party

    Permissions are hierarchical. A participant who can submit can confirm. A participant who can confirm can observe.

  14. final case class ParticipantSynchronizerLimits(confirmationRequestsMaxRate: NonNegativeInt) extends PrettyPrinting with Product with Serializable

    confirmationRequestsMaxRate

    maximum number of mediator confirmation requests sent per participant per second

  15. final case class ParticipantSynchronizerPermission(synchronizerId: SynchronizerId, participantId: ParticipantId, permission: ParticipantPermission, limits: Option[ParticipantSynchronizerLimits], loginAfter: Option[CantonTimestamp]) extends TopologyMapping with Product with Serializable
  16. final case class PartyHostingLimits(synchronizerId: SynchronizerId, partyId: PartyId) extends TopologyMapping with Product with Serializable
  17. final case class PartyToKeyMapping extends TopologyMapping with KeyMapping with Product with Serializable

    A party to key mapping

    A party to key mapping

    In Canton, we can delegate the submission authorisation to a participant node, or we can sign the transaction outside of the node with a party key. This mapping is used to map the party to a set of public keys authorized to sign submissions.

  18. final case class PartyToParticipant extends TopologyMapping with Product with Serializable
  19. final case class SequencerConnectionSuccessor(sequencerId: SequencerId, synchronizerId: SynchronizerId, connection: GrpcConnection) extends TopologyMapping with Product with Serializable
  20. final case class SequencerSynchronizerState extends TopologyMapping with Product with Serializable

    which sequencers are active on the given synchronizer

    which sequencers are active on the given synchronizer

    authorization: whoever controls the synchronizer and all the owners of the active or observing sequencers that were not already present in the tx with serial = n - 1 exception: a sequencer can leave the consortium unilaterally as long as there are enough members to reach the threshold UNIQUE(synchronizer_id)

  21. case class SignedTopologyTransaction[+Op <: TopologyChangeOp, +M <: TopologyMapping] extends HasProtocolVersionedWrapper[SignedTopologyTransaction[TopologyChangeOp, TopologyMapping]] with DelegatedTopologyTransactionLike[Op, M] with Product with Serializable with PrettyPrinting

    A signed topology transaction

    A signed topology transaction

    Every topology transaction needs to be authorized by an appropriate key. This object represents such an authorization, where there is a signature of a given key of the given topology transaction.

    Whether the key is eligible to authorize the topology transaction depends on the topology state.

    Invariant: All signatures have a different fingerprint.

    Annotations
    @SuppressWarnings()
  22. final case class SignedTopologyTransactions[+Op <: TopologyChangeOp, +M <: TopologyMapping](transactions: Seq[SignedTopologyTransaction[Op, M]])(representativeProtocolVersion: RepresentativeProtocolVersion[SignedTopologyTransactions.type]) extends HasProtocolVersionedWrapper[SignedTopologyTransactions[TopologyChangeOp, TopologyMapping]] with PrettyPrinting with Product with Serializable
  23. final case class SingleTransactionSignature(transactionHash: TxHash, signature: Signature) extends TopologyTransactionSignature with Product with Serializable

    Signature over the specific transaction hash

  24. final case class SynchronizerParametersState(synchronizerId: SynchronizerId, parameters: DynamicSynchronizerParameters) extends TopologyMapping with Product with Serializable

    Dynamic synchronizer parameter settings for the synchronizer

    Dynamic synchronizer parameter settings for the synchronizer

    Each synchronizer has a set of parameters that can be changed at runtime. These changes are authorized by the owner of the synchronizer and distributed to all nodes accordingly.

  25. final case class SynchronizerTrustCertificate(participantId: ParticipantId, synchronizerId: SynchronizerId) extends TopologyMapping with Product with Serializable

    Participant synchronizer trust certificate

  26. final case class SynchronizerUpgradeAnnouncement(successorSynchronizerId: PhysicalSynchronizerId, upgradeTime: CantonTimestamp) extends TopologyMapping with Product with Serializable
  27. sealed trait TopologyChangeOp extends Product with Serializable with PrettyPrinting

    Replace or Remove

  28. sealed trait TopologyMapping extends Product with Serializable with PrettyPrinting
  29. trait TopologyMappingChecks extends AnyRef
  30. sealed trait TopologyMappingCompanion extends Serializable

    Trait for all companion objects of topology mappings.

    Trait for all companion objects of topology mappings. This allows for a nicer console UX, because users can just refer to, for example, OwnerToKeyMapping instead of TopologyMapping.Code.OwnerToKeyMapping or OwnerToKeyMapping.code.

  31. final case class TopologyTransaction[+Op <: TopologyChangeOp, +M <: TopologyMapping] extends TopologyTransactionLike[Op, M] with ProtocolVersionedMemoizedEvidence with PrettyPrinting with HasProtocolVersionedWrapper[TopologyTransaction[TopologyChangeOp, TopologyMapping]] with Product with Serializable

    Change to the distributed synchronizer topology

    Change to the distributed synchronizer topology

    A topology transaction is a state change to the synchronizer topology. There are different types of topology states (so called mappings, because they map some id to some value).

    Each mapping has some variables and some combination of these variables makes a "unique key". Subsequent changes to that key need to have an incremental serial number.

    Topology changes always affect certain identities. Therefore, these topology transactions need to be authorized through signatures.

    An authorized transaction is called a SignedTopologyTransaction

  32. trait TopologyTransactionLike[+Op <: TopologyChangeOp, +M <: TopologyMapping] extends AnyRef
  33. sealed trait TopologyTransactionSignature extends Product with Serializable

    Trait for different types of topology transaction signatures

  34. class ValidatingTopologyMappingChecks extends TopologyMappingChecks with NamedLogging
  35. final case class VettedPackage(packageId: LfPackageId, validFromInclusive: Option[CantonTimestamp], validUntilExclusive: Option[CantonTimestamp]) extends PrettyPrinting with Product with Serializable

    Represents a package with an optional validity period.

    Represents a package with an optional validity period. No start or end means that the validity of the package is unbounded. The validity period is expected to be compared to the ledger effective time (LET) of Daml transactions.

    packageId

    the hash of the package

    validFromInclusive

    optional inclusive start of the validity period in LET

    validUntilExclusive

    optional exclusive end of the validity period in LET Note that as validFrom and validUntil are in ledger effective time, the boundaries have different semantics from topology transaction validity boundaries.

  36. final case class VettedPackages extends TopologyMapping with Product with Serializable

Value Members

  1. object DecentralizedNamespaceDefinition extends TopologyMappingCompanion
  2. object DelegationRestriction extends Serializable
  3. object DynamicSequencingParametersState extends TopologyMappingCompanion
  4. object GrpcConnection extends Serializable
  5. object HostingParticipant extends Serializable
  6. object MediatorSynchronizerState extends TopologyMappingCompanion
  7. object MultiTransactionSignature extends Serializable
  8. object NamespaceDelegation extends TopologyMappingCompanion
  9. object NoopTopologyMappingChecks extends TopologyMappingChecks
  10. object OwnerToKeyMapping extends TopologyMappingCompanion
  11. object ParticipantPermission extends Serializable
  12. object ParticipantSynchronizerLimits extends Serializable
  13. object ParticipantSynchronizerPermission extends TopologyMappingCompanion
  14. object PartyHostingLimits extends TopologyMappingCompanion
  15. object PartyToKeyMapping extends TopologyMappingCompanion
  16. object PartyToParticipant extends TopologyMappingCompanion
  17. object SequencerConnectionSuccessor extends TopologyMappingCompanion
  18. object SequencerSynchronizerState extends TopologyMappingCompanion
  19. object SignedTopologyTransaction extends VersioningCompanionContext[SignedTopologyTransaction[TopologyChangeOp, TopologyMapping], ProtocolVersionValidation] with Serializable
  20. object SignedTopologyTransactions extends VersioningCompanionContext[SignedTopologyTransactions[TopologyChangeOp, TopologyMapping], ProtocolVersionValidation] with Serializable
  21. object SynchronizerParametersState extends TopologyMappingCompanion
  22. object SynchronizerTrustCertificate extends TopologyMappingCompanion
  23. object SynchronizerUpgradeAnnouncement extends TopologyMappingCompanion
  24. object TopologyChangeOp extends Serializable
  25. object TopologyMapping extends Serializable
  26. object TopologyMappingChecks
  27. object TopologyTransaction extends VersioningCompanionMemoization[TopologyTransaction[TopologyChangeOp, TopologyMapping]] with Serializable
  28. object TopologyTransactionSignature extends Serializable
  29. object VettedPackage extends Serializable
  30. object VettedPackages extends TopologyMappingCompanion

Ungrouped