Packages

package tlv

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed trait CETSignaturesTLV extends TLV
  2. case class CETSignaturesV0TLV(sigs: Vector[ECAdaptorSignature]) extends CETSignaturesTLV with Product with Serializable
  3. sealed trait ContractDescriptorTLV extends TLV
  4. case class ContractDescriptorV0TLV(outcomes: Vector[(String, Satoshis)]) extends ContractDescriptorTLV with Product with Serializable

    See also

    https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md#version-0-contract_info

  5. case class ContractDescriptorV1TLV(numDigits: Int, payoutFunction: PayoutFunctionV0TLV, roundingIntervals: RoundingIntervalsV0TLV) extends ContractDescriptorTLV with Product with Serializable
  6. case class ContractInfoV0TLV(totalCollateral: Satoshis, contractDescriptor: ContractDescriptorTLV, oracleInfo: OracleInfoTLV) extends TLV with Product with Serializable
  7. case class DLCAcceptTLV(tempContractId: Sha256Digest, totalCollateralSatoshis: Satoshis, fundingPubKey: ECPublicKey, payoutSPK: ScriptPubKey, fundingInputs: Vector[FundingInputTLV], changeSPK: ScriptPubKey, cetSignatures: CETSignaturesTLV, refundSignature: ECDigitalSignature, negotiationFields: NegotiationFieldsTLV) extends TLV with Product with Serializable
  8. case class DLCOfferTLV(contractFlags: Byte, chainHash: DoubleSha256Digest, contractInfo: ContractInfoV0TLV, fundingPubKey: ECPublicKey, payoutSPK: ScriptPubKey, totalCollateralSatoshis: Satoshis, fundingInputs: Vector[FundingInputTLV], changeSPK: ScriptPubKey, feeRate: SatoshisPerVirtualByte, contractMaturityBound: BlockTimeStamp, contractTimeout: BlockTimeStamp) extends TLV with Product with Serializable
  9. sealed trait DLCOutcomeType extends AnyRef

    Represents a DLC event that could be signed by an oracle

  10. case class DLCSignTLV(contractId: ByteVector, cetSignatures: CETSignaturesTLV, refundSignature: ECDigitalSignature, fundingSignatures: FundingSignaturesTLV) extends TLV with Product with Serializable
  11. sealed trait DigitDecompositionEventDescriptorV0TLV extends NumericEventDescriptorTLV

    Describes a large range event using numerical decomposition

  12. case class EnumEventDescriptorV0TLV(outcomes: Vector[NormalizedString]) extends EventDescriptorTLV with Product with Serializable

    Describes an event over an enumerated set of outcomes

    Describes an event over an enumerated set of outcomes

    outcomes

    The set of possible outcomes

    See also

    https://github.com/discreetlogcontracts/dlcspecs/blob/master/Oracle.md#simple-enumeration

  13. case class EnumOutcome(outcome: String) extends DLCOutcomeType with Product with Serializable

    An outcome from an enumerated event type

  14. case class ErrorTLV(id: ByteVector, data: ByteVector) extends TLV with Product with Serializable

  15. sealed trait EventDescriptorTLV extends TLV
  16. sealed trait FundingInputTLV extends TLV
  17. case class FundingInputV0TLV(prevTx: Transaction, prevTxVout: UInt32, sequence: UInt32, maxWitnessLen: UInt16, redeemScriptOpt: Option[WitnessScriptPubKey]) extends FundingInputTLV with Product with Serializable
  18. sealed trait FundingSignaturesTLV extends TLV
  19. case class FundingSignaturesV0TLV(witnesses: Vector[ScriptWitnessV0]) extends FundingSignaturesTLV with Product with Serializable
  20. case class LnMessage[+T <: TLV](tlv: T) extends NetworkElement with Product with Serializable

    Lightning Network message serialization is the same as TLV serialization except that the type is represented with a UInt16 instead of BigSizeUInt and length is omitted.

    Lightning Network message serialization is the same as TLV serialization except that the type is represented with a UInt16 instead of BigSizeUInt and length is omitted.

    The reason for the omission is that the message is expected to be encrypted by the LN transport layer and the length is included there in the unencrypted part of the packet.

    The reason that LnMessage doesn't just do what TLV does (which is better) is because TLVs are newer and so we're stuck with the legacy format.

  21. case class LnMessageFactory[+T <: TLV](tlvFactory: TLVFactory[T]) extends Factory[LnMessage[T]] with Product with Serializable
  22. sealed trait MultiOracleInfoTLV extends OracleInfoTLV
  23. sealed trait NegotiationFieldsTLV extends TLV
  24. case class NegotiationFieldsV1TLV(roundingIntervalsV0TLV: RoundingIntervalsV0TLV) extends NegotiationFieldsTLV with Product with Serializable
  25. case class NormalizedString(str: String) extends NetworkElement with Product with Serializable
  26. sealed trait NumericDLCOutcomeType extends DLCOutcomeType
  27. sealed trait NumericEventDescriptorTLV extends EventDescriptorTLV
  28. sealed trait OracleAnnouncementTLV extends TLV
  29. case class OracleAnnouncementV0TLV(announcementSignature: SchnorrDigitalSignature, publicKey: SchnorrPublicKey, eventTLV: OracleEventV0TLV) extends OracleAnnouncementTLV with Product with Serializable
  30. sealed trait OracleAttestmentTLV extends TLV
  31. case class OracleAttestmentV0TLV(eventId: NormalizedString, publicKey: SchnorrPublicKey, sigs: Vector[SchnorrDigitalSignature], outcomes: Vector[NormalizedString]) extends OracleAttestmentTLV with Product with Serializable
  32. sealed trait OracleEventTLV extends TLV
  33. case class OracleEventV0TLV(nonces: Vector[SchnorrNonce], eventMaturityEpoch: UInt32, eventDescriptor: EventDescriptorTLV, eventId: NormalizedString) extends OracleEventTLV with Product with Serializable
  34. sealed trait OracleInfoTLV extends TLV
  35. case class OracleInfoV0TLV(announcement: OracleAnnouncementTLV) extends OracleInfoTLV with Product with Serializable
  36. case class OracleInfoV1TLV(threshold: Int, oracles: Vector[OracleAnnouncementTLV]) extends MultiOracleInfoTLV with Product with Serializable
  37. case class OracleInfoV2TLV(threshold: Int, oracles: Vector[OracleAnnouncementTLV], params: OracleParamsTLV) extends MultiOracleInfoTLV with Product with Serializable
  38. sealed trait OracleParamsTLV extends TLV
  39. case class OracleParamsV0TLV(maxErrorExp: Int, minFailExp: Int, maximizeCoverage: Boolean) extends OracleParamsTLV with Product with Serializable
  40. case class PayoutFunctionV0TLV(points: Vector[TLVPoint]) extends TLV with Product with Serializable

    See also

    https://github.com/discreetlogcontracts/dlcspecs/blob/8ee4bbe816c9881c832b1ce320b9f14c72e3506f/NumericOutcome.md#curve-serialization

  41. case class PingTLV(numPongBytes: UInt16, ignored: ByteVector) extends TLV with Product with Serializable
  42. case class PongTLV(ignored: ByteVector) extends TLV with Product with Serializable
  43. case class RoundingIntervalsV0TLV(intervalStarts: Vector[(Long, Satoshis)]) extends TLV with Product with Serializable
  44. case class SignedDigitDecompositionEventDescriptor(base: UInt16, numDigits: UInt16, unit: NormalizedString, precision: Int32) extends DigitDecompositionEventDescriptorV0TLV with Product with Serializable

    Represents a large range event that can be positive or negative

  45. case class SignedNumericOutcome(positive: Boolean, digits: Vector[Int]) extends NumericDLCOutcomeType with Product with Serializable

    An outcome from a multi-nonce signed numeric event type.

    An outcome from a multi-nonce signed numeric event type.

    If digits.length is less than the the total number of digits to be signed by the oracle then this outcome represents all outcomes prefixed by the given digits.

    I.e. the Vector[Int] is always the most significant digits.

  46. sealed trait TLV extends NetworkElement with TLVUtil
  47. abstract class TLVDeserializable[T <: TLV, +U <: TLVSerializable[T]] extends Factory[U]
  48. sealed trait TLVFactory[+T <: TLV] extends Factory[T]
  49. sealed trait TLVParentFactory[T <: TLV] extends Factory[T]
  50. case class TLVPoint(outcome: Long, value: Satoshis, extraPrecision: Int, isEndpoint: Boolean) extends NetworkElement with Product with Serializable
  51. trait TLVSerializable[+T <: TLV] extends NetworkElement
  52. trait TLVUtil extends AnyRef
  53. case class UnknownTLV(tpe: BigSizeUInt, value: ByteVector) extends TLV with Product with Serializable
  54. case class UnsignedDigitDecompositionEventDescriptor(base: UInt16, numDigits: UInt16, unit: NormalizedString, precision: Int32) extends DigitDecompositionEventDescriptorV0TLV with Product with Serializable

    Represents a large range event that is unsigned

  55. case class UnsignedNumericOutcome(digits: Vector[Int]) extends NumericDLCOutcomeType with Product with Serializable

    An outcome from a multi-nonce unsigned numeric event type.

    An outcome from a multi-nonce unsigned numeric event type.

    If digits.length is less than the the total number of digits to be signed by the oracle then this outcome represents all outcomes prefixed by the given digits.

    I.e. the Vector[Int] is always the most significant digits.

