From 8795da48397800effeffae8417c6e749ec488212 Mon Sep 17 00:00:00 2001 From: Alekos Filini Date: Fri, 15 Apr 2022 22:12:34 +0200 Subject: [PATCH] wallet: Move `wallet_name_from_descriptor` above the tests --- src/wallet/mod.rs | 62 +++++++++++++++++++++++------------------------ 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/wallet/mod.rs b/src/wallet/mod.rs index 071b16e0..20e0c263 100644 --- a/src/wallet/mod.rs +++ b/src/wallet/mod.rs @@ -1610,6 +1610,37 @@ where } } +/// Deterministically generate a unique name given the descriptors defining the wallet +/// +/// Compatible with [`wallet_name_from_descriptor`] +pub fn wallet_name_from_descriptor( + descriptor: T, + change_descriptor: Option, + network: Network, + secp: &SecpCtx, +) -> Result +where + T: IntoWalletDescriptor, +{ + //TODO check descriptors contains only public keys + let descriptor = descriptor + .into_wallet_descriptor(secp, network)? + .0 + .to_string(); + let mut wallet_name = get_checksum(&descriptor[..descriptor.find('#').unwrap()])?; + if let Some(change_descriptor) = change_descriptor { + let change_descriptor = change_descriptor + .into_wallet_descriptor(secp, network)? + .0 + .to_string(); + wallet_name.push_str( + get_checksum(&change_descriptor[..change_descriptor.find('#').unwrap()])?.as_str(), + ); + } + + Ok(wallet_name) +} + /// Return a fake wallet that appears to be funded for testing. pub fn get_funded_wallet( descriptor: &str, @@ -4087,34 +4118,3 @@ pub(crate) mod test { ); } } - -/// Deterministically generate a unique name given the descriptors defining the wallet -/// -/// Compatible with [`wallet_name_from_descriptor`] -pub fn wallet_name_from_descriptor( - descriptor: T, - change_descriptor: Option, - network: Network, - secp: &SecpCtx, -) -> Result -where - T: IntoWalletDescriptor, -{ - //TODO check descriptors contains only public keys - let descriptor = descriptor - .into_wallet_descriptor(secp, network)? - .0 - .to_string(); - let mut wallet_name = get_checksum(&descriptor[..descriptor.find('#').unwrap()])?; - if let Some(change_descriptor) = change_descriptor { - let change_descriptor = change_descriptor - .into_wallet_descriptor(secp, network)? - .0 - .to_string(); - wallet_name.push_str( - get_checksum(&change_descriptor[..change_descriptor.find('#').unwrap()])?.as_str(), - ); - } - - Ok(wallet_name) -}