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()
- Alphabetic
- By Inheritance
- SignDescriptor
- Updatable
- GeneratedMessage
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clearKeyDesc: SignDescriptor
- def clearOutput: SignDescriptor
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def companion: SignDescriptor.type
- Definition Classes
- SignDescriptor → GeneratedMessage
- def discardUnknownFields: SignDescriptor
- val doubleTweak: ByteString
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getField(__field: FieldDescriptor): PValue
- Definition Classes
- SignDescriptor → GeneratedMessage
- def getFieldByNumber(__fieldNumber: Int): Any
- Definition Classes
- SignDescriptor → GeneratedMessage
- def getKeyDesc: KeyDescriptor
- def getOutput: TxOut
- val inputIndex: Int
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val keyDesc: Option[KeyDescriptor]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val output: Option[TxOut]
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def serializedSize: Int
- Definition Classes
- SignDescriptor → GeneratedMessage
- val sighash: Int
- val signMethod: SignMethod
- val singleTweak: ByteString
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val tapTweak: ByteString
- final def toByteArray: Array[Byte]
- Definition Classes
- GeneratedMessage
- final def toByteString: ByteString
- Definition Classes
- GeneratedMessage
- final def toPMessage: PMessage
- Definition Classes
- GeneratedMessage
- def toProtoString: String
- Definition Classes
- SignDescriptor → GeneratedMessage
- val unknownFields: UnknownFieldSet
- def update(ms: (Lens[SignDescriptor, SignDescriptor]) => Mutation[SignDescriptor]*): SignDescriptor
- Definition Classes
- Updatable
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withDoubleTweak(__v: ByteString): SignDescriptor
- def withInputIndex(__v: Int): SignDescriptor
- def withKeyDesc(__v: KeyDescriptor): SignDescriptor
- def withOutput(__v: TxOut): SignDescriptor
- def withSighash(__v: Int): SignDescriptor
- def withSignMethod(__v: SignMethod): SignDescriptor
- def withSingleTweak(__v: ByteString): SignDescriptor
- def withTapTweak(__v: ByteString): SignDescriptor
- def withUnknownFields(__v: UnknownFieldSet): SignDescriptor
- def withWitnessScript(__v: ByteString): SignDescriptor
- val witnessScript: ByteString
- final def writeDelimitedTo(output: OutputStream): Unit
- Definition Classes
- GeneratedMessage
- def writeTo(_output__: CodedOutputStream): Unit
- Definition Classes
- SignDescriptor → GeneratedMessage
- final def writeTo(output: OutputStream): Unit
- Definition Classes
- GeneratedMessage