Enum bitcoin::sighash::TapSighashType
source · pub enum TapSighashType {
Default = 0,
All = 1,
None = 2,
Single = 3,
AllPlusAnyoneCanPay = 129,
NonePlusAnyoneCanPay = 130,
SinglePlusAnyoneCanPay = 131,
}
Expand description
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.
Variants§
Default = 0
0x0: Used when not explicitly specified, defaults to TapSighashType::All
All = 1
0x1: Sign all outputs.
None = 2
0x2: Sign no outputs — anyone can choose the destination.
Single = 3
0x3: Sign the output whose index matches this input’s index. If none exists,
sign the hash 0000000000000000000000000000000000000000000000000000000000000001
.
(This rule is probably an unintentional C++ism, but it’s consensus so we have
to follow it.)
AllPlusAnyoneCanPay = 129
0x81: Sign all outputs but only this input.
NonePlusAnyoneCanPay = 130
0x82: Sign no outputs and only this input.
SinglePlusAnyoneCanPay = 131
0x83: Sign one output and only this input (see Single
for what “one output” means).
Implementations§
source§impl TapSighashType
impl TapSighashType
sourcepub fn from_consensus_u8(
sighash_type: u8,
) -> Result<Self, InvalidSighashTypeError>
pub fn from_consensus_u8( sighash_type: u8, ) -> Result<Self, InvalidSighashTypeError>
Constructs a TapSighashType
from a raw u8
.
Trait Implementations§
source§impl Clone for TapSighashType
impl Clone for TapSighashType
source§fn clone(&self) -> TapSighashType
fn clone(&self) -> TapSighashType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for TapSighashType
impl Debug for TapSighashType
source§impl<'de> Deserialize<'de> for TapSighashType
impl<'de> Deserialize<'de> for TapSighashType
source§fn deserialize<D>(deserializer: D) -> Result<TapSighashType, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<TapSighashType, D::Error>where
D: Deserializer<'de>,
source§impl Display for TapSighashType
impl Display for TapSighashType
source§impl From<EcdsaSighashType> for TapSighashType
impl From<EcdsaSighashType> for TapSighashType
source§fn from(s: EcdsaSighashType) -> Self
fn from(s: EcdsaSighashType) -> Self
source§impl From<TapSighashType> for PsbtSighashType
impl From<TapSighashType> for PsbtSighashType
source§fn from(taproot_hash_ty: TapSighashType) -> Self
fn from(taproot_hash_ty: TapSighashType) -> Self
source§impl FromStr for TapSighashType
impl FromStr for TapSighashType
source§impl Hash for TapSighashType
impl Hash for TapSighashType
source§impl Ord for TapSighashType
impl Ord for TapSighashType
source§fn cmp(&self, other: &TapSighashType) -> Ordering
fn cmp(&self, other: &TapSighashType) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for TapSighashType
impl PartialEq for TapSighashType
source§fn eq(&self, other: &TapSighashType) -> bool
fn eq(&self, other: &TapSighashType) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for TapSighashType
impl PartialOrd for TapSighashType
source§fn partial_cmp(&self, other: &TapSighashType) -> Option<Ordering>
fn partial_cmp(&self, other: &TapSighashType) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for TapSighashType
impl Serialize for TapSighashType
impl Copy for TapSighashType
impl Eq for TapSighashType
impl StructuralPartialEq for TapSighashType
Auto Trait Implementations§
impl Freeze for TapSighashType
impl RefUnwindSafe for TapSighashType
impl Send for TapSighashType
impl Sync for TapSighashType
impl Unpin for TapSighashType
impl UnwindSafe for TapSighashType
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)