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 v1

    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 v1.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 v1.ReadService interface contains the one method v1.ReadService.stateUpdates to read the state of a ledger participant. It represents the participant state as a stream of v1.Updates to an initial participant state. The typical consumer of this method is a class that subscribes to this stream of v1.Updates and reconstructs (a view of) the actual participant state. See the comments on v1.Update and v1.ReadService.stateUpdates for details about the kind of updates and the guarantees given to consumers of the stream of v1.Updates.

    We provide a reference implementation of a participant state in com.daml.ledger.on.memory.InMemoryLedgerReaderWriter. There we model an in-memory ledger, which has by construction a single participant, which hosts all parties. See its comments for details on how that is done, and how its implementation can be used as a blueprint for implementing your own participant state.

    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.v1 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
  • object Update extends Serializable
    Definition Classes
    v1
  • CommandRejected
  • ConfigurationChangeRejected
  • ConfigurationChanged
  • PartyAddedToParticipant
  • PartyAllocationRejected
  • PublicPackageUpload
  • PublicPackageUploadRejected
  • TransactionAccepted
c

com.daml.ledger.participant.state.v1.Update

PartyAllocationRejected

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.

Initially this will be visible to all participants in the current open world, with a possible need to revisit as part of the per-party package visibility work https://github.com/digital-asset/daml/issues/311.

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 Consider whether an enumerated set of reject reasons a la RejectionReason would be helpful, and whether the same breadth of reject types needs to be handled for party allocation entry rejects

Linear Supertypes
Update, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PartyAllocationRejected
  2. Update
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new PartyAllocationRejected(submissionId: SubmissionId, participantId: ParticipantId, recordTime: Timestamp, rejectionReason: String)

    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 Consider whether an enumerated set of reject reasons a la RejectionReason would be helpful, and whether the same breadth of reject types needs to be handled for party allocation entry rejects

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. val description: String

    Short human-readable one-line description summarizing the state updates content.

    Short human-readable one-line description summarizing the state updates content.

    Definition Classes
    PartyAllocationRejectedUpdate
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. val participantId: ParticipantId
  15. def productElementNames: Iterator[String]
    Definition Classes
    Product
  16. val recordTime: Timestamp

    The record time at which the state change was committed.

    The record time at which the state change was committed.

    Definition Classes
    PartyAllocationRejectedUpdate
  17. val rejectionReason: String
  18. val submissionId: SubmissionId
  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Update

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped