Packages

  • package root
    Definition Classes
    root
  • package com
    Definition Classes
    root
  • package daml
    Definition Classes
    com
  • package ledger
    Definition Classes
    daml
  • package participant
    Definition Classes
    ledger
  • package state
    Definition Classes
    participant
  • package v2

    Interfaces to read from and write to an (abstract) participant state.

    Interfaces to read from and write to an (abstract) participant state.

    A Daml ledger participant is code that allows to actively participate in the evolution of a shared Daml ledger. Each such participant maintains a particular view onto the state of the Daml ledger. We call this view the participant state.

    Actual implementations of a Daml ledger participant will likely maintain more state than what is exposed through the interfaces in this package, which is why we talk about an abstract participant state. It abstracts over the different implementations of Daml ledger participants.

    The interfaces are optimized for easy implementation. The v2.WriteService interface contains the methods for changing the participant state (and potentially the state of the Daml ledger), which all ledger participants must support. These methods are for example exposed via the Daml Ledger API. Actual ledger participant implementations likely support more implementation-specific methods. They are however not exposed via the Daml Ledger API. The v2.ReadService interface contains the one method v2.ReadService.stateUpdates to read the state of a ledger participant. It represents the participant state as a stream of v2.Updates to an initial participant state. The typical consumer of this method is a class that subscribes to this stream of v2.Updates and reconstructs (a view of) the actual participant state. See the comments on v2.Update and v2.ReadService.stateUpdates for details about the kind of updates and the guarantees given to consumers of the stream of v2.Updates.

    We do expect the interfaces provided in com.daml.ledger.participant.state to evolve, which is why we provide them all in the com.daml.ledger.participant.state.v2 package. Where possible we will evolve them in a backwards compatible fashion, so that a simple recompile suffices to upgrade to a new version. Where that is not possible, we plan to introduce new version of this API in a separate package and maintain it side-by-side with the existing version if possible. There can therefore potentially be multiple versions of participant state APIs at the same time. We plan to deprecate and drop old versions on separate and appropriate timelines.

    Definition Classes
    state
  • ChangeId
  • CompletionInfo
  • DivulgedContract
  • PruningResult
  • ReadService
  • SubmissionResult
  • SubmitterInfo
  • TransactionMeta
  • Update
  • WriteConfigService
  • WritePackagesService
  • WriteParticipantPruningService
  • WritePartyService
  • WriteService

object Update extends Serializable

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

