case class TaprootTxSigComponent(transaction: WitnessTransaction, inputIndex: UInt32, outputMap: PreviousOutputMap, flags: Seq[ScriptFlag]) extends TxSigComponent with WitnessTxSigComponent with Product with Serializable
Tx sig component that contains the differences between BIP143 (segwit v0) transaction signature serialization and BIP341.
The unique thing with BIP341 is the message commits to the scriptPubKeys of all outputs spent by the transaction, also
If the SIGHASH_ANYONECANPAY flag is not set, the message commits to the amounts of all transaction inputs.[18]
This means we need to bring ALL the outputs we are spending, even though this data structure is for checking the signature of a _single_ output.
- See also
https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#common-signature-message
- Alphabetic
- By Inheritance
- TaprootTxSigComponent
- Serializable
- Product
- Equals
- WitnessTxSigComponent
- TxSigComponent
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new TaprootTxSigComponent(transaction: WitnessTransaction, inputIndex: UInt32, outputMap: PreviousOutputMap, flags: Seq[ScriptFlag])
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
- def amount: CurrencyUnit
The amount of CurrencyUnit we are spending in this TxSigComponent
The amount of CurrencyUnit we are spending in this TxSigComponent
- Definition Classes
- TxSigComponent
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- val flags: Seq[ScriptFlag]
The flags that are needed to verify if the signature is correct
The flags that are needed to verify if the signature is correct
- Definition Classes
- TaprootTxSigComponent → TxSigComponent
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def input: TransactionInput
- Definition Classes
- TxSigComponent
- val inputIndex: UInt32
The index of the input whose script signature is being checked
The index of the input whose script signature is being checked
- Definition Classes
- TaprootTxSigComponent → TxSigComponent
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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()
- lazy val output: TransactionOutput
This is the output we are spending.
This is the output we are spending. We need this for script and digital signatures checks
- Definition Classes
- TaprootTxSigComponent → TxSigComponent
- val outputMap: PreviousOutputMap
- val outputs: Vector[TransactionOutput]
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def scriptPubKey: TaprootScriptPubKey
The scriptPubKey for which the input is being checked against
The scriptPubKey for which the input is being checked against
- Definition Classes
- TaprootTxSigComponent → TxSigComponent
- def scriptSignature: ScriptSignature
The script signature being checked
The script signature being checked
- Definition Classes
- TxSigComponent
- def sigVersion: SigVersionTaproot
Represents the serialization algorithm used to verify/create signatures for Bitcoin
Represents the serialization algorithm used to verify/create signatures for Bitcoin
- Definition Classes
- TaprootTxSigComponent → TxSigComponent
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val transaction: WitnessTransaction
The transaction being checked for the validity of signatures
The transaction being checked for the validity of signatures
- Definition Classes
- TaprootTxSigComponent → WitnessTxSigComponent → TxSigComponent
- 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 witness: TaprootWitness
- Definition Classes
- TaprootTxSigComponent → WitnessTxSigComponent
- val witnessVersion: WitnessVersion1.type
- Definition Classes
- TaprootTxSigComponent → WitnessTxSigComponent