package data
- Alphabetic
- Public
- Protected
Type Members
- sealed trait ActionDescription extends Product with Serializable with PrettyPrinting with HasProtocolVersionedWrapper[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 SerializableKeyResolution with Product with Serializable
- case class AssignedKeyWithMaintainers(contractId: LfContractId, maintainers: Set[LfPartyId])(version: LfTransactionVersion) extends KeyResolutionWithMaintainers 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.
- sealed abstract case class CommonMetadata extends MerkleTreeLeaf[CommonMetadata] with HasProtocolVersionedWrapper[CommonMetadata] with ProtocolVersionedMemoizedEvidence with NoCopy with Product with Serializable
Information concerning every member involved in the underlying transaction.
- final 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 SerializableKeyResolution with KeyResolutionWithMaintainers with Product with Serializable
- case class FullInformeeTree(tree: GenTransactionTree) extends HasVersionedWrapper[VersionedMessage[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 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.
- 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[VersionedMessage[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 PrettyPrinting
A party that must be informed about the view.
- case class InformeeTree(tree: GenTransactionTree) extends HasVersionedWrapper[VersionedMessage[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
- sealed trait KeyResolutionWithMaintainers extends KeyResolution
- case class LightTransactionViewTree(tree: GenTransactionTree) extends ViewTree with HasVersionedWrapper[VersionedMessage[LightTransactionViewTree]] 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 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.
- sealed abstract case class ParticipantMetadata extends MerkleTreeLeaf[ParticipantMetadata] with HasProtocolVersionedWrapper[ParticipantMetadata] with ProtocolVersionedMemoizedEvidence 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()
- final case class PlainInformee(party: LfPartyId) extends Informee with Product with Serializable
An informee that is not a confirming party
- sealed trait SerializableKeyResolution extends KeyResolution
- sealed abstract case class SubmitterMetadata extends MerkleTreeLeaf[SubmitterMetadata] with HasProtocolVersionedWrapper[SubmitterMetadata] with ProtocolVersionedMemoizedEvidence 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 HasLoggerName with NoCopy with Product with Serializable
Encapsulates a subaction of the underlying transaction.
Encapsulates a subaction of the underlying transaction.
- Exceptions thrown
TransactionView$.InvalidView
if theviewCommonData
is unblinded and equals theviewCommonData
of a direct subview
- sealed trait TransactionViewDecomposition extends Product with Serializable with PrettyPrinting
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)
- sealed abstract case class TransferInCommonData extends MerkleTreeLeaf[TransferInCommonData] with HasProtocolVersionedWrapper[TransferInCommonData] with ProtocolVersionedMemoizedEvidence with NoCopy with Product with Serializable
Aggregates the data of a transfer-in request that is sent to the mediator and the involved participants.
- sealed abstract case class TransferInView extends MerkleTreeLeaf[TransferInView] with HasProtocolVersionedWrapper[TransferInView] with ProtocolVersionedMemoizedEvidence 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
- sealed abstract case class TransferOutCommonData extends MerkleTreeLeaf[TransferOutCommonData] with HasProtocolVersionedWrapper[TransferOutCommonData] with ProtocolVersionedMemoizedEvidence with NoCopy with Product with Serializable
Aggregates the data of a transfer-out request that is sent to the mediator and the involved participants.
- sealed abstract case class TransferOutView extends MerkleTreeLeaf[TransferOutView] with HasProtocolVersionedWrapper[TransferOutView] with ProtocolVersionedMemoizedEvidence with NoCopy with Product with Serializable
Aggregates the data of a transfer-out request that is only sent to the involved participants
- sealed abstract case class TransferOutViewTree extends GenTransferViewTree[TransferOutCommonData, TransferOutView, TransferOutViewTree, TransferOutMediatorMessage] with HasRepresentativeProtocolVersion with Product with Serializable
A blindable Merkle tree for transfer-out requests
- case class ViewCommonData extends MerkleTreeLeaf[ViewCommonData] with ProtocolVersionedMemoizedEvidence with HasProtocolVersionedWrapper[ViewCommonData] with NoCopy with Product with Serializable
Information concerning every member involved in processing the underlying view.
- sealed abstract case class ViewParticipantData extends MerkleTreeLeaf[ViewParticipantData] with HasProtocolVersionedWrapper[ViewParticipantData] with ProtocolVersionedMemoizedEvidence 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 createdInSubviewArchivedInCore 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: Seq[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 HasProtocolVersionedCompanion[ActionDescription] with Serializable
- object CantonTimestamp extends Serializable
- object CantonTimestampSecond extends Serializable
- object CommonMetadata extends HasMemoizedProtocolVersionedWithContextCompanion[CommonMetadata, HashOps] with Serializable
- object FullInformeeTree extends HasVersionedMessageWithContextCompanion[FullInformeeTree, HashOps] with Serializable
- object FullTransferInTree extends Serializable
- object FullTransferOutTree extends Serializable
- object GenTransactionTree extends Serializable
- object GenTransferViewTree extends Serializable
- object Informee extends Serializable
- object InformeeTree extends HasVersionedMessageWithContextCompanion[InformeeTree, HashOps] with Serializable
- object LightTransactionViewTree extends HasVersionedMessageWithContextCompanion[LightTransactionViewTree, HashOps] with Serializable
- object MerkleSeq extends Serializable
- object MerkleTree extends Serializable
- object ParticipantMetadata extends HasMemoizedProtocolVersionedWithContextCompanion[ParticipantMetadata, HashOps] with Serializable
- object ParticipantTransactionView extends Serializable
- object PeanoQueue
- object PeanoTreeQueue
- object SerializableKeyResolution extends Serializable
- object SubmitterMetadata extends HasMemoizedProtocolVersionedWithContextCompanion[SubmitterMetadata, HashOps] with Serializable
- object TaskScheduler
- object TransactionView extends Serializable
- object TransactionViewDecomposition extends Serializable
- object TransactionViewTree extends Serializable
- object TransferInCommonData extends HasMemoizedProtocolVersionedWithContextCompanion[TransferInCommonData, HashOps] with Serializable
- object TransferInView extends HasMemoizedProtocolVersionedWithContextCompanion[TransferInView, HashOps] with Serializable
- object TransferInViewTree extends HasVersionedMessageWithContextCompanion[TransferInViewTree, HashOps] with Serializable
- object TransferOutCommonData extends HasMemoizedProtocolVersionedWithContextCompanion[TransferOutCommonData, HashOps] with Serializable
- object TransferOutView extends HasMemoizedProtocolVersionedWithContextCompanion[TransferOutView, HashOps] with Serializable
- object TransferOutViewTree extends HasProtocolVersionedWithContextCompanion[TransferOutViewTree, HashOps] with Serializable
- object ViewCommonData extends HasMemoizedProtocolVersionedWithContextCompanion[ViewCommonData, HashOps] with Serializable
- object ViewParticipantData extends HasMemoizedProtocolVersionedWithContextCompanion[ViewParticipantData, HashOps] with Serializable
- object ViewPosition extends Serializable
- object ViewType extends Serializable
- case object Witnesses extends Product with Serializable