Struct hdpath::AccountHDPath
source · pub struct AccountHDPath { /* private fields */ }
Expand description
Account-only HD Path for BIP-44, BIP-49, BIP-84 and similar.
It’s not supposed to be used to derive actual addresses, but only to build other path based on this
Represents m/purpose'/coin_type'/account'/x/x
, like m/44'/0'/0'/x/x
.
Create new
use hdpath::{AccountHDPath, Purpose};
//creates path m/84'/0'/0'
let hd_account = AccountHDPath::new(Purpose::Witness, 0, 0);
Parse string
use hdpath::{AccountHDPath};
//creates path m/84'/0'/0'
let hd_account = AccountHDPath::from_str("m/84'/0'/0'").unwrap();
Internal type and index can be explicitly market as unused (which is the default format for converting it into a string).
use hdpath::{AccountHDPath};
//creates path m/84'/0'/0'
let hd_account = AccountHDPath::from_str("m/84'/0'/0'/x/x").unwrap();
Create actial path
use hdpath::{AccountHDPath, Purpose, StandardHDPath};
let hd_account = AccountHDPath::from_str("m/84'/0'/0'").unwrap();
// gives hd path m/84'/0'/0'/0/4
let hd_path: StandardHDPath = hd_account.address_at(0, 4).unwrap();
Implementations§
source§impl AccountHDPath
impl AccountHDPath
pub fn new(purpose: Purpose, coin_type: u32, account: u32) -> AccountHDPath
pub fn try_new( purpose: Purpose, coin_type: u32, account: u32 ) -> Result<AccountHDPath, (String, u32)>
sourcepub fn address_at(
&self,
change: u32,
index: u32
) -> Result<StandardHDPath, (String, u32)>
pub fn address_at( &self, change: u32, index: u32 ) -> Result<StandardHDPath, (String, u32)>
Derive path to an address withing this account path
let hd_account = AccountHDPath::try_from("m/84'/0'/0'").unwrap();
// gives hd path m/84'/0'/0'/0/4
let hd_path: StandardHDPath = hd_account.address_at(0, 4).unwrap();
Return error (field_name, invalid_value)
if the field has an incorrect value.
It may happed if change or index are in hardened space.
pub fn purpose(&self) -> &Purpose
pub fn coin_type(&self) -> u32
pub fn account(&self) -> u32
Trait Implementations§
source§impl Clone for AccountHDPath
impl Clone for AccountHDPath
source§fn clone(&self) -> AccountHDPath
fn clone(&self) -> AccountHDPath
Returns a copy of the value. Read more
1.0.0 · 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 AccountHDPath
impl Debug for AccountHDPath
source§impl Display for AccountHDPath
impl Display for AccountHDPath
source§impl From<&StandardHDPath> for AccountHDPath
impl From<&StandardHDPath> for AccountHDPath
source§fn from(value: &StandardHDPath) -> Self
fn from(value: &StandardHDPath) -> Self
Converts to this type from the input type.
source§impl From<StandardHDPath> for AccountHDPath
impl From<StandardHDPath> for AccountHDPath
source§fn from(value: StandardHDPath) -> Self
fn from(value: StandardHDPath) -> Self
Converts to this type from the input type.
source§impl FromStr for AccountHDPath
impl FromStr for AccountHDPath
source§impl HDPath for AccountHDPath
impl HDPath for AccountHDPath
source§fn get(&self, pos: u8) -> Option<PathValue>
fn get(&self, pos: u8) -> Option<PathValue>
Get element as the specified position.
The implementation must return
Some<PathValue>
for all values up to len()
.
And return None
if the position if out of bounds. Read moresource§fn to_bytes(&self) -> Vec<u8>
fn to_bytes(&self) -> Vec<u8>
Encode as bytes, where first byte is number of elements in path (always 5 for StandardHDPath)
following by 4-byte BE values
source§fn parent(&self) -> Option<CustomHDPath>
fn parent(&self) -> Option<CustomHDPath>
Get parent HD Path.
Return
None
if the current path is empty (i.e. already at the top)source§fn as_custom(&self) -> CustomHDPath
fn as_custom(&self) -> CustomHDPath
Convert current to
CustomHDPath
structuresource§impl Hash for AccountHDPath
impl Hash for AccountHDPath
source§impl PartialEq<AccountHDPath> for AccountHDPath
impl PartialEq<AccountHDPath> for AccountHDPath
source§fn eq(&self, other: &AccountHDPath) -> bool
fn eq(&self, other: &AccountHDPath) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl TryFrom<&str> for AccountHDPath
impl TryFrom<&str> for AccountHDPath
source§impl TryFrom<CustomHDPath> for AccountHDPath
impl TryFrom<CustomHDPath> for AccountHDPath
impl Eq for AccountHDPath
impl StructuralEq for AccountHDPath
impl StructuralPartialEq for AccountHDPath
Auto Trait Implementations§
impl RefUnwindSafe for AccountHDPath
impl Send for AccountHDPath
impl Sync for AccountHDPath
impl Unpin for AccountHDPath
impl UnwindSafe for AccountHDPath
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