Struct hdpath::StandardHDPath
source · pub struct StandardHDPath { /* private fields */ }
Expand description
Standard HD Path for BIP-44,
BIP-49, BIP-84
and similar. For path as m/purpose'/coin_type'/account'/change/address_index
, like m/44'/0'/0'/0/0
.
Create new
use hdpath::{StandardHDPath, Purpose};
//creates path m/84'/0'/0'/0/0
let hdpath = StandardHDPath::new(Purpose::Witness, 0, 0, 0, 0);
Parse string
use hdpath::{StandardHDPath, Purpose};
//creates path m/84'/0'/0'/0/0
let hdpath = StandardHDPath::from_str("m/84'/0'/0'/0/0").unwrap();
Implementations§
source§impl StandardHDPath
impl StandardHDPath
sourcepub fn new(
purpose: Purpose,
coin_type: u32,
account: u32,
change: u32,
index: u32
) -> StandardHDPath
pub fn new( purpose: Purpose, coin_type: u32, account: u32, change: u32, index: u32 ) -> StandardHDPath
Create a standard HD Path. Panics if any of the values is incorrect
use hdpath::{StandardHDPath, Purpose};
let hdpath = StandardHDPath::new(Purpose::Witness, 0, 2, 0, 0);
sourcepub fn try_new(
purpose: Purpose,
coin_type: u32,
account: u32,
change: u32,
index: u32
) -> Result<StandardHDPath, (String, u32)>
pub fn try_new( purpose: Purpose, coin_type: u32, account: u32, change: u32, index: u32 ) -> Result<StandardHDPath, (String, u32)>
Try to create a standard HD Path.
Return error (field_name, invalid_value)
if a field has an incorrect value.
use hdpath::{StandardHDPath, Purpose};
let index = 0x80000100; //received from unreliable source
match StandardHDPath::try_new(Purpose::Witness, 0, 2, 0, index) {
Ok(hdpath) => { }
Err(err) => println!("Invalid value {} = {}", err.0, err.1)
}
pub fn purpose(&self) -> &Purpose
pub fn coin_type(&self) -> u32
pub fn account(&self) -> u32
pub fn change(&self) -> u32
pub fn index(&self) -> u32
sourcepub fn from_bytes(path: &[u8]) -> Result<Self, Error>
pub fn from_bytes(path: &[u8]) -> Result<Self, Error>
Decode from bytes, where first byte is number of elements in path (always 5 for StandardHDPath) following by 4-byte BE values
Trait Implementations§
source§impl Clone for StandardHDPath
impl Clone for StandardHDPath
source§fn clone(&self) -> StandardHDPath
fn clone(&self) -> StandardHDPath
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 StandardHDPath
impl Debug for StandardHDPath
source§impl Default for StandardHDPath
impl Default for StandardHDPath
source§impl Display for StandardHDPath
impl Display for StandardHDPath
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 From<StandardHDPath> for CustomHDPath
impl From<StandardHDPath> for CustomHDPath
source§fn from(value: StandardHDPath) -> Self
fn from(value: StandardHDPath) -> Self
Converts to this type from the input type.
source§impl FromStr for StandardHDPath
impl FromStr for StandardHDPath
source§impl HDPath for StandardHDPath
impl HDPath for StandardHDPath
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 StandardHDPath
impl Hash for StandardHDPath
source§impl Ord for StandardHDPath
impl Ord for StandardHDPath
source§fn cmp(&self, other: &StandardHDPath) -> Ordering
fn cmp(&self, other: &StandardHDPath) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq<StandardHDPath> for StandardHDPath
impl PartialEq<StandardHDPath> for StandardHDPath
source§fn eq(&self, other: &StandardHDPath) -> bool
fn eq(&self, other: &StandardHDPath) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<StandardHDPath> for StandardHDPath
impl PartialOrd<StandardHDPath> for StandardHDPath
source§fn partial_cmp(&self, other: &StandardHDPath) -> Option<Ordering>
fn partial_cmp(&self, other: &StandardHDPath) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl TryFrom<&str> for StandardHDPath
impl TryFrom<&str> for StandardHDPath
source§impl TryFrom<CustomHDPath> for StandardHDPath
impl TryFrom<CustomHDPath> for StandardHDPath
impl Eq for StandardHDPath
impl StructuralEq for StandardHDPath
impl StructuralPartialEq for StandardHDPath
Auto Trait Implementations§
impl RefUnwindSafe for StandardHDPath
impl Send for StandardHDPath
impl Sync for StandardHDPath
impl Unpin for StandardHDPath
impl UnwindSafe for StandardHDPath
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