Enum bpstd::WitnessVer 
source · #[repr(u8)]pub enum WitnessVer {
Show 17 variants
    V0 = 0,
    V1 = 81,
    V2 = 82,
    V3 = 83,
    V4 = 84,
    V5 = 85,
    V6 = 86,
    V7 = 87,
    V8 = 88,
    V9 = 89,
    V10 = 90,
    V11 = 91,
    V12 = 92,
    V13 = 93,
    V14 = 94,
    V15 = 95,
    V16 = 96,
}Expand description
Version of the witness program.
First byte of scriptPubkey in transaction output for transactions starting
with 0 and 0x51-0x60 (inclusive).
Variants§
V0 = 0
Initial version of witness program. Used for P2WPKH and P2WPK outputs
V1 = 81
Version of witness program used for Taproot P2TR outputs.
V2 = 82
Future (unsupported) version of witness program.
V3 = 83
Future (unsupported) version of witness program.
V4 = 84
Future (unsupported) version of witness program.
V5 = 85
Future (unsupported) version of witness program.
V6 = 86
Future (unsupported) version of witness program.
V7 = 87
Future (unsupported) version of witness program.
V8 = 88
Future (unsupported) version of witness program.
V9 = 89
Future (unsupported) version of witness program.
V10 = 90
Future (unsupported) version of witness program.
V11 = 91
Future (unsupported) version of witness program.
V12 = 92
Future (unsupported) version of witness program.
V13 = 93
Future (unsupported) version of witness program.
V14 = 94
Future (unsupported) version of witness program.
V15 = 95
Future (unsupported) version of witness program.
V16 = 96
Future (unsupported) version of witness program.
Implementations§
source§impl WitnessVer
 
impl WitnessVer
sourcepub fn from_op_code(op_code: OpCode) -> Result<WitnessVer, SegwitError>
 
pub fn from_op_code(op_code: OpCode) -> Result<WitnessVer, SegwitError>
Converts bitcoin script opcode into WitnessVer variant.
§Errors
If the opcode does not correspond to any witness version, errors with
SegwitError::MalformedWitnessVersion.
sourcepub fn from_version_no(no: u8) -> Result<WitnessVer, SegwitError>
 
pub fn from_version_no(no: u8) -> Result<WitnessVer, SegwitError>
Converts witness version ordinal number into WitnessVer variant.
§Errors
If the witness version number exceeds 16, errors with
SegwitError::MalformedWitnessVersion.
sourcepub fn op_code(self) -> OpCode
 
pub fn op_code(self) -> OpCode
Converts WitnessVer instance into corresponding Bitcoin op-code.
sourcepub fn version_no(self) -> u8
 
pub fn version_no(self) -> u8
Converts WitnessVer into ordinal version number.
Trait Implementations§
source§impl Clone for WitnessVer
 
impl Clone for WitnessVer
source§fn clone(&self) -> WitnessVer
 
fn clone(&self) -> WitnessVer
1.0.0 · source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for WitnessVer
 
impl Debug for WitnessVer
source§impl Display for WitnessVer
 
impl Display for WitnessVer
source§impl Hash for WitnessVer
 
impl Hash for WitnessVer
source§impl Ord for WitnessVer
 
impl Ord for WitnessVer
source§fn cmp(&self, other: &WitnessVer) -> Ordering
 
fn cmp(&self, other: &WitnessVer) -> 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 WitnessVer
 
impl PartialEq for WitnessVer
source§fn eq(&self, other: &WitnessVer) -> bool
 
fn eq(&self, other: &WitnessVer) -> bool
self and other values to be equal, and is used
by ==.source§impl PartialOrd for WitnessVer
 
impl PartialOrd for WitnessVer
source§fn partial_cmp(&self, other: &WitnessVer) -> Option<Ordering>
 
fn partial_cmp(&self, other: &WitnessVer) -> 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 StrictDecode for WitnessVer
 
impl StrictDecode for WitnessVer
fn strict_decode(reader: &mut impl TypedRead) -> Result<WitnessVer, DecodeError>
fn strict_read(reader: impl ReadRaw) -> Result<Self, DecodeError>
source§impl StrictDumb for WitnessVer
 
impl StrictDumb for WitnessVer
fn strict_dumb() -> WitnessVer
source§impl StrictEncode for WitnessVer
 
impl StrictEncode for WitnessVer
fn strict_encode<W>(&self, writer: W) -> Result<W, Error>where
    W: TypedWrite,
fn strict_write(&self, writer: impl WriteRaw) -> Result<(), Error>
source§impl StrictEnum for WitnessVer
 
impl StrictEnum for WitnessVer
fn from_variant_name( name: &VariantName ) -> Result<Self, VariantError<&VariantName>>
fn strict_type_info() -> TypeInfo<Self>
source§impl StrictSum for WitnessVer
 
impl StrictSum for WitnessVer
const ALL_VARIANTS: &'static [(u8, &'static str)] = _
fn variant_name(&self) -> &'static str
fn strict_check_variants()
fn variant_name_by_tag(tag: u8) -> Option<VariantName>
fn variant_ord(&self) -> u8
source§impl StrictType for WitnessVer
 
impl StrictType for WitnessVer
const STRICT_LIB_NAME: &'static str = LIB_NAME_BITCOIN
fn strict_name() -> Option<TypeName>
source§impl TryFrom<u8> for WitnessVer
 
impl TryFrom<u8> for WitnessVer
§type Error = VariantError<u8>
 
type Error = VariantError<u8>
source§fn try_from(value: u8) -> Result<WitnessVer, <WitnessVer as TryFrom<u8>>::Error>
 
fn try_from(value: u8) -> Result<WitnessVer, <WitnessVer as TryFrom<u8>>::Error>
impl Copy for WitnessVer
impl Eq for WitnessVer
impl StructuralPartialEq for WitnessVer
Auto Trait Implementations§
impl Freeze for WitnessVer
impl RefUnwindSafe for WitnessVer
impl Send for WitnessVer
impl Sync for WitnessVer
impl Unpin for WitnessVer
impl UnwindSafe for WitnessVer
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<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§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.