diff --git a/src/keys/bip39.rs b/src/keys/bip39.rs index c6cf24fd..a8902a9f 100644 --- a/src/keys/bip39.rs +++ b/src/keys/bip39.rs @@ -94,6 +94,23 @@ impl DerivableKey for MnemonicWithPassphrase { } } +#[cfg_attr(docsrs, doc(cfg(feature = "keys-bip39")))] +impl DerivableKey for (GeneratedKey, Option) { + fn into_extended_key(self) -> Result, KeyError> { + let (mnemonic, passphrase) = self; + (mnemonic.into_key(), passphrase).into_extended_key() + } + + fn into_descriptor_key( + self, + source: Option, + derivation_path: bip32::DerivationPath, + ) -> Result, KeyError> { + let (mnemonic, passphrase) = self; + (mnemonic.into_key(), passphrase).into_descriptor_key(source, derivation_path) + } +} + #[cfg_attr(docsrs, doc(cfg(feature = "keys-bip39")))] impl DerivableKey for Mnemonic { fn into_extended_key(self) -> Result, KeyError> {