Packages

package tlv

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. case class AmtToForwardTLV(amt: MilliSatoshis) extends TLV with Product with Serializable
  2. sealed trait CETSignaturesTLV extends DLCSetupPieceTLV
  3. case class CETSignaturesV0TLV(sigs: Vector[ECAdaptorSignature]) extends CETSignaturesTLV with Product with Serializable
  4. sealed trait ContractDescriptorTLV extends DLCSetupPieceTLV
  5. 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

  6. case class ContractDescriptorV1TLV(numDigits: Int, payoutFunction: PayoutFunctionV0TLV, roundingIntervals: RoundingIntervalsV0TLV) extends ContractDescriptorTLV with Product with Serializable
  7. sealed trait ContractInfoTLV extends DLCSetupPieceTLV
  8. case class ContractInfoV0TLV(totalCollateral: Satoshis, contractDescriptor: ContractDescriptorTLV, oracleInfo: OracleInfoTLV) extends ContractInfoTLV with Product with Serializable
  9. case class ContractInfoV1TLV(totalCollateral: Satoshis, contractOraclePairs: Vector[(ContractDescriptorTLV, OracleInfoTLV)]) extends ContractInfoTLV with Product with Serializable
  10. case class DLCAcceptTLV(tempContractId: Sha256Digest, acceptCollateralSatoshis: 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
  11. case class DLCOfferTLV(protocolVersionOpt: Option[Int], contractFlags: Byte, chainHash: DoubleSha256Digest, contractInfo: ContractInfoTLV, fundingPubKey: ECPublicKey, payoutSPK: ScriptPubKey, payoutSerialId: UInt64, offererCollateralSatoshis: Satoshis, fundingInputs: Vector[FundingInputTLV], changeSPK: ScriptPubKey, changeSerialId: UInt64, fundOutputSerialId: UInt64, feeRate: SatoshisPerVirtualByte, contractMaturityBound: BlockTimeStamp, contractTimeout: BlockTimeStamp) extends DLCSetupTLV with Product with Serializable
  12. sealed trait DLCOracleTLV extends TLV
  13. sealed trait DLCOutcomeType extends AnyRef

    Represents a DLC event that could be signed by an oracle

  14. sealed trait DLCSerializationVersion extends AnyRef

    We have various binary serializations in our codebase currently.

    We have various binary serializations in our codebase currently. This is a product of trying to release a DLC wallet before the spec was finalized. Some of the binary level serialization for DLCs has changed since we initiallly deployed wallets.

  15. sealed trait DLCSetupPieceTLV extends TLV
  16. sealed trait DLCSetupTLV extends TLV
  17. case class DLCSignTLV(contractId: ByteVector, cetSignatures: CETSignaturesTLV, refundSignature: ECDigitalSignature, fundingSignatures: FundingSignaturesTLV) extends DLCSetupTLV with Product with Serializable
  18. sealed trait DigitDecompositionEventDescriptorV0TLV extends NumericEventDescriptorTLV

    Describes a large range event using numerical decomposition

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

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

    An outcome from an enumerated event type

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

  22. sealed trait EventDescriptorTLV extends DLCOracleTLV
  23. sealed trait FundingInputTLV extends DLCSetupPieceTLV
  24. case class FundingInputV0TLV(inputSerialId: UInt64, prevTx: Transaction, prevTxVout: UInt32, sequence: UInt32, maxWitnessLen: UInt16, redeemScriptOpt: Option[WitnessScriptPubKey]) extends FundingInputTLV with Product with Serializable
  25. sealed trait FundingSignaturesTLV extends DLCSetupPieceTLV
  26. case class FundingSignaturesV0TLV(witnesses: Vector[ScriptWitnessV0]) extends FundingSignaturesTLV with Product with Serializable
  27. case class HyperbolaPayoutCurvePieceTLV(usePositivePiece: Boolean, translateOutcome: Signed16PTLVNumber, translatePayout: Signed16PTLVNumber, a: Signed16PTLVNumber, b: Signed16PTLVNumber, c: Signed16PTLVNumber, d: Signed16PTLVNumber) extends PayoutCurvePieceTLV with Product with Serializable
  28. 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

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

  30. case class LnMessageFactory[+T <: TLV](tlvFactory: TLVFactory[T]) extends Factory[LnMessage[T]] with Product with Serializable
  31. sealed trait MultiOracleInfoTLV extends OracleInfoTLV
  32. sealed trait NegotiationFieldsTLV extends DLCSetupPieceTLV
  33. case class NegotiationFieldsV1TLV(roundingIntervalsV0TLV: RoundingIntervalsV0TLV) extends NegotiationFieldsTLV with Product with Serializable
  34. case class NegotiationFieldsV2TLV(nestedNegotiationFields: Vector[NegotiationFieldsTLV]) extends NegotiationFieldsTLV with Product with Serializable
  35. case class NormalizedString(str: String) extends NetworkElement with Product with Serializable
  36. sealed trait NumericDLCOutcomeType extends DLCOutcomeType
  37. sealed trait NumericEventDescriptorTLV extends EventDescriptorTLV
  38. case class OldPayoutFunctionV0TLV(points: Vector[OldTLVPoint]) extends DLCSetupPieceTLV with Product with Serializable
  39. case class OldTLVPoint(outcome: Long, value: Satoshis, extraPrecision: Int, isEndpoint: Boolean) extends NetworkElement with Product with Serializable
  40. sealed trait OracleAnnouncementTLV extends DLCOracleTLV
  41. case class OracleAnnouncementV0TLV(announcementSignature: SchnorrDigitalSignature, publicKey: SchnorrPublicKey, eventTLV: OracleEventV0TLV) extends OracleAnnouncementTLV with Product with Serializable
  42. sealed trait OracleAttestmentTLV extends DLCOracleTLV
  43. case class OracleAttestmentV0TLV(eventId: NormalizedString, publicKey: SchnorrPublicKey, unsortedSignatures: Vector[SchnorrDigitalSignature], outcomes: Vector[NormalizedString]) extends OracleAttestmentTLV with Product with Serializable
  44. sealed trait OracleEventTLV extends DLCOracleTLV
  45. case class OracleEventV0TLV(nonces: Vector[SchnorrNonce], eventMaturityEpoch: UInt32, eventDescriptor: EventDescriptorTLV, eventId: NormalizedString) extends OracleEventTLV with Product with Serializable
  46. sealed trait OracleInfoTLV extends DLCSetupPieceTLV
  47. case class OracleInfoV0TLV(announcement: OracleAnnouncementTLV) extends OracleInfoTLV with Product with Serializable
  48. case class OracleInfoV1TLV(threshold: Int, oracles: OrderedAnnouncements) extends MultiOracleInfoTLV with Product with Serializable
  49. case class OracleInfoV2TLV(threshold: Int, oracles: OrderedAnnouncements, params: OracleParamsTLV) extends MultiOracleInfoTLV with Product with Serializable
  50. sealed trait OracleParamsTLV extends DLCSetupPieceTLV
  51. case class OracleParamsV0TLV(maxErrorExp: Int, minFailExp: Int, maximizeCoverage: Boolean) extends OracleParamsTLV with Product with Serializable
  52. case class OutgoingCLTVValueTLV(cltv: UInt32) extends TLV with Product with Serializable
  53. case class PaymentDataTLV(paymentSecret: PaymentSecret, msats: MilliSatoshis) extends TLV with Product with Serializable
  54. sealed trait PayoutCurvePieceTLV extends DLCSetupPieceTLV
  55. case class PayoutFunctionV0TLV(endpoints: OrderedTLVPoints, pieces: Vector[PayoutCurvePieceTLV], serializationVersion: DLCSerializationVersion) extends DLCSetupPieceTLV with Product with Serializable

    See also

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

  56. case class PingTLV(numPongBytes: UInt16, ignored: ByteVector) extends TLV with Product with Serializable
  57. case class PolynomialPayoutCurvePieceTLV(midpoints: Vector[TLVPoint]) extends PayoutCurvePieceTLV with Product with Serializable
  58. case class PongTLV(ignored: ByteVector) extends TLV with Product with Serializable
  59. case class RoundingIntervalsV0TLV(intervalStarts: Vector[(Long, Satoshis)]) extends DLCSetupPieceTLV with Product with Serializable
  60. case class SendOfferTLV(peer: NormalizedString, message: NormalizedString, offer: DLCOfferTLV) extends DLCSetupTLV with Product with Serializable
  61. case class ShortChannelIdTLV(scid: ShortChannelId) extends TLV with Product with Serializable
  62. case class Signed16PTLVNumber(sign: Boolean, withoutPrecision: Long, extraPrecision: Int) extends NetworkElement with Product with Serializable
  63. 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

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

  65. sealed trait TLV extends NetworkElement with TLVUtil
  66. abstract class TLVDeserializable[T <: TLV, +U <: TLVSerializable[T]] extends Factory[U]
  67. sealed trait TLVFactory[+T <: TLV] extends Factory[T]
  68. sealed trait TLVParentFactory[T <: TLV] extends Factory[T]
  69. case class TLVPoint(outcome: Long, value: Satoshis, extraPrecision: Int) extends NetworkElement with Product with Serializable
  70. trait TLVSerializable[+T <: TLV] extends NetworkElement
  71. trait TLVUtil extends AnyRef
  72. case class UnknownTLV(tpe: BigSizeUInt, value: ByteVector) extends TLV with Product with Serializable
  73. 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

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

  75. case class ValueIterator(value: ByteVector) extends Product with Serializable

Value Members

  1. object AmtToForwardTLV extends Factory[AmtToForwardTLV] with TLVFactory[AmtToForwardTLV] with Serializable
  2. object CETSignaturesV0TLV extends Factory[CETSignaturesV0TLV] with TLVFactory[CETSignaturesV0TLV] with Serializable
  3. object ContractDescriptorTLV extends Factory[ContractDescriptorTLV] with TLVParentFactory[ContractDescriptorTLV]
  4. object ContractDescriptorV0TLV extends Factory[ContractDescriptorV0TLV] with TLVFactory[ContractDescriptorV0TLV] with Serializable
  5. object ContractDescriptorV1TLV extends Factory[ContractDescriptorV1TLV] with TLVFactory[ContractDescriptorV1TLV] with Serializable
  6. object ContractInfoTLV extends Factory[ContractInfoTLV] with TLVParentFactory[ContractInfoTLV]
  7. object ContractInfoV0TLV extends Factory[ContractInfoV0TLV] with TLVFactory[ContractInfoV0TLV] with Serializable
  8. object ContractInfoV1TLV extends Factory[ContractInfoV1TLV] with TLVFactory[ContractInfoV1TLV] with Serializable
  9. object DLCAcceptTLV extends Factory[DLCAcceptTLV] with TLVFactory[DLCAcceptTLV] with Serializable
  10. object DLCOfferTLV extends Factory[DLCOfferTLV] with TLVFactory[DLCOfferTLV] with Serializable
  11. object DLCSerializationVersion extends StringFactory[DLCSerializationVersion]
  12. object DLCSignTLV extends Factory[DLCSignTLV] with TLVFactory[DLCSignTLV] with Serializable
  13. object DigitDecompositionEventDescriptorV0TLV extends Factory[DigitDecompositionEventDescriptorV0TLV] with TLVFactory[DigitDecompositionEventDescriptorV0TLV]
  14. object EnumEventDescriptorV0TLV extends Factory[EnumEventDescriptorV0TLV] with TLVFactory[EnumEventDescriptorV0TLV] with Serializable
  15. object ErrorTLV extends Factory[ErrorTLV] with TLVFactory[ErrorTLV] with Serializable
  16. object EventDescriptorTLV extends Factory[EventDescriptorTLV] with TLVParentFactory[EventDescriptorTLV]
  17. object FundingInputV0TLV extends Factory[FundingInputV0TLV] with TLVFactory[FundingInputV0TLV] with Serializable
  18. object FundingSignaturesV0TLV extends Factory[FundingSignaturesV0TLV] with TLVFactory[FundingSignaturesV0TLV] with Serializable
  19. object HyperbolaPayoutCurvePieceTLV extends Factory[HyperbolaPayoutCurvePieceTLV] with TLVFactory[HyperbolaPayoutCurvePieceTLV] with Serializable
  20. object InitTLV extends Factory[InitTLV] with TLVFactory[InitTLV] with Serializable
  21. object LnMessage extends Factory[LnMessage[TLV]] with Serializable
  22. object NegotiationFieldsTLV extends Factory[NegotiationFieldsTLV] with TLVParentFactory[NegotiationFieldsTLV]
  23. object NegotiationFieldsV1TLV extends Factory[NegotiationFieldsV1TLV] with TLVFactory[NegotiationFieldsV1TLV] with Serializable
  24. object NegotiationFieldsV2TLV extends Factory[NegotiationFieldsV2TLV] with TLVFactory[NegotiationFieldsV2TLV] with Serializable
  25. case object NoNegotiationFieldsTLV extends NegotiationFieldsTLV with Product with Serializable
  26. object NoNegotiationFieldsTLVFactory extends Factory[NoNegotiationFieldsTLV.type] with TLVFactory[NoNegotiationFieldsTLV.type]
  27. object NormalizedString extends StringFactory[NormalizedString] with Serializable
  28. object OldTLVPoint extends Factory[OldTLVPoint] with Serializable
  29. object OracleAnnouncementTLV extends Factory[OracleAnnouncementTLV] with TLVParentFactory[OracleAnnouncementTLV]
  30. object OracleAnnouncementV0TLV extends Factory[OracleAnnouncementV0TLV] with TLVFactory[OracleAnnouncementV0TLV] with Serializable
  31. object OracleAttestmentTLV extends Factory[OracleAttestmentTLV] with TLVParentFactory[OracleAttestmentTLV]
  32. object OracleAttestmentV0TLV extends Factory[OracleAttestmentV0TLV] with TLVFactory[OracleAttestmentV0TLV] with Serializable
  33. object OracleEventV0TLV extends Factory[OracleEventV0TLV] with TLVFactory[OracleEventV0TLV] with Serializable
  34. object OracleInfoTLV extends Factory[OracleInfoTLV] with TLVParentFactory[OracleInfoTLV]
  35. object OracleInfoV0TLV extends Factory[OracleInfoV0TLV] with TLVFactory[OracleInfoV0TLV] with Serializable
  36. object OracleInfoV1TLV extends Factory[OracleInfoV1TLV] with TLVFactory[OracleInfoV1TLV] with Serializable
  37. object OracleInfoV2TLV extends Factory[OracleInfoV2TLV] with TLVFactory[OracleInfoV2TLV] with Serializable
  38. object OracleParamsV0TLV extends Factory[OracleParamsV0TLV] with TLVFactory[OracleParamsV0TLV] with Serializable
  39. object OutgoingCLTVValueTLV extends Factory[OutgoingCLTVValueTLV] with TLVFactory[OutgoingCLTVValueTLV] with Serializable
  40. object PaymentDataTLV extends Factory[PaymentDataTLV] with TLVFactory[PaymentDataTLV] with Serializable
  41. object PayoutCurvePieceTLV extends Factory[PayoutCurvePieceTLV] with TLVParentFactory[PayoutCurvePieceTLV]
  42. object PayoutFunctionV0TLV extends Factory[PayoutFunctionV0TLV] with TLVFactory[PayoutFunctionV0TLV] with Serializable
  43. object PingTLV extends Factory[PingTLV] with TLVFactory[PingTLV] with Serializable
  44. object PolynomialPayoutCurvePieceTLV extends Factory[PolynomialPayoutCurvePieceTLV] with TLVFactory[PolynomialPayoutCurvePieceTLV] with Serializable
  45. object PongTLV extends Factory[PongTLV] with TLVFactory[PongTLV] with Serializable
  46. object RoundingIntervalsV0TLV extends Factory[RoundingIntervalsV0TLV] with TLVFactory[RoundingIntervalsV0TLV] with Serializable
  47. object SendOfferTLV extends Factory[SendOfferTLV] with TLVFactory[SendOfferTLV] with Serializable
  48. object ShortChannelIdTLV extends Factory[ShortChannelIdTLV] with TLVFactory[ShortChannelIdTLV] with Serializable
  49. object Signed16PTLVNumber extends Factory[Signed16PTLVNumber] with Serializable
  50. object TLV extends Factory[TLV] with TLVParentFactory[TLV]
  51. object TLVPoint extends Factory[TLVPoint] with Serializable
  52. object UnknownTLV extends Factory[UnknownTLV] with Serializable

Ungrouped