sealed trait ContractDescriptor extends TLVSerializable[ContractDescriptorTLV]

Fully determines a set of payouts for a DLC. These payouts are normally from the point of view of the offerer, from which the accepter's payouts can be determined by subtracting from totalCollateral.

Payouts above totalCollateral may be subject to change as totalCollateral does not exist in a ContractDescriptor, which is reusable between DLCs.

See also

https://github.com/discreetlogcontracts/dlcspecs/blob/a8876ed28ed33d5f7d5104f01aa2a8d80d128460/Messaging.md#version-1-contract_descriptor

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ContractDescriptor
  2. TLVSerializable
  3. NetworkElement
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def flip(totalCollateral: Satoshis): ContractDescriptor

    Returns the counter-party's ContractDescriptor corresponding to this one.

    Returns the counter-party's ContractDescriptor corresponding to this one.

    WARNING: this(outcome) + flip(TC)(outcome) is not guaranteed to equal TC. As such, this should not be used to generate pairs of ContractInfos and should only be used to replace a ContractInfo with another one of the flipped perspective. An example case is for MultiNonceContractInfo where flipping the interpolation points could lead to an off-by-one after rounding so that the sum above gives TC-1. In this example, only the offerer's ContractInfo should be used.

  2. abstract def toTLV: ContractDescriptorTLV
    Definition Classes
    TLVSerializable

Concrete 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 byteSize: Long

    The size of the NetworkElement in bytes.

    The size of the NetworkElement in bytes.

    Definition Classes
    NetworkElement
  6. def bytes: ByteVector

    The byte representation of the NetworkElement

    The byte representation of the NetworkElement

    Definition Classes
    TLVSerializableNetworkElement
  7. def bytesLE: ByteVector

    The byte representation of the NetworkElement in little endian

    The byte representation of the NetworkElement in little endian

    Definition Classes
    NetworkElement
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hex: String

    The hexadecimal representation of the NetworkElement

    The hexadecimal representation of the NetworkElement

    Definition Classes
    NetworkElement
  15. def hexLE: String

    The hexadecimal representation of the NetworkElement in little endian

    The hexadecimal representation of the NetworkElement in little endian

    Definition Classes
    NetworkElement
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from NetworkElement

Inherited from AnyRef

Inherited from Any

Ungrouped