Packages

object ConfigurationErrors extends ErrorGroup

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ConfigurationErrors
  2. ErrorGroup
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

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. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. implicit val errorClass: ErrorClass
    Definition Classes
    ErrorGroup
  9. val fullClassName: String
    Definition Classes
    ErrorGroup
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. object AheadOfHead extends ErrorCode
    Annotations
    @Explanation(explanation = """This warning is logged on startup if the sequencer is configured to only start reading from a block
    |that wasn't mined yet by the blockchain (e.g. sequencer is supposed to start reading from block 500, but
    |the latest block is only 100). This is likely due to a misconfiguration.
    |"""
    )
    @Resolution(resolution = """This issue frequently occurs when the blockchain is reset but the sequencer database configuration is
    | not updated or the sequencer database (which persists the last block that was read by the sequencer) is not reset.
    | Validate these settings and ensure that the sequencer is still reading from the same blockchain. """
    )
  22. object AttemptToChangeImmutableValue extends ErrorCode
    Annotations
    @Explanation(explanation = """The sequencer smart contract has detected that a value that is immutable after being set for the first time
    | (either the signing tolerance or the topology manager ID) was attempted to be changed.
    | Most frequently this error occurs during testing when a Canton Ethereum sequencer process without persistence
    | is restarted while pointing to the same smart sequencer contract. An Ethereum sequencer attempts to set the
    | topology manager ID during initialization, however, without persistence the topology manager ID is randomly
    | regenerated on the restart which leads to the sequencer attempting to change the topology manager ID in the
    | sequencer smart contract.
    |"""
    )
    @Resolution(resolution = """Deploy a new instance of the sequencer contract and configure the Ethereum sequencer to use that instance.
    | If the errors occur because an Ethereum sequencer process is restarted without persistence, deploy a fresh
    | instance of the sequencer contract and configure persistence for restarts.
    |"""
    )
  23. object BesuVersionMismatch extends ErrorCode
    Annotations
    @Explanation(explanation = """This error is logged when the sequencer detects that the version of the Besu client
    |it connects to is not what is expected / supported.
    |"""
    )
    @Resolution(resolution = """Either deploy the documented required version or set
    |canton.parameters.non-standard-config = true."""
    )
  24. object ManyBlocksBehindHead extends ErrorCode
    Annotations
    @Explanation(explanation = """This error is logged when the sequencer is currently processing blocks that are very far behind
    |the head of the blockchain of the connected Ethereum network. The Ethereum sequencer won't observe new transactions
    |in the blockchain until it has caught up to the head. This may take a long time depending on the blockchain length
    |and number of Canton transaction in the blocks. Empirically, we have observed that the Canton sequencer
    | processes roughly 500 empty blocks/second. This may vary strongly for non-empty blocks.
    | The sequencer logs once it has caught up to within `blocksBehindBlockchainHead` blocks behind the blockchain head.
    |"""
    )
    @Resolution(resolution = """Wait until the sequencer has caught up to the head
    | of the blockchain. Alternatively, consider changing the configuration of `block-to-read-from` of the Ethereum
    | sequencer when initializing it against an Ethereum network that already mined a lot of blocks. """
    )
  25. object NotFreeGasNetwork extends ErrorCode
    Annotations
    @Explanation(explanation = """This error is logged when during setup the sequencer detects that it isn't
    |connected to a free-gas network. This usually leads to transactions silently being dropped by Ethereum nodes.
    |You should only use a non-free-gas network, if you have configured an Ethereum wallet for the sequencer to use
    |and have given it gas.
    |"""
    )
    @Resolution(resolution = """Change the configuration of the Ethereum network to a free-gas network. """)
  26. object UnableToQueryVersion extends ErrorCode
    Annotations
    @Explanation(explanation = """
    |As one of the first steps when initializing a Besu sequencer, Canton attempts to query the version (attribute)
    |of the Sequencer.sol contract.
    |"""
    )
    @Resolution(resolution = """Usually, the root cause of this is a deployment or configuration problem.
    | Ensure that a Sequencer.sol contract is deployed on the configured address on the latest block when attempting
    | to initialize the Canton Besu sequencer node. If this error persists, a malicious user may
    | be attempting to interfere with the Ethereum network.
    |"""
    )
  27. object WrongEVMBytecode extends ErrorCode
    Annotations
    @Explanation(explanation = """Canton validates on startup that the configured address on the blockchain contains the EVM bytecode of the
    | sequencer smart contract in the latest block. This error indicates that no bytecode or the wrong bytecode was found.
    | This is a serious error and means that the sequencer can't sequence events.
    |"""
    )
    @Resolution(resolution = """This frequently error occurs when updating the Canton system without updating the sequencer
    | contract deployed on the blockchain. Validate that the sequencer contract corresponding to the current Canton release
    | is deployed in the latest blockchain blocks on the configured address.
    | Another common reason for this error is that the wrong contract address was configured.
    |"""
    )

Deprecated Value Members

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

Inherited from ErrorGroup

Inherited from AnyRef

Inherited from Any

Ungrouped