object TransactionErrors
Defines the errors raised by ContractStateMachine and its clients:
- DuplicateContractId
- DuplicateContractKey
- InconsistentContractKey
- AuthFailureDuringExecution , and classifies them into three overlapping categories:
- CreateError
- KeyInputError
- TransactionError
- Alphabetic
- By Inheritance
- TransactionErrors
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final case class AuthFailureDuringExecution(nid: NodeId, fa: FailedAuthorization) extends Serializable with Product
- final case class AuthFailureDuringExecutionTxError(authFailureDuringExecution: AuthFailureDuringExecution) extends TransactionError with Product with Serializable
- sealed trait CreateError extends Serializable with Product
The errors returned by ContractStateMachine.State.visitCreate:
The errors returned by ContractStateMachine.State.visitCreate:
- final case class DuplicateContractId(contractId: ContractId) extends Serializable with Product
Signals that the transaction tried to create two contracts with the same contract ID or tried to create a contract whose contract ID has been previously successfully fetched.
- final case class DuplicateContractIdCreateError(duplicateContractId: DuplicateContractId) extends CreateError with Product with Serializable
- final case class DuplicateContractIdKIError(duplicateContractId: DuplicateContractId) extends KeyInputError with Product with Serializable
- final case class DuplicateContractIdTxError(duplicateContractId: DuplicateContractId) extends TransactionError with Product with Serializable
- final case class DuplicateContractKey(key: GlobalKey) extends Serializable with Product
Signals that within the transaction we got to a point where two contracts with the same key were active.
Signals that within the transaction we got to a point where two contracts with the same key were active.
Note that speedy only detects duplicate key collisions if both contracts are used in the transaction in by-key operations meaning lookup, fetch or exercise-by-key or local creates.
Two notable cases that will never produce duplicate key errors is a standalone create or a create and a fetch (but not fetch-by-key) with the same key.
For ledger implementors this means that (for contract key uniqueness) it is sufficient to only look at the inputs and the outputs of the transaction while leaving all internal checks within the transaction to the engine.
- final case class DuplicateContractKeyCreateError(duplicateContractKey: DuplicateContractKey) extends CreateError with Product with Serializable
- final case class DuplicateContractKeyKIError(duplicateContractKey: DuplicateContractKey) extends KeyInputError with Product with Serializable
- final case class DuplicateContractKeyTxError(duplicateContractKey: DuplicateContractKey) extends TransactionError with Product with Serializable
- final case class InconsistentContractKey(key: GlobalKey) extends Serializable with Product
An exercise, fetch or lookupByKey failed because the mapping of key -> contract id was inconsistent with earlier nodes (in execution order).
An exercise, fetch or lookupByKey failed because the mapping of key -> contract id was inconsistent with earlier nodes (in execution order). This can happened in case of a race condition between the contract and the contract keys queried to the ledger during an interpretation.
- final case class InconsistentContractKeyKIError(inconsistentContractKey: InconsistentContractKey) extends KeyInputError with Product with Serializable
- sealed trait KeyInputError extends Serializable with Product
The errors returned by ContractStateMachine.State.handleNode and, as a consequence, HasTxNodes.contractKeyInputs (hence the name):
The errors returned by ContractStateMachine.State.handleNode and, as a consequence, HasTxNodes.contractKeyInputs (hence the name):
- sealed trait TransactionError extends Serializable with Product
Errors raised when building transactions with com.daml.lf.speedy.PartialTransaction:
Errors raised when building transactions with com.daml.lf.speedy.PartialTransaction:
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- object CreateError extends Serializable
- object KeyInputError extends Serializable
- object TransactionError extends Serializable
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated