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 ExtendedKey
Source§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