Packages

package tlv

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed trait CETSignaturesTLV extends DLCSetupPieceTLV
  2. case class CETSignaturesV0TLV(sigs: Vector[ECAdaptorSignature]) extends CETSignaturesTLV with Product with Serializable
  3. sealed trait ContractDescriptorTLV extends DLCSetupPieceTLV
  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 DLCSetupPieceTLV with Product with Serializable
  7. case class DLCAcceptTLV(tempContractId: Sha256Digest, totalCollateralSatoshis: Satoshis, fundingPubKey: ECPublicKey, payoutSPK: ScriptPubKey, payoutSerialId: UInt64, fundingInputs: Vector[FundingInputTLV], changeSPK: ScriptPubKey, changeSerialId: UInt64, cetSignatures: CETSignaturesTLV, refundSignature: ECDigitalSignature, negotiationFields: NegotiationFieldsTLV) extends DLCSetupTLV with Product with Serializable
  8. case class DLCOfferTLV(contractFlags: Byte, chainHash: DoubleSha256Digest, contractInfo: ContractInfoV0TLV, fundingPubKey: ECPublicKey, payoutSPK: ScriptPubKey, payoutSerialId: UInt64, totalCollateralSatoshis: Satoshis, fundingInputs: Vector[FundingInputTLV], changeSPK: ScriptPubKey, changeSerialId: UInt64, fundOutputSerialId: UInt64, feeRate: SatoshisPerVirtualByte, contractMaturityBound: BlockTimeStamp, contractTimeout: BlockTimeStamp) extends DLCSetupTLV with Product with Serializable
  9. sealed trait DLCOracleTLV extends TLV
  10. sealed trait DLCOutcomeType extends AnyRef

    Represents a DLC event that could be signed by an oracle

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

    Describes a large range event using numerical decomposition

  15. 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

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

    An outcome from an enumerated event type

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

  18. sealed trait EventDescriptorTLV extends DLCOracleTLV
  19. sealed trait FundingInputTLV extends DLCSetupPieceTLV
  20. case class FundingInputV0TLV(inputSerialId: UInt64, prevTx: Transaction, prevTxVout: UInt32, sequence: UInt32, maxWitnessLen: UInt16, redeemScriptOpt: Option[WitnessScriptPubKey]) extends FundingInputTLV with Product with Serializable
  21. sealed trait FundingSignaturesTLV extends DLCSetupPieceTLV
  22. case class FundingSignaturesV0TLV(witnesses: Vector[ScriptWitnessV0]) extends FundingSignaturesTLV with Product with Serializable
  23. case class InitTLV(globalFeatureBytes: ByteVector, featureBytes: ByteVector, initTLVs: Vector[TLV]) extends TLV with Product with Serializable

    See also

    https://github.com/lightningnetwork/lightning-rfc/blob/master/01-messaging.md#the-init-message

  24. 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.

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

    See also

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

  45. case class PingTLV(numPongBytes: UInt16, ignored: ByteVector) extends TLV with Product with Serializable
  46. case class PongTLV(ignored: ByteVector) extends TLV with Product with Serializable
  47. case class RoundingIntervalsV0TLV(intervalStarts: Vector[(Long, Satoshis)]) extends DLCSetupPieceTLV with Product with Serializable
  48. 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

  49. 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.

  50. sealed trait TLV extends NetworkElement with TLVUtil
  51. abstract class TLVDeserializable[T <: TLV, +U <: TLVSerializable[T]] extends Factory[U]
  52. sealed trait TLVFactory[+T <: TLV] extends Factory[T]
  53. sealed trait TLVParentFactory[T <: TLV] extends Factory[T]
  54. case class TLVPoint(outcome: Long, value: Satoshis, extraPrecision: Int, isEndpoint: Boolean) extends NetworkElement with Product with Serializable
  55. trait TLVSerializable[+T <: TLV] extends NetworkElement
  56. trait TLVUtil extends AnyRef
  57. case class UnknownTLV(tpe: BigSizeUInt, value: ByteVector) extends TLV with Product with Serializable
  58. 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

  59. 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 InitTLV extends Factory[InitTLV] with TLVFactory[InitTLV] with Serializable
  16. object LnMessage extends Factory[LnMessage[TLV]] with Serializable
  17. object NegotiationFieldsTLV extends Factory[NegotiationFieldsTLV] with TLVParentFactory[NegotiationFieldsTLV]
  18. object NegotiationFieldsV1TLV extends Factory[NegotiationFieldsV1TLV] with TLVFactory[NegotiationFieldsV1TLV] with Serializable
  19. case object NoNegotiationFieldsTLV extends NegotiationFieldsTLV with Product with Serializable
  20. object NoNegotiationFieldsTLVFactory extends Factory[NoNegotiationFieldsTLV.type] with TLVFactory[NoNegotiationFieldsTLV.type]
  21. object NormalizedString extends StringFactory[NormalizedString] with Serializable
  22. object OracleAnnouncementTLV extends Factory[OracleAnnouncementTLV] with TLVParentFactory[OracleAnnouncementTLV]
  23. object OracleAnnouncementV0TLV extends Factory[OracleAnnouncementV0TLV] with TLVFactory[OracleAnnouncementV0TLV] with Serializable
  24. object OracleAttestmentTLV extends Factory[OracleAttestmentTLV] with TLVParentFactory[OracleAttestmentTLV]
  25. object OracleAttestmentV0TLV extends Factory[OracleAttestmentV0TLV] with TLVFactory[OracleAttestmentV0TLV] with Serializable
  26. object OracleEventV0TLV extends Factory[OracleEventV0TLV] with TLVFactory[OracleEventV0TLV] with Serializable
  27. object OracleInfoTLV extends Factory[OracleInfoTLV] with TLVParentFactory[OracleInfoTLV]
  28. object OracleInfoV0TLV extends Factory[OracleInfoV0TLV] with TLVFactory[OracleInfoV0TLV] with Serializable
  29. object OracleInfoV1TLV extends Factory[OracleInfoV1TLV] with TLVFactory[OracleInfoV1TLV] with Serializable
  30. object OracleInfoV2TLV extends Factory[OracleInfoV2TLV] with TLVFactory[OracleInfoV2TLV] with Serializable
  31. object OracleParamsV0TLV extends Factory[OracleParamsV0TLV] with TLVFactory[OracleParamsV0TLV] with Serializable
  32. object PayoutFunctionV0TLV extends Factory[PayoutFunctionV0TLV] with TLVFactory[PayoutFunctionV0TLV] with Serializable
  33. object PingTLV extends Factory[PingTLV] with TLVFactory[PingTLV] with Serializable
  34. object PongTLV extends Factory[PongTLV] with TLVFactory[PongTLV] with Serializable
  35. object RoundingIntervalsV0TLV extends Factory[RoundingIntervalsV0TLV] with TLVFactory[RoundingIntervalsV0TLV] with Serializable
  36. object TLV extends Factory[TLV] with TLVParentFactory[TLV]
  37. object TLVPoint extends Factory[TLVPoint] with Serializable
  38. object UnknownTLV extends Factory[UnknownTLV] with Serializable

Ungrouped