c

com.digitalasset.canton.domain.config

DomainParametersConfig

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.

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).

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DomainParametersConfig
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new 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)

    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).

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 asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. val dontWarnOnDeprecatedPV: Boolean
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  10. val maxInboundMessageSize: NonNegativeInt
  11. val maxRatePerParticipant: NonNegativeInt
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. def productElementNames: Iterator[String]
    Definition Classes
    Product
  16. val protocolVersion: DomainProtocolVersion
  17. val reconciliationInterval: PositiveSeconds
  18. val requiredCryptoKeyFormats: Option[NonEmpty[Set[CryptoKeyFormat]]]
  19. val requiredEncryptionKeySchemes: Option[NonEmpty[Set[EncryptionKeyScheme]]]
  20. val requiredHashAlgorithms: Option[NonEmpty[Set[HashAlgorithm]]]
  21. val requiredSigningKeySchemes: Option[NonEmpty[Set[SigningKeyScheme]]]
  22. val requiredSymmetricKeySchemes: Option[NonEmpty[Set[SymmetricKeyScheme]]]
  23. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  24. def toStaticDomainParameters(cryptoConfig: CryptoConfig): Either[String, StaticDomainParameters]

    Converts the domain parameters config into a domain parameters protocol message.

    Converts the domain parameters config into a domain parameters protocol message.

    Sets the required crypto schemes based on the provided crypto config if they are unset in the config.

  25. val uniqueContractKeys: Boolean
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. val willCorruptYourSystemDevVersionSupport: Boolean

Deprecated Value Members

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

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped