object WellFormedTransaction extends Serializable
- Alphabetic
- By Inheritance
- WellFormedTransaction
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- sealed trait InvalidInput extends AnyRef
- sealed trait State extends Product with Serializable
Determines whether the IDs of created contracts in a transaction are suffixed
- type WithSuffixes = WithSuffixes.type
- type WithSuffixesAndMerged = WithSuffixesAndMerged.type
- type WithoutSuffixes = WithoutSuffixes.type
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() @HotSpotIntrinsicCandidate()
- 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() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def merge(transactionsWithRollbackScope: NonEmpty[Seq[WithRollbackScope[WellFormedTransaction[WithSuffixes]]]]): Either[String, WellFormedTransaction[WithSuffixesAndMerged]]
Merges a list of well-formed transactions into one, adjusting node IDs as necessary.
Merges a list of well-formed transactions into one, adjusting node IDs as necessary. All transactions must have the same version.
Root-level LfActionNodes with an associated rollback scope are embedded in rollback node ancestors according to this scheme: 1. Every root node is embedded in as many rollback nodes as level appear in its rollback scope. 2. Nodes with shared, non-empty rollback scope prefixes (or full matches) share the same rollback nodes (or all on fully matching rollback scopes). 3. While the lf-engine "collapses" away some rollback nodes as part of normalization, merging does not perform any normalization as the daml indexer/ReadService-consumer does not require rollback-normalized lf-transactions.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def normalizeAndAssert[S <: State](lfTransaction: LfVersionedTransaction, metadata: TransactionMetadata, state: S): WellFormedTransaction[S]
Creates a WellFormedTransaction, with the fields
optLocation
set to scala.None$ (because these fields are not preserved on serialization/deserialization).Creates a WellFormedTransaction, with the fields
optLocation
set to scala.None$ (because these fields are not preserved on serialization/deserialization).- Exceptions thrown
java.lang.IllegalArgumentException
if the given transaction is malformed after theoptLocation
have been removed.
- def normalizeAndCheck[S <: State](lfTransaction: LfVersionedTransaction, metadata: TransactionMetadata, state: S): Either[String, WellFormedTransaction[S]]
Creates a WellFormedTransaction, with the fields
optLocation
set to scala.None$ (because these fields are not preserved on serialization/deserialization).Creates a WellFormedTransaction, with the fields
optLocation
set to scala.None$ (because these fields are not preserved on serialization/deserialization).- returns
A well-formed transaction, or an error message if the transaction is not well-formed after the
optLocation
have been removed.
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def sanityCheckInputs(tx: LfVersionedTransaction): Either[InvalidInput, Unit]
Sanity check the transaction before submission for any invalid input values
Sanity check the transaction before submission for any invalid input values
Generally, the well-formedness check is used to detect faulty or malicious behaviour. This method here can be used as a pre-check during submission to filter out any user input errors.
- 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]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- object InvalidInput
- case object WithSuffixes extends State with Product with Serializable
All IDs of created contracts must have non-empty suffixes, but transaction not yet merged.
- case object WithSuffixesAndMerged extends State with Product with Serializable
All IDs of created contracts must have non-empty suffixes and transaction has been "merged".
- case object WithoutSuffixes extends State with Product with Serializable
All IDs of created contracts must have empty suffixes.