Value Members

  1. object CETSignaturesV0TLV extends Factory[CETSignaturesV0TLV] with TLVFactory[CETSignaturesV0TLV] with Serializable
  2. object ContractDescriptorTLV extends Factory[ContractDescriptorTLV] with TLVParentFactory[ContractDescriptorTLV]
  3. object ContractDescriptorV0TLV extends Factory[ContractDescriptorV0TLV] with TLVFactory[ContractDescriptorV0TLV] with Serializable
  4. object ContractDescriptorV1TLV extends Factory[ContractDescriptorV1TLV] with TLVFactory[ContractDescriptorV1TLV] with Serializable
  5. object ContractInfoV0TLV extends Factory[ContractInfoV0TLV] with TLVFactory[ContractInfoV0TLV] with Serializable
  6. object DLCAcceptTLV extends Factory[DLCAcceptTLV] with TLVFactory[DLCAcceptTLV] with Serializable
  7. object DLCOfferTLV extends Factory[DLCOfferTLV] with TLVFactory[DLCOfferTLV] with Serializable
  8. object DLCSignTLV extends Factory[DLCSignTLV] with TLVFactory[DLCSignTLV] with Serializable
  9. object DigitDecompositionEventDescriptorV0TLV extends Factory[DigitDecompositionEventDescriptorV0TLV] with TLVFactory[DigitDecompositionEventDescriptorV0TLV]
  10. object EnumEventDescriptorV0TLV extends Factory[EnumEventDescriptorV0TLV] with TLVFactory[EnumEventDescriptorV0TLV] with Serializable
  11. object ErrorTLV extends Factory[ErrorTLV] with TLVFactory[ErrorTLV] with Serializable
  12. object EventDescriptorTLV extends Factory[EventDescriptorTLV] with TLVParentFactory[EventDescriptorTLV]
  13. object FundingInputV0TLV extends Factory[FundingInputV0TLV] with TLVFactory[FundingInputV0TLV] with Serializable
  14. object FundingSignaturesV0TLV extends Factory[FundingSignaturesV0TLV] with TLVFactory[FundingSignaturesV0TLV] with Serializable
  15. object LnMessage extends Factory[LnMessage[TLV]] with Serializable
  16. object NegotiationFieldsTLV extends Factory[NegotiationFieldsTLV] with TLVParentFactory[NegotiationFieldsTLV]
  17. object NegotiationFieldsV1TLV extends Factory[NegotiationFieldsV1TLV] with TLVFactory[NegotiationFieldsV1TLV] with Serializable
  18. case object NoNegotiationFieldsTLV extends NegotiationFieldsTLV with Product with Serializable
  19. object NoNegotiationFieldsTLVFactory extends Factory[NoNegotiationFieldsTLV.type] with TLVFactory[NoNegotiationFieldsTLV.type]
  20. object NormalizedString extends StringFactory[NormalizedString] with Serializable
  21. object OracleAnnouncementTLV extends Factory[OracleAnnouncementTLV] with TLVParentFactory[OracleAnnouncementTLV]
  22. object OracleAnnouncementV0TLV extends Factory[OracleAnnouncementV0TLV] with TLVFactory[OracleAnnouncementV0TLV] with Serializable
  23. object OracleAttestmentTLV extends Factory[OracleAttestmentTLV] with TLVParentFactory[OracleAttestmentTLV]
  24. object OracleAttestmentV0TLV extends Factory[OracleAttestmentV0TLV] with TLVFactory[OracleAttestmentV0TLV] with Serializable
  25. object OracleEventV0TLV extends Factory[OracleEventV0TLV] with TLVFactory[OracleEventV0TLV] with Serializable
  26. object OracleInfoTLV extends Factory[OracleInfoTLV] with TLVParentFactory[OracleInfoTLV]
  27. object OracleInfoV0TLV extends Factory[OracleInfoV0TLV] with TLVFactory[OracleInfoV0TLV] with Serializable
  28. object OracleInfoV1TLV extends Factory[OracleInfoV1TLV] with TLVFactory[OracleInfoV1TLV] with Serializable
  29. object OracleInfoV2TLV extends Factory[OracleInfoV2TLV] with TLVFactory[OracleInfoV2TLV] with Serializable
  30. object OracleParamsV0TLV extends Factory[OracleParamsV0TLV] with TLVFactory[OracleParamsV0TLV] with Serializable
  31. object PayoutFunctionV0TLV extends Factory[PayoutFunctionV0TLV] with TLVFactory[PayoutFunctionV0TLV] with Serializable
  32. object PingTLV extends Factory[PingTLV] with TLVFactory[PingTLV] with Serializable
  33. object PongTLV extends Factory[PongTLV] with TLVFactory[PongTLV] with Serializable
  34. object RoundingIntervalsV0TLV extends Factory[RoundingIntervalsV0TLV] with TLVFactory[RoundingIntervalsV0TLV] with Serializable
  35. object TLV extends Factory[TLV] with TLVParentFactory[TLV]
  36. object TLVPoint extends Factory[TLVPoint] with Serializable
  37. object UnknownTLV extends Factory[UnknownTLV] with Serializable

Ungrouped