c

com.daml.lf.transaction

BlindingInfo

final case class BlindingInfo(disclosure: Relation[NodeId, Party], divulgence: Relation[ContractId, Party]) extends Product with Serializable

A transaction's blinding information, consisting of disclosure and divulgence info.

"Disclosure" tells us which transaction nodes to communicate to which parties. See https://docs.daml.com/concepts/ledger-model/ledger-privacy.html Note that rollback nodes are a bit special here: Even if the node itself is not disclosed, a party will be disclosed if a node was below a rollback node. That information is not included in blinding info at this point.

"Divulgence" tells us which contracts to communicate to which parties so that their participant nodes can perform post-commit validation. Note that divulgence can also divulge e.g. contract IDs that were created _outside_ this transaction. See also https://docs.daml.com/concepts/ledger-model/ledger-privacy.html#divulgence-when-non-stakeholders-see-contracts

disclosure

Disclosure, specified in terms of local transaction node IDs Each node in the transaction will be mapped to a non-empty set of witnesses for ledger API transactions. Scenarios unfortunately break this invariant and we can have rollback nodes at the top with an empty set of witnesses. We still include those in the map here.

divulgence

Divulgence, specified in terms of contract IDs. Note that if this info was produced by blinding a transaction containing only contract ids, this map may also contain contracts produced in the same transaction. We only include contracts that are divulged to a non-empty set of parties since there is no difference between not divulging a contract and divulging it to no one.

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

Instance Constructors

  1. new BlindingInfo(disclosure: Relation[NodeId, Party], divulgence: Relation[ContractId, Party])

    disclosure

    Disclosure, specified in terms of local transaction node IDs Each node in the transaction will be mapped to a non-empty set of witnesses for ledger API transactions. Scenarios unfortunately break this invariant and we can have rollback nodes at the top with an empty set of witnesses. We still include those in the map here.

    divulgence

    Divulgence, specified in terms of contract IDs. Note that if this info was produced by blinding a transaction containing only contract ids, this map may also contain contracts produced in the same transaction. We only include contracts that are divulged to a non-empty set of parties since there is no difference between not divulging a contract and divulging it to no one.

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() @IntrinsicCandidate()
  6. val disclosure: Relation[NodeId, Party]
  7. val divulgence: Relation[ContractId, Party]
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  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() @IntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  14. def productElementNames: Iterator[String]
    Definition Classes
    Product
  15. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

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 Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped