#[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§impl PartialOrd for WitnessVer
impl PartialOrd for WitnessVer
Source§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
Source§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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.