refactor: Implement Default for WalletUpdate

This commit is contained in:
Vladimir Fomene 2023-08-25 12:49:29 +03:00 committed by 志宇
parent f42f8b8ff1
commit a28748c339
No known key found for this signature in database
GPG Key ID: F6345C9837C2BDE8
3 changed files with 7 additions and 8 deletions

View File

@ -95,9 +95,9 @@ pub struct Wallet<D = ()> {
secp: SecpCtx,
}
/// A structure to update [`KeychainTxOutIndex`], [`TxGraph`] and [`LocalChain`] atomically.
/// A structure to update [`Wallet`].
///
/// [`LocalChain`]: local_chain::LocalChain
/// It updates [`bdk_chain::keychain::KeychainTxOutIndex`], [`bdk_chain::TxGraph`] and [`local_chain::LocalChain`] atomically.
#[derive(Debug, Clone)]
pub struct WalletUpdate<K, A> {
/// Contains the last active derivation indices per keychain (`K`), which is used to update the
@ -113,13 +113,12 @@ pub struct WalletUpdate<K, A> {
pub chain: Option<local_chain::Update>,
}
impl<K, A> WalletUpdate<K, A> {
/// Construct a [`WalletUpdate`] with a given [`local_chain::Update`].
pub fn new(chain_update: local_chain::Update) -> Self {
impl<K, A> Default for WalletUpdate<K, A> {
fn default() -> Self {
Self {
last_active_indices: BTreeMap::new(),
graph: TxGraph::default(),
chain: Some(chain_update),
chain: None,
}
}
}

View File

@ -61,7 +61,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let update = WalletUpdate {
last_active_indices,
graph: update_graph,
..WalletUpdate::new(chain_update)
chain: Some(chain_update),
};
wallet.apply_update(update)?;
wallet.commit()?;

View File

@ -60,7 +60,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
let update = WalletUpdate {
last_active_indices,
graph: update_graph,
..WalletUpdate::new(chain_update)
chain: Some(chain_update),
};
wallet.apply_update(update)?;