package data
- Alphabetic
- Public
- Protected
Type Members
- sealed trait ActionDescription extends Product with Serializable with PrettyPrinting with HasProtoV0[protocol.v0.ActionDescription]
Summarizes the information that is needed in addition to the other fields of ViewParticipantData for determining the root action of a view.
- case class AssignedKey(contractId: LfContractId)(version: LfTransactionVersion) extends KeyResolution with Product with Serializable
- case class BlindedNode[+A](rootHash: RootHash) extends MerkleTree[A] with Product with Serializable
A blinded node of a Merkle tree.
A blinded node of a Merkle tree. Has no subtrees, as they are all blinded.
- case class CantonTimestamp(underlying: LfTimestamp) extends Ordered[CantonTimestamp] with Timestamp with Product with Serializable
A timestamp implementation for canton, which currently uses a LfTimestamp.
A timestamp implementation for canton, which currently uses a LfTimestamp.
- underlying
A LfTimestamp, holding the value of this CantonTimestamp.
- sealed abstract case class CantonTimestampSecond extends Ordered[CantonTimestampSecond] with Timestamp with NoCopy with Product with Serializable
A timestamp implementation for canton, which currently uses a LfTimestamp, which is rounded to the second.
- case class CommonMetadata extends MerkleTreeLeaf[CommonMetadata] with HasVersionedWrapper[VersionedCommonMetadata] with MemoizedEvidence with NoCopy with Product with Serializable
Information concerning every member involved in the underlying transaction.
- case class ConfirmingParty(party: LfPartyId, weight: Int) extends Informee with Product with Serializable
A party that must confirm the underlying view.
A party that must confirm the underlying view.
- weight
determines the impact of the party on whether the view is approved.
- Exceptions thrown
com.digitalasset.canton.data.Informee$.InvalidInformee
ifweight
is not positive
- case class FreeKey(maintainers: Set[LfPartyId])(version: LfTransactionVersion) extends KeyResolution with Product with Serializable
- case class FullInformeeTree(tree: GenTransactionTree) extends HasVersionedWrapper[VersionedFullInformeeTree] with HasProtoV0[protocol.v0.FullInformeeTree] with PrettyPrinting with Product with Serializable
Wraps a GenTransactionTree that is also a full informee tree.
Wraps a GenTransactionTree that is also a full informee tree.
- Exceptions thrown
InformeeTree$.InvalidInformeeTree
iftree
is not a valid informee tree (i.e. the wrong nodes are blinded)
- case class FullTransferInTree(tree: TransferInViewTree) extends ViewTree with HasVersionedToByteString with PrettyPrinting with Product with Serializable
A fully unblinded TransferInViewTree
A fully unblinded TransferInViewTree
- Exceptions thrown
java.lang.IllegalArgumentException
if the tree is not fully unblinded
- case class FullTransferOutTree(tree: TransferOutViewTree) extends ViewTree with HasVersionedToByteString with PrettyPrinting with Product with Serializable
A fully unblinded TransferOutViewTree
A fully unblinded TransferOutViewTree
- Exceptions thrown
java.lang.IllegalArgumentException
if the tree is not fully unblinded
- case class GenTransactionTree(submitterMetadata: MerkleTree[SubmitterMetadata], commonMetadata: MerkleTree[CommonMetadata], participantMetadata: MerkleTree[ParticipantMetadata], rootViews: MerkleSeq[TransactionView])(hashOps: HashOps) extends MerkleTreeInnerNode[GenTransactionTree] with HasProtoV0[protocol.v0.GenTransactionTree] with Product with Serializable
Partially blinded version of a transaction tree.
Partially blinded version of a transaction tree. This class is also used to represent transaction view trees and informee trees.
- Annotations
- @SuppressWarnings()
- Exceptions thrown
GenTransactionTree$.InvalidGenTransactionTree
if two subtrees have the same root hash
- abstract class GenTransferViewTree[CommonData <: HasCryptographicEvidence, View <: HasCryptographicEvidence, Tree, MediatorMessage] extends MerkleTreeInnerNode[Tree] with HasVersionedWrapper[VersionedTransferViewTree] with HasProtoV0[TransferViewTree]
A transfer request tree has two children: The
commonData
for the mediator and the involved participants and theview
only for the involved participants. - sealed trait Informee extends Product with Serializable with HasProtoV0[protocol.v0.Informee] with PrettyPrinting
A party that must be informed about the view.
- case class InformeeTree(tree: GenTransactionTree) extends HasVersionedWrapper[VersionedInformeeTree] with HasProtoV0[protocol.v0.InformeeTree] with Product with Serializable
Encapsulates a GenTransactionTree that is also an informee tree.
Encapsulates a GenTransactionTree that is also an informee tree.
- Exceptions thrown
InformeeTree$.InvalidInformeeTree
iftree
is not a valid informee tree (i.e. the wrong nodes are blinded)
- sealed trait KeyResolution extends Product with Serializable with PrettyPrinting
- case class LightTransactionViewTree(tree: GenTransactionTree) extends ViewTree with HasProtoV0[protocol.v0.LightTransactionViewTree] with HasVersionedWrapper[VersionedLightTransactionViewTree] with PrettyPrinting with Product with Serializable
Wraps a
GenTransactionTree
where exactly one view (not including subviews) is unblinded.Wraps a
GenTransactionTree
where exactly one view (not including subviews) is unblinded. ThecommonMetadata
andparticipantMetadata
are also unblinded. ThesubmitterMetadata
is unblinded if and only if the unblinded view is a root view.- Exceptions thrown
LightTransactionViewTree$.InvalidLightTransactionViewTree
if tree is not a light transaction view tree (i.e. the wrong set of nodes is blinded)
- case class MerkleSeq[+M <: MerkleTree[_] with HasVersionedToByteString](rootOrEmpty: Option[MerkleTree[MerkleSeqElement[M]]])(hashOps: HashOps) extends HasProtoV0[protocol.v0.MerkleSeq] with PrettyPrinting with Product with Serializable
Wraps a sequence that is also a MerkleTree.
Wraps a sequence that is also a MerkleTree. Elements are arranged in a balanced binary tree. As a result, if all except one element are blinded, the resulting MerkleSeq has size logarithmic in the size of the fully unblinded MerkleSeq.
- M
the type of elements
- rootOrEmpty
the root element or
None
if the sequence is empty
- trait MerkleTree[+A] extends Product with Serializable with PrettyPrinting
Encapsulate a Merkle tree.
Encapsulate a Merkle tree. Every node has an arbitrary number of children. Every node has a
rootHash
.Every node may be blinded, i.e., the
rootHash
remains, but the children are removed. TherootHash
does not change if some children are blinded.- A
the runtime type of the class that actually implements this instance of
MerkleTree
. I.e., a proper implementation of this trait must be declared likeclass MyMerkleTree extends MerkleTree[MyMerkleTree]
.
- abstract class MerkleTreeInnerNode[+A] extends MerkleTree[A]
An inner node of a Merkle tree.
An inner node of a Merkle tree. Has no data, no salt, and an arbitrary number of subtrees. An inner node is considered unblinded.
- abstract class MerkleTreeLeaf[+A <: HasCryptographicEvidence] extends MerkleTree[A]
A leaf of a Merkle tree.
A leaf of a Merkle tree. Has data, a salt, and no children. A leaf is considered unblinded.
- case class ParticipantMetadata extends MerkleTreeLeaf[ParticipantMetadata] with HasVersionedWrapper[VersionedParticipantMetadata] with MemoizedEvidence with NoCopy with Product with Serializable
Information concerning every participant involved in the underlying transaction.
- case class ParticipantTransactionView extends NoCopy with Product with Serializable
Tags transaction views where all the view metadata are visible (such as in the views sent to participants).
Tags transaction views where all the view metadata are visible (such as in the views sent to participants).
Note that the subviews and their metadata are not guaranteed to be visible.
- trait PeanoQueue[K, V] extends AnyRef
A Peano priority queue is a mutable priority queue of key-value pairs with ordered keys, starting from an index called the head, where pairs may be added in any order, but are polled strictly in their natural sequence.
A Peano priority queue is a mutable priority queue of key-value pairs with ordered keys, starting from an index called the head, where pairs may be added in any order, but are polled strictly in their natural sequence. The order on keys must be a linear sequence, i.e., isomorphic to the order on a possibly unbounded interval of the integers. If the priority queue is missing a key from the sequence, we cannot poll that key until a key-value pair for that key is added.
For example, in a priority queue with head 1, the keys polled are 1, then 2, then 3, etc.
The head index is mutable, and increments each time the priority queue is successfully polled. Keys are unique and their value associations may not be modified.
- K
The type of keys
- V
The type of values
- class PeanoTreeQueue[V] extends PeanoQueue[Long, V]
Implementation of PeanoQueue for java.lang.Long keys based on a tree map.
Implementation of PeanoQueue for java.lang.Long keys based on a tree map.
This implementation is not thread safe.
- Annotations
- @SuppressWarnings()
- case class PlainInformee(party: LfPartyId) extends Informee with Product with Serializable
An informee that is not a confirming party
- case class SubmitterMetadata extends MerkleTreeLeaf[SubmitterMetadata] with HasVersionedWrapper[VersionedSubmitterMetadata] with MemoizedEvidence with NoCopy with Product with Serializable
Information about the submitters of the transaction
- class SynchronizedPeanoTreeQueue[V] extends PeanoQueue[Long, V]
A thread-safe PeanoTreeQueue thanks to synchronizing all methods
- class TaskScheduler[Task <: TimedTask] extends NamedLogging with FlagCloseableAsync
The task scheduler manages tasks with associated timestamps and sequencer counters.
The task scheduler manages tasks with associated timestamps and sequencer counters. Tasks may be inserted in any order; they will be executed nevertheless in the correct order given by the timestamps.
The tasks execute sequentially in scala.concurrent.Future.
- trait TaskSchedulerMetrics extends AnyRef
- trait Timestamp extends PrettyPrinting
- case class TransactionView extends MerkleTreeInnerNode[TransactionView] with HasVersionedToByteString with HasProtoV0[ViewNode] with NoCopy with Product with Serializable
Encapsulates a subaction of the underlying transaction.
Encapsulates a subaction of the underlying transaction.
- Annotations
- @SuppressWarnings()
- Exceptions thrown
TransactionView$.InvalidView
if theviewCommonData
is unblinded and equals theviewCommonData
of a direct subview
- sealed trait TransactionViewDecomposition extends Product with Serializable
Wrapper type for elements of a view decomposition
- case class TransactionViewTree(tree: GenTransactionTree) extends ViewTree with PrettyPrinting with Product with Serializable
Wraps a
GenTransactionTree
where exactly one view (including subviews) is unblinded.Wraps a
GenTransactionTree
where exactly one view (including subviews) is unblinded. ThecommonMetadata
andparticipantMetadata
are also unblinded. ThesubmitterMetadata
is unblinded if and only if the unblinded view is a root view.- Exceptions thrown
TransactionViewTree$.InvalidTransactionViewTree
if tree is not a transaction view tree (i.e. the wrong set of nodes is blinded)
- case class TransferInCommonData extends MerkleTreeLeaf[TransferInCommonData] with HasVersionedWrapper[VersionedTransferInCommonData] with MemoizedEvidence with NoCopy with Product with Serializable
Aggregates the data of a transfer-in request that is sent to the mediator and the involved participants.
- case class TransferInView extends MerkleTreeLeaf[TransferInView] with HasVersionedWrapper[VersionedTransferInView] with MemoizedEvidence with NoCopy with Product with Serializable
Aggregates the data of a transfer-in request that is only sent to the involved participants
- case class TransferInViewTree(commonData: MerkleTree[TransferInCommonData], view: MerkleTree[TransferInView])(hashOps: HashOps) extends GenTransferViewTree[TransferInCommonData, TransferInView, TransferInViewTree, TransferInMediatorMessage] with Product with Serializable
A blindable Merkle tree for transfer-in requests
- case class TransferOutCommonData extends MerkleTreeLeaf[TransferOutCommonData] with HasVersionedWrapper[VersionedTransferOutCommonData] with MemoizedEvidence with NoCopy with Product with Serializable
Aggregates the data of a transfer-out request that is sent to the mediator and the involved participants.
- case class TransferOutView extends MerkleTreeLeaf[TransferOutView] with HasVersionedWrapper[VersionedTransferOutView] with MemoizedEvidence with NoCopy with Product with Serializable
Aggregates the data of a transfer-out request that is only sent to the involved participants
- case class TransferOutViewTree(commonData: MerkleTree[TransferOutCommonData], view: MerkleTree[TransferOutView])(hashOps: HashOps) extends GenTransferViewTree[TransferOutCommonData, TransferOutView, TransferOutViewTree, TransferOutMediatorMessage] with Product with Serializable
A blindable Merkle tree for transfer-out requests
- case class ViewCommonData extends MerkleTreeLeaf[ViewCommonData] with MemoizedEvidence with HasVersionedWrapper[VersionedViewCommonData] with HasProtoV0[protocol.v0.ViewCommonData] with NoCopy with Product with Serializable
Information concerning every member involved in processing the underlying view.
Information concerning every member involved in processing the underlying view.
- Exceptions thrown
ViewCommonData$.InvalidViewCommonData
ifthreshold
is negative
- case class ViewParticipantData extends MerkleTreeLeaf[ViewParticipantData] with HasVersionedWrapper[VersionedViewParticipantData] with MemoizedEvidence with NoCopy with Product with Serializable
Information concerning every participant involved in processing the underlying view.
Information concerning every participant involved in processing the underlying view.
- Exceptions thrown
ViewParticipantData$.InvalidViewParticipantData
if createdCore contains two elements with the same contract id, if coreInputs(id).contractId != id
if archivedFromSubviews overlaps with createdCore's ids or coreInputs if coreInputs does not contain the resolved contract ids of resolvedKeys if the actionDescription is a com.digitalasset.canton.data.ActionDescription.CreateActionDescription and the created id is not the first contract ID in createdCore if the actionDescription is a com.digitalasset.canton.data.ActionDescription.ExerciseActionDescription or com.digitalasset.canton.data.ActionDescription.FetchActionDescription and the input contract is not in coreInputs if the actionDescription is a com.digitalasset.canton.data.ActionDescription.LookupByKeyActionDescription and the key is not in resolvedKeys.com.digitalasset.canton.serialization.SerializationCheckFailed
if this instance cannot be serialized
- final case class ViewPosition(position: List[MerklePathElement]) extends AnyVal with Product with Serializable
A position encodes the path from a view in a transaction tree to its root.
A position encodes the path from a view in a transaction tree to its root. The encoding must not depend on the hashes of the nodes.
- position
The path from the view to the root as a singly-linked list. The path starts at the view rather than the root so that paths to the root can be shared.
- trait ViewTree extends PrettyPrinting
Common supertype of all view trees that are sent as com.digitalasset.canton.protocol.messages.EncryptedViewMessages
- trait ViewType extends Product with Serializable with PrettyPrinting
Reifies the subclasses of ViewTree as values
- case class Witnesses(unwrap: List[Set[Informee]]) extends Product with Serializable
Encodes the hierarchy of the witnesses of a view.
Encodes the hierarchy of the witnesses of a view.
By convention, the order is: the view's informees are at the head of the list, then the parent's views informees, then the grandparent's, etc.
Value Members
- object ActionDescription extends Serializable
- object CantonTimestamp extends Serializable
- object CantonTimestampSecond extends Serializable
- object CommonMetadata extends Serializable
- object FullInformeeTree extends Serializable
- object FullTransferInTree extends Serializable
- object FullTransferOutTree extends Serializable
- object GenTransactionTree extends Serializable
- object GenTransferViewTree extends Serializable
- object Informee extends Serializable
- object InformeeTree extends Serializable
- object KeyResolution extends Serializable
- object LightTransactionViewTree extends Serializable
- object MerkleSeq extends Serializable
- object MerkleTree extends Serializable
- object ParticipantMetadata extends Serializable
- object ParticipantTransactionView extends Serializable
- object PeanoQueue
- object PeanoTreeQueue
- object SubmitterMetadata extends Serializable
- object TaskScheduler
- object TransactionView extends Serializable
- object TransactionViewDecomposition extends Serializable
- object TransactionViewTree extends Serializable
- object TransferInCommonData extends Serializable
- object TransferInView extends Serializable
- object TransferInViewTree extends Serializable
- object TransferOutCommonData extends Serializable
- object TransferOutView extends Serializable
- object TransferOutViewTree extends Serializable
- object TreeSerialization
- object ViewCommonData extends Serializable
- object ViewParticipantData extends Serializable
- object ViewPosition extends Serializable
- object ViewType extends Serializable
- case object Witnesses extends Product with Serializable