Trait Derive

Source
pub trait Derive<D> {
    // Required methods
    fn default_keychain(&self) -> Keychain;
    fn keychains(&self) -> BTreeSet<Keychain>;
    fn derive(
        &self,
        keychain: impl Into<Keychain>,
        index: impl Into<NormalIndex>,
    ) -> impl Iterator<Item = D>;

    // Provided method
    fn derive_range(
        &self,
        keychain: impl Into<Keychain>,
        from: impl Into<NormalIndex>,
        to: impl Into<NormalIndex>,
    ) -> impl Iterator<Item = D> { ... }
}

Required Methods§

Source

fn default_keychain(&self) -> Keychain

Source

fn keychains(&self) -> BTreeSet<Keychain>

Source

fn derive( &self, keychain: impl Into<Keychain>, index: impl Into<NormalIndex>, ) -> impl Iterator<Item = D>

Provided Methods§

Source

fn derive_range( &self, keychain: impl Into<Keychain>, from: impl Into<NormalIndex>, to: impl Into<NormalIndex>, ) -> impl Iterator<Item = D>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Derive<CompressedPk> for XpubDerivable

Source§

impl Derive<LegacyPk> for XpubDerivable

Source§

impl Derive<XOnlyPk> for XpubDerivable

Source§

impl<K> Derive<DerivedScript> for ShWsh<K>
where K: DeriveCompr,

Source§

impl<K> Derive<DerivedScript> for Tr<K>
where K: DeriveXOnly,

Source§

impl<K> Derive<DerivedScript> for Pkh<K>
where K: DeriveLegacy,

Source§

impl<K> Derive<DerivedScript> for Raw<K>
where K: DeriveLegacy,

Source§

impl<K> Derive<DerivedScript> for Sh<K>
where K: DeriveLegacy,

Source§

impl<K> Derive<DerivedScript> for ShMulti<K>
where K: DeriveLegacy,

Source§

impl<K> Derive<DerivedScript> for ShSortedMulti<K>
where K: DeriveLegacy,

Source§

impl<K> Derive<DerivedScript> for ShWpkh<K>
where K: DeriveCompr,

Source§

impl<K> Derive<DerivedScript> for TrKey<K>
where K: DeriveXOnly,

Source§

impl<K> Derive<DerivedScript> for TrMulti<K>
where K: DeriveXOnly,

Source§

impl<K> Derive<DerivedScript> for TrScript<K>
where K: DeriveXOnly,

Source§

impl<K> Derive<DerivedScript> for TrSortedMulti<K>
where K: DeriveXOnly,

Source§

impl<K> Derive<DerivedScript> for Wpkh<K>
where K: DeriveCompr,

Source§

impl<K> Derive<DerivedScript> for Wsh<K>
where K: DeriveCompr,

Source§

impl<K> Derive<DerivedScript> for WshMulti<K>
where K: DeriveCompr,

Source§

impl<K> Derive<DerivedScript> for WshSortedMulti<K>
where K: DeriveCompr,

Source§

impl<K> Derive<LeafScript> for ScriptDescr<TapCode, K>
where K: DeriveXOnly,

Source§

impl<K> Derive<RedeemScript> for ScriptDescr<OpCode, K>
where K: DeriveLegacy,

Source§

impl<K> Derive<WitnessScript> for ScriptDescr<OpCode, K>
where K: DeriveCompr,

Source§

impl<S> Derive<DerivedScript> for StdDescr<S>
where S: DeriveSet,