Trait bpstd::Descriptor

source ·
pub trait Descriptor<K = XpubDerivable, V = ()>: DeriveScripts {
    // Required methods
    fn class(&self) -> SpkClass;
    fn keys<'a>(&'a self) -> impl Iterator<Item = &'a K>
       where K: 'a;
    fn vars<'a>(&'a self) -> impl Iterator<Item = &'a V>
       where V: 'a;
    fn xpubs(&self) -> impl Iterator<Item = &XpubSpec>;
    fn compr_keyset(
        &self,
        terminal: Terminal,
    ) -> IndexMap<CompressedPk, KeyOrigin>;
    fn xonly_keyset(
        &self,
        terminal: Terminal,
    ) -> IndexMap<XOnlyPk, TapDerivation>;
}

Required Methods§

source

fn class(&self) -> SpkClass

source

fn keys<'a>(&'a self) -> impl Iterator<Item = &'a K>
where K: 'a,

source

fn vars<'a>(&'a self) -> impl Iterator<Item = &'a V>
where V: 'a,

source

fn xpubs(&self) -> impl Iterator<Item = &XpubSpec>

source

fn compr_keyset(&self, terminal: Terminal) -> IndexMap<CompressedPk, KeyOrigin>

source

fn xonly_keyset(&self, terminal: Terminal) -> IndexMap<XOnlyPk, TapDerivation>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<K> Descriptor<K> for StdDescr<K>
where K: DeriveSet<Compr = K, XOnly = K> + DeriveCompr + DeriveXOnly, StdDescr<K>: Derive<DerivedScript>,

source§

impl<K> Descriptor<K> for TrKey<K>
where K: DeriveXOnly,

source§

impl<K> Descriptor<K> for Wpkh<K>
where K: DeriveCompr,