Enum SchnorrSighashType
pub enum SchnorrSighashType {
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 SchnorrSighashType::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§
§impl SchnorrSighashType
impl SchnorrSighashType
pub fn from_u8(hash_ty: u8) -> Result<SchnorrSighashType, Error>
👎Deprecated since 0.29.0: use from_consensus_u8 instead
pub fn from_u8(hash_ty: u8) -> Result<SchnorrSighashType, Error>
Creates a SchnorrSighashType
from raw u8
.
pub fn from_consensus_u8(hash_ty: u8) -> Result<SchnorrSighashType, Error>
pub fn from_consensus_u8(hash_ty: u8) -> Result<SchnorrSighashType, Error>
Constructs a SchnorrSighashType
from a raw u8
.
Trait Implementations§
§impl Clone for SchnorrSighashType
impl Clone for SchnorrSighashType
§fn clone(&self) -> SchnorrSighashType
fn clone(&self) -> SchnorrSighashType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for SchnorrSighashType
impl Debug for SchnorrSighashType
§impl Display for SchnorrSighashType
impl Display for SchnorrSighashType
§impl From<EcdsaSighashType> for SchnorrSighashType
impl From<EcdsaSighashType> for SchnorrSighashType
§fn from(s: EcdsaSighashType) -> SchnorrSighashType
fn from(s: EcdsaSighashType) -> SchnorrSighashType
§impl From<SchnorrSighashType> for PsbtSighashType
impl From<SchnorrSighashType> for PsbtSighashType
§fn from(schnorr_hash_ty: SchnorrSighashType) -> PsbtSighashType
fn from(schnorr_hash_ty: SchnorrSighashType) -> PsbtSighashType
§impl FromStr for SchnorrSighashType
impl FromStr for SchnorrSighashType
§type Err = SighashTypeParseError
type Err = SighashTypeParseError
§fn from_str(
s: &str,
) -> Result<SchnorrSighashType, <SchnorrSighashType as FromStr>::Err>
fn from_str( s: &str, ) -> Result<SchnorrSighashType, <SchnorrSighashType as FromStr>::Err>
s
to return a value of this type. Read more§impl Hash for SchnorrSighashType
impl Hash for SchnorrSighashType
§impl Ord for SchnorrSighashType
impl Ord for SchnorrSighashType
§fn cmp(&self, other: &SchnorrSighashType) -> Ordering
fn cmp(&self, other: &SchnorrSighashType) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
§impl PartialEq for SchnorrSighashType
impl PartialEq for SchnorrSighashType
§impl PartialOrd for SchnorrSighashType
impl PartialOrd for SchnorrSighashType
impl Copy for SchnorrSighashType
impl Eq for SchnorrSighashType
impl StructuralPartialEq for SchnorrSighashType
Auto Trait Implementations§
impl Freeze for SchnorrSighashType
impl RefUnwindSafe for SchnorrSighashType
impl Send for SchnorrSighashType
impl Sync for SchnorrSighashType
impl Unpin for SchnorrSighashType
impl UnwindSafe for SchnorrSighashType
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request