Enum bdk::keys::ExtendedKey

source ·
pub enum ExtendedKey<Ctx: ScriptContext = Legacy> {
    Private((ExtendedPrivKey, PhantomData<Ctx>)),
    Public((ExtendedPubKey, PhantomData<Ctx>)),
}
Expand description

Enum for extended keys that can be either xprv or xpub

An instance of ExtendedKey can be constructed from an ExtendedPrivKey or an ExtendedPubKey by using the From trait.

Defaults to the Legacy context.

Variants§

§

Private((ExtendedPrivKey, PhantomData<Ctx>))

A private extended key, aka an xprv

§

Public((ExtendedPubKey, PhantomData<Ctx>))

A public extended key, aka an xpub

Implementations§

source§

impl<Ctx: ScriptContext> ExtendedKey<Ctx>

source

pub fn has_secret(&self) -> bool

Return whether or not the key contains the private data

source

pub fn into_xprv(self, network: Network) -> Option<ExtendedPrivKey>

Transform the ExtendedKey into an ExtendedPrivKey for the given Network, if the key contains the private data

source

pub fn into_xpub<C: Signing>( self, network: Network, secp: &Secp256k1<C> ) -> ExtendedPubKey

Transform the ExtendedKey into an ExtendedPubKey for the given Network

Trait Implementations§

source§

impl<Ctx: ScriptContext> DerivableKey<Ctx> for ExtendedKey<Ctx>

Identity conversion

source§

fn into_extended_key(self) -> Result<ExtendedKey<Ctx>, KeyError>

Consume self and turn it into an ExtendedKey Read more
source§

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 path
source§

impl<Ctx: ScriptContext> From<ExtendedPrivKey> for ExtendedKey<Ctx>

source§

fn from(xprv: ExtendedPrivKey) -> Self

Converts to this type from the input type.
source§

impl<Ctx: ScriptContext> From<ExtendedPubKey> for ExtendedKey<Ctx>

source§

fn from(xpub: ExtendedPubKey) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

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> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V