Skip to content

Commit dc53609

Browse files
committed
wallet: Move wallet_name_from_descriptor above the tests
1 parent 8740046 commit dc53609

File tree

1 file changed

+31
-31
lines changed

1 file changed

+31
-31
lines changed

src/wallet/mod.rs

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1610,6 +1610,37 @@ where
16101610
}
16111611
}
16121612

1613+
/// Deterministically generate a unique name given the descriptors defining the wallet
1614+
///
1615+
/// Compatible with [`wallet_name_from_descriptor`]
1616+
pub fn wallet_name_from_descriptor<T>(
1617+
descriptor: T,
1618+
change_descriptor: Option<T>,
1619+
network: Network,
1620+
secp: &SecpCtx,
1621+
) -> Result<String, Error>
1622+
where
1623+
T: IntoWalletDescriptor,
1624+
{
1625+
//TODO check descriptors contains only public keys
1626+
let descriptor = descriptor
1627+
.into_wallet_descriptor(secp, network)?
1628+
.0
1629+
.to_string();
1630+
let mut wallet_name = get_checksum(&descriptor[..descriptor.find('#').unwrap()])?;
1631+
if let Some(change_descriptor) = change_descriptor {
1632+
let change_descriptor = change_descriptor
1633+
.into_wallet_descriptor(secp, network)?
1634+
.0
1635+
.to_string();
1636+
wallet_name.push_str(
1637+
get_checksum(&change_descriptor[..change_descriptor.find('#').unwrap()])?.as_str(),
1638+
);
1639+
}
1640+
1641+
Ok(wallet_name)
1642+
}
1643+
16131644
/// Return a fake wallet that appears to be funded for testing.
16141645
pub fn get_funded_wallet(
16151646
descriptor: &str,
@@ -4091,34 +4122,3 @@ pub(crate) mod test {
40914122
);
40924123
}
40934124
}
4094-
4095-
/// Deterministically generate a unique name given the descriptors defining the wallet
4096-
///
4097-
/// Compatible with [`wallet_name_from_descriptor`]
4098-
pub fn wallet_name_from_descriptor<T>(
4099-
descriptor: T,
4100-
change_descriptor: Option<T>,
4101-
network: Network,
4102-
secp: &SecpCtx,
4103-
) -> Result<String, Error>
4104-
where
4105-
T: IntoWalletDescriptor,
4106-
{
4107-
//TODO check descriptors contains only public keys
4108-
let descriptor = descriptor
4109-
.into_wallet_descriptor(secp, network)?
4110-
.0
4111-
.to_string();
4112-
let mut wallet_name = get_checksum(&descriptor[..descriptor.find('#').unwrap()])?;
4113-
if let Some(change_descriptor) = change_descriptor {
4114-
let change_descriptor = change_descriptor
4115-
.into_wallet_descriptor(secp, network)?
4116-
.0
4117-
.to_string();
4118-
wallet_name.push_str(
4119-
get_checksum(&change_descriptor[..change_descriptor.find('#').unwrap()])?.as_str(),
4120-
);
4121-
}
4122-
4123-
Ok(wallet_name)
4124-
}

0 commit comments

Comments
 (0)