pub enum ExtendedKey<Ctx: ScriptContext = Legacy> {
Private((Xpriv, PhantomData<Ctx>)),
Public((Xpub, PhantomData<Ctx>)),
}Expand description
Enum for extended keys that can be either xprv or xpub
An instance of ExtendedKey can be constructed from an Xpriv
or an Xpub by using the From trait.
Defaults to the Legacy context.
Variants§
Private((Xpriv, PhantomData<Ctx>))
A private extended key, aka an xprv
Public((Xpub, PhantomData<Ctx>))
A public extended key, aka an xpub
Implementations§
Source§impl<Ctx: ScriptContext> ExtendedKey<Ctx>
impl<Ctx: ScriptContext> ExtendedKey<Ctx>
Sourcepub fn has_secret(&self) -> bool
pub fn has_secret(&self) -> bool
Return whether or not the key contains the private data
Sourcepub fn into_xprv(self, network: Network) -> Option<Xpriv>
pub fn into_xprv(self, network: Network) -> Option<Xpriv>
Transform the ExtendedKey into an Xpriv for the
given [Network], if the key contains the private data
Sourcepub fn into_xpub<C: Signing>(
self,
network: Network,
secp: &Secp256k1<C>,
) -> Xpub
pub fn into_xpub<C: Signing>( self, network: Network, secp: &Secp256k1<C>, ) -> Xpub
Transform the ExtendedKey into an Xpub for the
given [Network]
Trait Implementations§
Source§impl<Ctx: ScriptContext> DerivableKey<Ctx> for ExtendedKey<Ctx>
Identity conversion
impl<Ctx: ScriptContext> DerivableKey<Ctx> for ExtendedKey<Ctx>
Identity conversion
Source§fn into_extended_key(self) -> Result<ExtendedKey<Ctx>, KeyError>
fn into_extended_key(self) -> Result<ExtendedKey<Ctx>, KeyError>
Consume
self and turn it into an ExtendedKeySource§fn into_descriptor_key(
self,
origin: Option<KeySource>,
derivation_path: DerivationPath,
) -> Result<DescriptorKey<Ctx>, KeyError>
fn into_descriptor_key( self, origin: Option<KeySource>, derivation_path: DerivationPath, ) -> Result<DescriptorKey<Ctx>, KeyError>
Consume
self and turn it into a DescriptorKey by adding the extra metadata, such as
key origin and derivation pathSource§impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>
impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>
Source§impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>
impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>
Auto Trait Implementations§
impl<Ctx> Freeze for ExtendedKey<Ctx>
impl<Ctx> RefUnwindSafe for ExtendedKey<Ctx>where
Ctx: RefUnwindSafe,
impl<Ctx> Send for ExtendedKey<Ctx>where
Ctx: Send,
impl<Ctx> Sync for ExtendedKey<Ctx>where
Ctx: Sync,
impl<Ctx> Unpin for ExtendedKey<Ctx>where
Ctx: Unpin,
impl<Ctx> UnwindSafe for ExtendedKey<Ctx>where
Ctx: UnwindSafe,
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