[−][src]Struct hdwallet::extended_key::ExtendedPubKey
ExtendedPubKey is used for public child key derivation. See secp256k1 crate documentation for PublicKey signatures usage.
Examples
use hdwallet::{ExtendedPrivKey, ExtendedPubKey, KeyIndex}; let priv_key = ExtendedPrivKey::random().unwrap(); let pub_key = ExtendedPubKey::from_private_key(&priv_key); // Public hardened child key derivation from parent public key is impossible let hardened_key_index = KeyIndex::hardened_from_normalize_index(0).unwrap(); assert!(pub_key.derive_public_key(hardened_key_index).is_err()); // Derive public normal child key let normal_key_index = KeyIndex::Normal(0); assert!(pub_key.derive_public_key(normal_key_index).is_ok());
Fields
public_key: PublicKey
chain_code: Vec<u8>
Methods
impl ExtendedPubKey
[src]
pub fn derive_public_key(
&self,
key_index: KeyIndex
) -> Result<ExtendedPubKey, Error>
[src]
&self,
key_index: KeyIndex
) -> Result<ExtendedPubKey, Error>
Derive public normal child key from ExtendedPubKey, will return error if key_index is a hardened key.
pub fn from_private_key(extended_key: &ExtendedPrivKey) -> Self
[src]
ExtendedPubKey from ExtendedPrivKey
Trait Implementations
impl Serialize<Vec<u8>> for ExtendedPubKey
[src]
impl<'_> Deserialize<&'_ [u8], Error> for ExtendedPubKey
[src]
impl PartialEq<ExtendedPubKey> for ExtendedPubKey
[src]
fn eq(&self, other: &ExtendedPubKey) -> bool
[src]
fn ne(&self, other: &ExtendedPubKey) -> bool
[src]
impl Clone for ExtendedPubKey
[src]
fn clone(&self) -> ExtendedPubKey
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Eq for ExtendedPubKey
[src]
impl Debug for ExtendedPubKey
[src]
Auto Trait Implementations
impl Send for ExtendedPubKey
impl Sync for ExtendedPubKey
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,