Type Members

  1. final case class CommandRejected(recordTime: Timestamp, completionInfo: CompletionInfo, reasonTemplate: RejectionReasonTemplate) extends Update with Product with Serializable

    Signal that a command submitted via WriteService was rejected.

    Signal that a command submitted via WriteService was rejected.

    recordTime

    The record time of the completion

    completionInfo

    The completion information for the submission

    reasonTemplate

    A template for generating the gRPC status code with error details. See error.proto for the status codes of common rejection reasons.

  2. final case class ConfigurationChangeRejected(recordTime: Timestamp, submissionId: SubmissionId, participantId: ParticipantId, proposedConfiguration: Configuration, rejectionReason: String) extends Update with Product with Serializable

    Signal that a configuration change submitted by this participant was rejected.

  3. final case class ConfigurationChanged(recordTime: Timestamp, submissionId: SubmissionId, participantId: ParticipantId, newConfiguration: Configuration) extends Update with Product with Serializable

    Signal that the current Configuration has changed.

  4. final case class PartyAddedToParticipant(party: Party, displayName: String, participantId: ParticipantId, recordTime: Timestamp, submissionId: Option[SubmissionId]) extends Update with Product with Serializable

    Signal that a party is hosted at a participant.

    Signal that a party is hosted at a participant.

    Repeated PartyAddedToParticipant updates are interpreted in the order of their offsets as follows: - last-write-wins semantics for displayName - set-union semantics for participantId; i.e., parties can only be added to, but not removed from a participant The recordTime and submissionId are always metadata for their specific PartyAddedToParticipant update.

    party

    The party identifier.

    displayName

    The user readable description of the party. May not be unique.

    participantId

    The participant that this party was added to.

    recordTime

    The ledger-provided timestamp at which the party was allocated.

    submissionId

    The submissionId of the command which requested party to be added.

  5. final case class PartyAllocationRejected(submissionId: SubmissionId, participantId: ParticipantId, recordTime: Timestamp, rejectionReason: String) extends Update with Product with Serializable

    Signal that the party allocation request has been Rejected.

    Signal that the party allocation request has been Rejected.

    submissionId

    submissionId of the party allocation command.

    participantId

    The participant to which the party was requested to be added. This field is informative.

    recordTime

    The ledger-provided timestamp at which the party was added.

    rejectionReason

    Reason for rejection of the party allocation entry.

  6. final case class PublicPackageUpload(archives: List[Archive], sourceDescription: Option[String], recordTime: Timestamp, submissionId: Option[SubmissionId]) extends Update with Product with Serializable

    Signal that a set of new packages has been uploaded.

    Signal that a set of new packages has been uploaded.

    archives

    The new packages that have been accepted.

    sourceDescription

    Description of the upload, if provided by the submitter.

    recordTime

    The ledger-provided timestamp at which the package upload was committed.

    submissionId

    The submission id of the upload. Unset if this participant was not the submitter.

  7. final case class PublicPackageUploadRejected(submissionId: SubmissionId, recordTime: Timestamp, rejectionReason: String) extends Update with Product with Serializable

    Signal that a package upload has been rejected.

    Signal that a package upload has been rejected.

    submissionId

    The submission id of the upload.

    recordTime

    The ledger-provided timestamp at which the package upload was committed.

    rejectionReason

    Reason why the upload was rejected.

  8. final case class TransactionAccepted(optCompletionInfo: Option[CompletionInfo], transactionMeta: TransactionMeta, transaction: CommittedTransaction, transactionId: TransactionId, recordTime: Timestamp, divulgedContracts: List[DivulgedContract], blindingInfo: Option[BlindingInfo], contractMetadata: Map[ContractId, Bytes]) extends Update with Product with Serializable

    Signal the acceptance of a transaction.

    Signal the acceptance of a transaction.

    optCompletionInfo

    The information provided by the submitter of the command that created this transaction. It must be provided if this participant hosts one of the SubmitterInfo.actAs parties and shall output a completion event for this transaction. This in particular applies if this participant has submitted the command to the WriteService. The ReadService implementation must ensure that command deduplication guarantees are met.

    transactionMeta

    The metadata of the transaction that was provided by the submitter. It is visible to all parties that can see the transaction.

    transaction

    The view of the transaction that was accepted. This view must include at least the projection of the accepted transaction to the set of all parties hosted at this participant. See https://docs.daml.com/concepts/ledger-model/ledger-privacy.html on how these views are computed. Note that ledgers with weaker privacy models can decide to forgo projections of transactions and always show the complete transaction.

    recordTime

    The ledger-provided timestamp at which the transaction was recorded. The last Configuration set before this TransactionAccepted determines how this transaction's recordTime relates to its TransactionMeta.ledgerEffectiveTime.

    divulgedContracts

    List of divulged contracts. See DivulgedContract for details.

    contractMetadata

    For each contract created in this transaction, this map may contain contract metadata assigned by the ledger implementation. This data is opaque and can only be used in com.daml.lf.command.DisclosedContracts when submitting transactions trough the WriteService. If a contract created by this transaction is not element of this map, its metadata is equal to the empty byte array.

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. implicit val Update to LoggingValue: ToLoggingValue[Update]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  15. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  18. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. object CommandRejected extends Serializable
  21. object ConfigurationChangeRejected extends Serializable
  22. object ConfigurationChanged extends Serializable
  23. object PartyAddedToParticipant extends Serializable
  24. object PartyAllocationRejected extends Serializable
  25. object PublicPackageUpload extends Serializable
  26. object PublicPackageUploadRejected extends Serializable
  27. object TransactionAccepted extends Serializable

Deprecated Value Members

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

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped