final case class SignDescriptor(keyDesc: Option[KeyDescriptor] = _root_.scala.None, singleTweak: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, doubleTweak: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, tapTweak: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, witnessScript: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, output: Option[TxOut] = _root_.scala.None, sighash: Int = 0, inputIndex: Int = 0, signMethod: SignMethod = signrpc.SignMethod.SIGN_METHOD_WITNESS_V0, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[SignDescriptor] with Product with Serializable

keyDesc

A descriptor that precisely describes *which* key to use for signing. This may provide the raw public key directly, or require the Signer to re-derive the key according to the populated derivation path. Note that if the key descriptor was obtained through walletrpc.DeriveKey, then the key locator MUST always be provided, since the derived keys are not persisted unlike with DeriveNextKey.

singleTweak

A scalar value that will be added to the private key corresponding to the above public key to obtain the private key to be used to sign this input. This value is typically derived via the following computation: derivedKey = privkey + sha256(perCommitmentPoint || pubKey) mod N

doubleTweak

A private key that will be used in combination with its corresponding private key to derive the private key that is to be used to sign the target input. Within the Lightning protocol, this value is typically the commitment secret from a previously revoked commitment transaction. This value is in combination with two hash values, and the original private key to derive the private key to be used when signing. k = (privKey*sha256(pubKey || tweakPub) + tweakPriv*sha256(tweakPub || pubKey)) mod N

tapTweak

The 32 byte input to the taproot tweak derivation that is used to derive the output key from an internal key: outputKey = internalKey + tagged_hash("tapTweak", internalKey || tapTweak). When doing a BIP 86 spend, this field can be an empty byte slice. When doing a normal key path spend, with the output key committing to an actual script root, then this field should be: the tapscript root hash.

witnessScript

The full script required to properly redeem the output. This field will only be populated if a p2tr, p2wsh or a p2sh output is being signed. If a taproot script path spend is being attempted, then this should be the raw leaf script.

output

A description of the output being spent. The value and script MUST be provided.

sighash

The target sighash type that should be used when generating the final sighash, and signature.

inputIndex

The target input within the transaction that should be signed.

signMethod

The sign method specifies how the input should be signed. Depending on the method, either the tap_tweak, witness_script or both need to be specified. Defaults to SegWit v0 signing to be backward compatible with older RPC clients.

Annotations
@SerialVersionUID()
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SignDescriptor
  2. Updatable
  3. GeneratedMessage
  4. Serializable
  5. Product
  6. Equals
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new SignDescriptor(keyDesc: Option[KeyDescriptor] = _root_.scala.None, singleTweak: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, doubleTweak: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, tapTweak: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, witnessScript: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, output: Option[TxOut] = _root_.scala.None, sighash: Int = 0, inputIndex: Int = 0, signMethod: SignMethod = signrpc.SignMethod.SIGN_METHOD_WITNESS_V0, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty)

    keyDesc

    A descriptor that precisely describes *which* key to use for signing. This may provide the raw public key directly, or require the Signer to re-derive the key according to the populated derivation path. Note that if the key descriptor was obtained through walletrpc.DeriveKey, then the key locator MUST always be provided, since the derived keys are not persisted unlike with DeriveNextKey.

    singleTweak

    A scalar value that will be added to the private key corresponding to the above public key to obtain the private key to be used to sign this input. This value is typically derived via the following computation: derivedKey = privkey + sha256(perCommitmentPoint || pubKey) mod N

    doubleTweak

    A private key that will be used in combination with its corresponding private key to derive the private key that is to be used to sign the target input. Within the Lightning protocol, this value is typically the commitment secret from a previously revoked commitment transaction. This value is in combination with two hash values, and the original private key to derive the private key to be used when signing. k = (privKey*sha256(pubKey || tweakPub) + tweakPriv*sha256(tweakPub || pubKey)) mod N

    tapTweak

    The 32 byte input to the taproot tweak derivation that is used to derive the output key from an internal key: outputKey = internalKey + tagged_hash("tapTweak", internalKey || tapTweak). When doing a BIP 86 spend, this field can be an empty byte slice. When doing a normal key path spend, with the output key committing to an actual script root, then this field should be: the tapscript root hash.

    witnessScript

    The full script required to properly redeem the output. This field will only be populated if a p2tr, p2wsh or a p2sh output is being signed. If a taproot script path spend is being attempted, then this should be the raw leaf script.

    output

    A description of the output being spent. The value and script MUST be provided.

    sighash

    The target sighash type that should be used when generating the final sighash, and signature.

    inputIndex

    The target input within the transaction that should be signed.

    signMethod

    The sign method specifies how the input should be signed. Depending on the method, either the tap_tweak, witness_script or both need to be specified. Defaults to SegWit v0 signing to be backward compatible with older RPC clients.

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 clearKeyDesc: SignDescriptor
  6. def clearOutput: SignDescriptor
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. def companion: SignDescriptor.type
    Definition Classes
    SignDescriptor → GeneratedMessage
  9. def discardUnknownFields: SignDescriptor
  10. val doubleTweak: ByteString
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def getField(__field: FieldDescriptor): PValue
    Definition Classes
    SignDescriptor → GeneratedMessage
  15. def getFieldByNumber(__fieldNumber: Int): Any
    Definition Classes
    SignDescriptor → GeneratedMessage
  16. def getKeyDesc: KeyDescriptor
  17. def getOutput: TxOut
  18. val inputIndex: Int
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. val keyDesc: Option[KeyDescriptor]
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. val output: Option[TxOut]
  25. def productElementNames: Iterator[String]
    Definition Classes
    Product
  26. def serializedSize: Int
    Definition Classes
    SignDescriptor → GeneratedMessage
  27. val sighash: Int
  28. val signMethod: SignMethod
  29. val singleTweak: ByteString
  30. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  31. val tapTweak: ByteString
  32. final def toByteArray: Array[Byte]
    Definition Classes
    GeneratedMessage
  33. final def toByteString: ByteString
    Definition Classes
    GeneratedMessage
  34. final def toPMessage: PMessage
    Definition Classes
    GeneratedMessage
  35. def toProtoString: String
    Definition Classes
    SignDescriptor → GeneratedMessage
  36. val unknownFields: UnknownFieldSet
  37. def update(ms: (Lens[SignDescriptor, SignDescriptor]) => Mutation[SignDescriptor]*): SignDescriptor
    Definition Classes
    Updatable
  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  40. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  41. def withDoubleTweak(__v: ByteString): SignDescriptor
  42. def withInputIndex(__v: Int): SignDescriptor
  43. def withKeyDesc(__v: KeyDescriptor): SignDescriptor
  44. def withOutput(__v: TxOut): SignDescriptor
  45. def withSighash(__v: Int): SignDescriptor
  46. def withSignMethod(__v: SignMethod): SignDescriptor
  47. def withSingleTweak(__v: ByteString): SignDescriptor
  48. def withTapTweak(__v: ByteString): SignDescriptor
  49. def withUnknownFields(__v: UnknownFieldSet): SignDescriptor
  50. def withWitnessScript(__v: ByteString): SignDescriptor
  51. val witnessScript: ByteString
  52. final def writeDelimitedTo(output: OutputStream): Unit
    Definition Classes
    GeneratedMessage
  53. def writeTo(_output__: CodedOutputStream): Unit
    Definition Classes
    SignDescriptor → GeneratedMessage
  54. final def writeTo(output: OutputStream): Unit
    Definition Classes
    GeneratedMessage

Inherited from Updatable[SignDescriptor]

Inherited from GeneratedMessage

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped