[wallet] Add more getters
This commit is contained in:
parent
3334c8da07
commit
63d5bcee93
@ -456,6 +456,29 @@ where
|
||||
signers.add_external(signer.id(&self.secp), ordering, signer);
|
||||
}
|
||||
|
||||
/// Get the signers
|
||||
///
|
||||
/// ## Example
|
||||
///
|
||||
/// ```
|
||||
/// # use bdk::{Wallet, KeychainKind};
|
||||
/// # use bdk::bitcoin::Network;
|
||||
/// # use bdk::database::MemoryDatabase;
|
||||
/// let wallet = Wallet::new("wpkh(tprv8ZgxMBicQKsPe73PBRSmNbTfbcsZnwWhz5eVmhHpi31HW29Z7mc9B4cWGRQzopNUzZUT391DeDJxL2PefNunWyLgqCKRMDkU1s2s8bAfoSk/84'/0'/0'/0/*)", None, Network::Testnet, MemoryDatabase::new())?;
|
||||
/// for secret_key in wallet.get_signers(KeychainKind::External).signers().iter().filter_map(|s| s.descriptor_secret_key()) {
|
||||
/// // secret_key: tprv8ZgxMBicQKsPe73PBRSmNbTfbcsZnwWhz5eVmhHpi31HW29Z7mc9B4cWGRQzopNUzZUT391DeDJxL2PefNunWyLgqCKRMDkU1s2s8bAfoSk/84'/0'/0'/0/*
|
||||
/// println!("secret_key: {}", secret_key);
|
||||
/// }
|
||||
///
|
||||
/// Ok::<(), Box<dyn std::error::Error>>(())
|
||||
/// ```
|
||||
pub fn get_signers(&self, keychain: KeychainKind) -> Arc<SignersContainer> {
|
||||
match keychain {
|
||||
KeychainKind::External => Arc::clone(&self.signers),
|
||||
KeychainKind::Internal => Arc::clone(&self.change_signers),
|
||||
}
|
||||
}
|
||||
|
||||
/// Add an address validator
|
||||
///
|
||||
/// See [the `address_validator` module](address_validator) for an example.
|
||||
@ -463,6 +486,11 @@ where
|
||||
self.address_validators.push(validator);
|
||||
}
|
||||
|
||||
/// Get the address validators
|
||||
pub fn get_address_validators(&self) -> &[Arc<dyn AddressValidator>] {
|
||||
&self.address_validators
|
||||
}
|
||||
|
||||
/// Start building a transaction.
|
||||
///
|
||||
/// This returns a blank [`TxBuilder`] from which you can specify the parameters for the transaction.
|
||||
@ -1556,6 +1584,18 @@ where
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Return the checksum of the public descriptor associated to `keychain`
|
||||
///
|
||||
/// Internally calls [`Self::get_descriptor_for_keychain`] to fetch the right descriptor
|
||||
pub fn descriptor_checksum(&self, keychain: KeychainKind) -> String {
|
||||
self.get_descriptor_for_keychain(keychain)
|
||||
.to_string()
|
||||
.splitn(2, '#')
|
||||
.next()
|
||||
.unwrap()
|
||||
.to_string()
|
||||
}
|
||||
}
|
||||
|
||||
/// Return a fake wallet that appears to be funded for testing.
|
||||
|
Loading…
x
Reference in New Issue
Block a user