Trait descriptors::Descriptor
source · pub trait Descriptor<K = XpubDerivable, V = ()>: DeriveScripts {
type KeyIter<'k>: Iterator<Item = &'k K>
where Self: 'k,
K: 'k;
type VarIter<'v>: Iterator<Item = &'v V>
where Self: 'v,
V: 'v;
type XpubIter<'x>: Iterator<Item = &'x XpubSpec>
where Self: 'x;
// Required methods
fn class(&self) -> SpkClass;
fn keys(&self) -> Self::KeyIter<'_>;
fn vars(&self) -> Self::VarIter<'_>;
fn xpubs(&self) -> Self::XpubIter<'_>;
fn compr_keyset(
&self,
terminal: Terminal
) -> IndexMap<CompressedPk, KeyOrigin>;
fn xonly_keyset(
&self,
terminal: Terminal
) -> IndexMap<XOnlyPk, TapDerivation>;
}
Required Associated Types§
type KeyIter<'k>: Iterator<Item = &'k K> where Self: 'k, K: 'k
type VarIter<'v>: Iterator<Item = &'v V> where Self: 'v, V: 'v
type XpubIter<'x>: Iterator<Item = &'x XpubSpec> where Self: 'x
Required Methods§
fn class(&self) -> SpkClass
fn keys(&self) -> Self::KeyIter<'_>
fn vars(&self) -> Self::VarIter<'_>
fn xpubs(&self) -> Self::XpubIter<'_>
fn compr_keyset(&self, terminal: Terminal) -> IndexMap<CompressedPk, KeyOrigin>
fn xonly_keyset(&self, terminal: Terminal) -> IndexMap<XOnlyPk, TapDerivation>
Object Safety§
This trait is not object safe.