Packages

package config

Package Members

  1. package store

Type Members

  1. final case class CommunityDomainConfig(init: InitConfig = InitConfig(), auditLogging: Boolean = false, publicApi: CommunityPublicServerConfig = CommunityPublicServerConfig(), adminApi: CommunityAdminServerConfig = CommunityAdminServerConfig(), storage: CommunityStorageConfig = CommunityStorageConfig.Memory(), crypto: CryptoConfig = CryptoConfig(), topology: TopologyConfig = TopologyConfig(), domainParameters: DomainParametersConfig = DomainParametersConfig(), sequencer: Database = CommunitySequencerConfig.Database(), serviceAgreement: Option[File] = None, timeTracker: DomainTimeTrackerConfig = DomainTimeTrackerConfig(), sequencerClient: SequencerClientConfig = SequencerClientConfig(), caching: CachingConfigs = CachingConfigs()) extends DomainConfig with CommunityLocalNodeConfig with ConfigDefaults[CommunityDomainConfig] with Product with Serializable
  2. case class CommunityPublicServerConfig(address: String = "127.0.0.1", internalPort: Option[Port] = None, tls: Option[TlsBaseServerConfig] = None, keepAliveServer: Option[KeepAliveServerConfig] = Some(KeepAliveServerConfig()), nonceExpirationTime: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMinutes(1), tokenExpirationTime: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofHours(1)) extends PublicServerConfig with CommunityServerConfig with Product with Serializable
  3. trait DomainBaseConfig extends LocalNodeConfig
  4. trait DomainConfig extends DomainBaseConfig

    Configuration parameters for a single domain.

  5. case class DomainManagerConfig(init: InitConfig = InitConfig(), auditLogging: Boolean = false, adminApi: EnterpriseAdminServerConfig = EnterpriseAdminServerConfig(), storage: EnterpriseStorageConfig = EnterpriseStorageConfig.Memory(), crypto: CryptoConfig = CryptoConfig(), topology: TopologyConfig = TopologyConfig(), domainParameters: DomainParametersConfig = DomainParametersConfig(), ccf: Option[DomainCcfConfig] = None, ccfConnection: Option[Http] = None, timeTracker: DomainTimeTrackerConfig = DomainTimeTrackerConfig(), sequencerClient: SequencerClientConfig = SequencerClientConfig(), caching: CachingConfigs = CachingConfigs()) extends DomainBaseConfig with EnterpriseLocalNodeConfig with ConfigDefaults[DomainManagerConfig] with Product with Serializable

    Configuration for a single domain manager with the following enterprise-specific config settings.

    Configuration for a single domain manager with the following enterprise-specific config settings. The domain manager node is much more lightweight than the domain node, since it does not any embedded sequencers or mediators. It only runs the topology manager and bootstrap the domain in a distributed manner via console commands.

  6. case class DomainNodeParameters(tracing: TracingConfig, delayLoggingThreshold: NonNegativeFiniteDuration, loggingConfig: LoggingConfig, logQueryCost: Option[QueryCostMonitoringConfig], enableAdditionalConsistencyChecks: Boolean, enablePreviewFeatures: Boolean, processingTimeouts: ProcessingTimeout, sequencerClient: SequencerClientConfig, cachingConfigs: CachingConfigs, nonStandardConfig: Boolean, devVersionSupport: Boolean, dontWarnOnDeprecatedPV: Boolean) extends LocalNodeParameters with Product with Serializable
  7. final case class DomainParametersConfig(reconciliationInterval: PositiveSeconds = StaticDomainParameters.defaultReconciliationInterval, maxRatePerParticipant: NonNegativeInt = StaticDomainParameters.defaultMaxRatePerParticipant, maxInboundMessageSize: NonNegativeInt = StaticDomainParameters.defaultMaxInboundMessageSize, uniqueContractKeys: Boolean = true, requiredSigningKeySchemes: Option[NonEmpty[Set[SigningKeyScheme]]] = None, requiredEncryptionKeySchemes: Option[NonEmpty[Set[EncryptionKeyScheme]]] = None, requiredSymmetricKeySchemes: Option[NonEmpty[Set[SymmetricKeyScheme]]] = None, requiredHashAlgorithms: Option[NonEmpty[Set[HashAlgorithm]]] = None, requiredCryptoKeyFormats: Option[NonEmpty[Set[CryptoKeyFormat]]] = None, protocolVersion: DomainProtocolVersion = DomainProtocolVersion( ProtocolVersion.latest ), willCorruptYourSystemDevVersionSupport: Boolean = false, dontWarnOnDeprecatedPV: Boolean = false) extends Product with Serializable

    Configuration of domain parameters that all members connecting to a domain must adhere to.

    Configuration of domain parameters that all members connecting to a domain must adhere to.

    To set these parameters, you need to be familiar with the Canton architecture. See the Canton architecture overview for further information.

    reconciliationInterval

    determines the time between sending two successive ACS commitments. Must be a multiple of 1 second.

    maxRatePerParticipant

    maximum number of messages sent per participant per second

    maxInboundMessageSize

    maximum size of messages (in bytes) that the domain can receive through the public API

    uniqueContractKeys

    When set, participants connected to this domain will check that contract keys are unique. When a participant is connected to a domain with unique contract keys support, it must not connect nor have ever been connected to any other domain.

    requiredSigningKeySchemes

    The optional required signing key schemes that a member has to support. If none is specified, all the allowed schemes are required.

    requiredEncryptionKeySchemes

    The optional required encryption key schemes that a member has to support. If none is specified, all the allowed schemes are required.

    requiredSymmetricKeySchemes

    The optional required symmetric key schemes that a member has to support. If none is specified, all the allowed schemes are required.

    requiredHashAlgorithms

    The optional required hash algorithms that a member has to support. If none is specified, all the allowed algorithms are required.

    requiredCryptoKeyFormats

    The optional required crypto key formats that a member has to support. If none is specified, all the supported algorithms are required.

    protocolVersion

    The protocol version spoken on the domain. All participants and domain nodes attempting to connect to the sequencer need to support this protocol version to connect.

    willCorruptYourSystemDevVersionSupport

    If set to true, development protocol versions (and database schemas) will be supported. Do NOT use this in production, as it will break your system.

    dontWarnOnDeprecatedPV

    If true, then this domain will not emit a warning when configured to use a deprecated protocol version (such as 2.0.0).

  8. final case class EnterpriseDomainConfig(init: InitConfig = InitConfig(), auditLogging: Boolean = false, publicApi: EnterprisePublicServerConfig = EnterprisePublicServerConfig(), adminApi: EnterpriseAdminServerConfig = EnterpriseAdminServerConfig(), storage: EnterpriseStorageConfig = EnterpriseStorageConfig.Memory(), crypto: CryptoConfig = CryptoConfig(), topology: TopologyConfig = TopologyConfig(), domainParameters: DomainParametersConfig = DomainParametersConfig(), sequencer: EnterpriseSequencerConfig = EnterpriseSequencerConfig.Database(), serviceAgreement: Option[File] = None, timeTracker: DomainTimeTrackerConfig = DomainTimeTrackerConfig(), sequencerClient: SequencerClientConfig = SequencerClientConfig(), caching: CachingConfigs = CachingConfigs()) extends DomainConfig with EnterpriseLocalNodeConfig with ConfigDefaults[EnterpriseDomainConfig] with Product with Serializable

    Configuration for a single enterprise domain with the following enterprise-specific config settings:

  9. case class EnterprisePublicServerConfig(address: String = "127.0.0.1", internalPort: Option[Port] = None, tls: Option[TlsBaseServerConfig] = None, keepAliveServer: Option[KeepAliveServerConfig] = Some(KeepAliveServerConfig()), nonceExpirationTime: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMinutes(1), tokenExpirationTime: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofHours(1), concurrencyLimit: Option[ConcurrencyLimitConfig] = None) extends PublicServerConfig with EnterpriseServerConfig with Product with Serializable
  10. trait PublicServerConfig extends ServerConfig

    The public server configuration ServerConfig used by the domain.

    The public server configuration ServerConfig used by the domain.

    TODO(i4056): Client authentication over TLS is currently unsupported, because there is a token based protocol to authenticate clients. This may change in the future.

  11. final case class RemoteDomainConfig(adminApi: ClientConfig, publicApi: Grpc, crypto: CryptoConfig = CryptoConfig()) extends NodeConfig with Product with Serializable

    Configuration parameters to connect to a domain running remotely

    Configuration parameters to connect to a domain running remotely

    adminApi

    the client settings used to connect to the admin api of the remote process.

    publicApi

    these details are provided to other nodes to use for how they should connect to the sequencer if the domain node has an embedded sequencer

    crypto

    determines the algorithms used for signing, hashing, and encryption, used on the client side for serialization.

  12. final case class RemoteDomainManagerConfig(adminApi: ClientConfig, crypto: CryptoConfig = CryptoConfig()) extends NodeConfig with Product with Serializable

    Configuration parameters to connect to a domain manager running remotely

    Configuration parameters to connect to a domain manager running remotely

    adminApi

    the client settings used to connect to the admin api of the remote process.

    crypto

    determines the algorithms used for signing, hashing, and encryption, used on the client side for serialization.

  13. final case class TopologyConfig(requireParticipantCertificate: Boolean = false, open: Boolean = true) extends Product with Serializable

    Configuration parameters for the domain topology manager.

    Configuration parameters for the domain topology manager.

    requireParticipantCertificate

    requires a participant to provide a certificate of its identity before being added to the domain.

    open

    if set to true (default), the domain is open. Anyone who is able to connect to a sequencer node can join. If false, new participants are only accepted if their ParticipantState has already been registered (equivalent to allow-listing).

Ungrouped