Struct DerivationPath
pub struct DerivationPath(/* private fields */);
Expand description
A BIP-32 derivation path.
Implementations§
§impl DerivationPath
impl DerivationPath
pub fn master() -> DerivationPath
pub fn master() -> DerivationPath
Returns derivation path for a master key (i.e. empty derivation path)
pub fn is_master(&self) -> bool
pub fn is_master(&self) -> bool
Returns whether derivation path represents master key (i.e. it’s length
is empty). True for m
path.
pub fn child(&self, cn: ChildNumber) -> DerivationPath
pub fn child(&self, cn: ChildNumber) -> DerivationPath
Create a new DerivationPath that is a child of this one.
pub fn into_child(self, cn: ChildNumber) -> DerivationPath
pub fn into_child(self, cn: ChildNumber) -> DerivationPath
Convert into a DerivationPath that is a child of this one.
pub fn children_from(&self, cn: ChildNumber) -> DerivationPathIterator<'_> ⓘ
pub fn children_from(&self, cn: ChildNumber) -> DerivationPathIterator<'_> ⓘ
Get an Iterator over the children of this DerivationPath starting with the given ChildNumber.
pub fn normal_children(&self) -> DerivationPathIterator<'_> ⓘ
pub fn normal_children(&self) -> DerivationPathIterator<'_> ⓘ
Get an Iterator over the unhardened children of this DerivationPath.
pub fn hardened_children(&self) -> DerivationPathIterator<'_> ⓘ
pub fn hardened_children(&self) -> DerivationPathIterator<'_> ⓘ
Get an Iterator over the hardened children of this DerivationPath.
pub fn extend<T>(&self, path: T) -> DerivationPathwhere
T: AsRef<[ChildNumber]>,
pub fn extend<T>(&self, path: T) -> DerivationPathwhere
T: AsRef<[ChildNumber]>,
Concatenate self
with path
and return the resulting new path.
use bitcoin::util::bip32::{DerivationPath, ChildNumber};
use std::str::FromStr;
let base = DerivationPath::from_str("m/42").unwrap();
let deriv_1 = base.extend(DerivationPath::from_str("m/0/1").unwrap());
let deriv_2 = base.extend(&[
ChildNumber::from_normal_idx(0).unwrap(),
ChildNumber::from_normal_idx(1).unwrap()
]);
assert_eq!(deriv_1, deriv_2);
Trait Implementations§
§impl AsRef<[ChildNumber]> for DerivationPath
impl AsRef<[ChildNumber]> for DerivationPath
§fn as_ref(&self) -> &[ChildNumber]
fn as_ref(&self) -> &[ChildNumber]
Converts this type into a shared reference of the (usually inferred) input type.
§impl Clone for DerivationPath
impl Clone for DerivationPath
§fn clone(&self) -> DerivationPath
fn clone(&self) -> DerivationPath
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 more§impl Debug for DerivationPath
impl Debug for DerivationPath
§impl Default for DerivationPath
impl Default for DerivationPath
§fn default() -> DerivationPath
fn default() -> DerivationPath
Returns the “default value” for a type. Read more
§impl Display for DerivationPath
impl Display for DerivationPath
§impl<'a> From<&'a [ChildNumber]> for DerivationPath
impl<'a> From<&'a [ChildNumber]> for DerivationPath
§fn from(numbers: &'a [ChildNumber]) -> DerivationPath
fn from(numbers: &'a [ChildNumber]) -> DerivationPath
Converts to this type from the input type.
§impl From<DerivationPath> for Vec<ChildNumber>
impl From<DerivationPath> for Vec<ChildNumber>
§fn from(path: DerivationPath) -> Vec<ChildNumber>
fn from(path: DerivationPath) -> Vec<ChildNumber>
Converts to this type from the input type.
§impl From<Vec<ChildNumber>> for DerivationPath
impl From<Vec<ChildNumber>> for DerivationPath
§fn from(numbers: Vec<ChildNumber>) -> DerivationPath
fn from(numbers: Vec<ChildNumber>) -> DerivationPath
Converts to this type from the input type.
§impl FromIterator<ChildNumber> for DerivationPath
impl FromIterator<ChildNumber> for DerivationPath
§fn from_iter<T>(iter: T) -> DerivationPathwhere
T: IntoIterator<Item = ChildNumber>,
fn from_iter<T>(iter: T) -> DerivationPathwhere
T: IntoIterator<Item = ChildNumber>,
Creates a value from an iterator. Read more
§impl FromStr for DerivationPath
impl FromStr for DerivationPath
§impl Hash for DerivationPath
impl Hash for DerivationPath
§impl<I> Index<I> for DerivationPath
impl<I> Index<I> for DerivationPath
§impl<'a> IntoIterator for &'a DerivationPath
impl<'a> IntoIterator for &'a DerivationPath
§type Item = &'a ChildNumber
type Item = &'a ChildNumber
The type of the elements being iterated over.
§type IntoIter = Iter<'a, ChildNumber>
type IntoIter = Iter<'a, ChildNumber>
Which kind of iterator are we turning this into?
§fn into_iter(self) -> <&'a DerivationPath as IntoIterator>::IntoIter
fn into_iter(self) -> <&'a DerivationPath as IntoIterator>::IntoIter
Creates an iterator from a value. Read more
§impl Ord for DerivationPath
impl Ord for DerivationPath
§impl PartialEq for DerivationPath
impl PartialEq for DerivationPath
§impl PartialOrd for DerivationPath
impl PartialOrd for DerivationPath
impl Eq for DerivationPath
impl StructuralPartialEq for DerivationPath
Auto Trait Implementations§
impl Freeze for DerivationPath
impl RefUnwindSafe for DerivationPath
impl Send for DerivationPath
impl Sync for DerivationPath
impl Unpin for DerivationPath
impl UnwindSafe for DerivationPath
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§impl<T> IntoDerivationPath for Twhere
T: Into<DerivationPath>,
impl<T> IntoDerivationPath for Twhere
T: Into<DerivationPath>,
§fn into_derivation_path(self) -> Result<DerivationPath, Error>
fn into_derivation_path(self) -> Result<DerivationPath, Error>
Convers a given type into a
DerivationPath
with possible errorsource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request