Enum AddressFormat

Source
#[non_exhaustive]
pub enum AddressFormat {
Show 28 variants Bitcoin(BitcoinFormat), BitcoinTestnet, Ethereum, BitcoinCash(Option<String>), Litecoin, LitecoinCash, Dogecoin, Dash, Ripple, Namecoin, Asiacoin, BitcoinGold, Beetlecoin, Blackcoin, Clams, Europecoin, Feathercoin, Fujicoin, Hempcoin, Peercoin, Potcoin, ShadowCash, Stratis, Syscoin, VCash, Verge, Vertcoin, ZCash,
}
Expand description

Format specification for generating addresses from public keys.

Specifies how a public key should be formatted into an address. Unit-like variants merely specify the blockchain network for which the address is intended to be used. No further information is needed for unit-like variants because this crate only supports one way to format the public key into an address string for that blockchain network.

Non-unit-like variants specify a blockchain network, but also contain additional user options that further specify how the address should be formatted.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Bitcoin(BitcoinFormat)

Bitcoin mainnet.

§

BitcoinTestnet

§

Ethereum

Available on crate feature eth only.
§

BitcoinCash(Option<String>)

Bitcoin cash mainnet. Inner value is the human-readable prefix to use in the address. If it is Some, the contained String will be used as the prefix to calculate with the cashaddr string with and it will be included in the cashaddr. If it is None, "bitcoincash" will be used as the prefix, but it will be omitted from the cashaddr as it is implied.

§

Litecoin

§

LitecoinCash

§

Dogecoin

§

Dash

§

Ripple

§

Namecoin

§

Asiacoin

§

BitcoinGold

§

Beetlecoin

§

Blackcoin

§

Clams

§

Europecoin

§

Feathercoin

§

Fujicoin

§

Hempcoin

§

Peercoin

§

Potcoin

§

ShadowCash

§

Stratis

§

Syscoin

§

VCash

§

Verge

§

Vertcoin

§

ZCash

Implementations§

Source§

impl AddressFormat

Source

pub fn address_prefix(&self) -> Option<u8>

get the address’s prefix byte if it exists

Source

pub fn network_name(&self) -> String

Get the name of the network associated with these options

Source

pub fn length(&self) -> usize

Get the maximum string length of the address generated for the given address options. This is useful for formatting.

Trait Implementations§

Source§

impl Clone for AddressFormat

Source§

fn clone(&self) -> AddressFormat

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AddressFormat

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AddressFormat

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for AddressFormat

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Write the name of the blockchain network this AddressFormat is associated with

Source§

impl From<&AddressFormat> for WIFFormat

Source§

fn from(opts: &AddressFormat) -> Self

Obtain a WIFFormat using the same blockchain network as an AddressFormat

Source§

impl FromStr for AddressFormat

Source§

fn from_str(s: &str) -> Result<Self, Error>

Parse a string s to return an AddressFormat instance. s must be either the common ticker symbol which represents the cryptocurrency or the name of the blockchain network. Parsing is case-insensitive: e.g. "btc", "bitcoin", "BTC", and "Bitcoin" all parse to Bitcoin, "ltc" and "litecoin" parse to Litecoin, etc.

In the case of Bitcoin Cash addresses, the optional human-readable prefix can be specified after a :, e.g. "bch" parses to BitcoinCash(None) and "bch:hrpref parses to BitcoinCash(Some(String::from("hrpref")))

Source§

type Err = Error

The associated error which can be returned from parsing.
Source§

impl PartialEq for AddressFormat

Source§

fn eq(&self, other: &AddressFormat) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

const fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for AddressFormat

Source§

impl StructuralPartialEq for AddressFormat

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.