Module sighash

Expand description

Signature hash implementation (used in transaction signing).

Efficient implementation of the algorithm to compute the message to be signed according to Bip341, Bip143 and legacy (before Bip143).

Computing signature hashes is required to sign a transaction and this module is designed to handle its complexity efficiently. Computing these hashes is as simple as creating SighashCache and calling its methods.

Structs§

Annex
The Annex struct is a slice wrapper enforcing first byte is 0x50.
InvalidSighashTypeError
Integer is not a consensus valid sighash type.
LegacySighash
Hash of a transaction according to the legacy signature algorithm.
NonStandardSighashTypeError
This type is consensus valid but an input including it would prevent the transaction from being relayed on today’s Bitcoin network.
PrevoutsKindError
A single prevout was been provided but all prevouts are needed without ANYONECANPAY.
PrevoutsSizeError
The number of supplied prevouts differs from the number of inputs in the transaction.
ScriptPath
Information related to the script path spending.
SegwitV0Sighash
Hash of a transaction according to the segwit version 0 signature algorithm.
SighashCache
Efficiently calculates signature hash message for legacy, segwit and taproot inputs.
SighashTypeParseError
Error returned for failure during parsing one of the sighash types.
SingleMissingOutputError
Using SIGHASH_SINGLE requires an output at the same index as the input.
TapSighash
Taproot-tagged hash with tag "TapSighash".
TapSighashTag
The tag used for TapSighash

Enums§

AnnexError
Annex must be at least one byte long and the first bytes must be 0x50.
EcdsaSighashType
Hashtype of an input’s signature, encoded in the last byte of the signature.
EncodeSigningDataResult
Result of SighashCache::legacy_encode_signing_data_to.
P2wpkhError
Error computing a P2WPKH sighash.
Prevouts
Contains outputs of previous transactions. In the case TapSighashType variant is SIGHASH_ANYONECANPAY, Prevouts::One may be used.
PrevoutsIndexError
Prevouts index related errors.
SigningDataError
Error returned when writing signing data fails.
TapSighashType
Hashtype of an input’s signature, encoded in the last byte of the signature. Fixed values so they can be cast as integer types for encoding.
TaprootError
Error computing a taproot sighash.