pub struct BitcoinAddress {
pub network: Network,
pub witness_version: u8,
pub witness_program: Vec<u8>,
}Expand description
Encoded Bitcoin address
Fields§
§network: NetworkNetwork identifier
witness_version: u8Witness version (0 for SegWit, 1 for Taproot)
witness_program: Vec<u8>Witness program (20 bytes for P2WPKH, 32 bytes for P2WSH/P2TR)
Implementations§
Source§impl BitcoinAddress
impl BitcoinAddress
Sourcepub fn new(
network: Network,
witness_version: u8,
witness_program: Vec<u8>,
) -> Result<Self, AddressError>
pub fn new( network: Network, witness_version: u8, witness_program: Vec<u8>, ) -> Result<Self, AddressError>
Create a new Bech32/Bech32m address
Sourcepub fn encode(&self) -> Result<String, AddressError>
pub fn encode(&self) -> Result<String, AddressError>
Encode address to Bech32 (for SegWit v0) or Bech32m (for Taproot v1+)
BIP173: Witness version 0 uses Bech32 BIP350: Witness version 1+ uses Bech32m
Sourcepub fn decode(encoded: &str) -> Result<Self, AddressError>
pub fn decode(encoded: &str) -> Result<Self, AddressError>
Decode Bech32 or Bech32m address
Sourcepub fn is_taproot(&self) -> bool
pub fn is_taproot(&self) -> bool
Check if address is a Taproot address (P2TR)
Sourcepub fn address_type(&self) -> &'static str
pub fn address_type(&self) -> &'static str
Get address type as string
Trait Implementations§
Source§impl Clone for BitcoinAddress
impl Clone for BitcoinAddress
Source§fn clone(&self) -> BitcoinAddress
fn clone(&self) -> BitcoinAddress
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BitcoinAddress
impl Debug for BitcoinAddress
Source§impl PartialEq for BitcoinAddress
impl PartialEq for BitcoinAddress
Source§fn eq(&self, other: &BitcoinAddress) -> bool
fn eq(&self, other: &BitcoinAddress) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for BitcoinAddress
impl StructuralPartialEq for BitcoinAddress
Auto Trait Implementations§
impl Freeze for BitcoinAddress
impl RefUnwindSafe for BitcoinAddress
impl Send for BitcoinAddress
impl Sync for BitcoinAddress
impl Unpin for BitcoinAddress
impl UnsafeUnpin for BitcoinAddress
impl UnwindSafe for BitcoinAddress
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more