refactor: Allow for no chain update

This commit is contained in:
Vladimir Fomene 2023-08-24 16:03:47 +03:00 committed by 志宇
parent 68572bfd2e
commit f42f8b8ff1
No known key found for this signature in database
GPG Key ID: F6345C9837C2BDE8
2 changed files with 9 additions and 5 deletions

View File

@ -110,7 +110,7 @@ pub struct WalletUpdate<K, A> {
/// Update for the [`LocalChain`]. /// Update for the [`LocalChain`].
/// ///
/// [`LocalChain`]: local_chain::LocalChain /// [`LocalChain`]: local_chain::LocalChain
pub chain: local_chain::Update, pub chain: Option<local_chain::Update>,
} }
impl<K, A> WalletUpdate<K, A> { impl<K, A> WalletUpdate<K, A> {
@ -119,7 +119,7 @@ impl<K, A> WalletUpdate<K, A> {
Self { Self {
last_active_indices: BTreeMap::new(), last_active_indices: BTreeMap::new(),
graph: TxGraph::default(), graph: TxGraph::default(),
chain: chain_update, chain: Some(chain_update),
} }
} }
} }
@ -1942,7 +1942,11 @@ impl<D> Wallet<D> {
where where
D: PersistBackend<ChangeSet>, D: PersistBackend<ChangeSet>,
{ {
let mut changeset = ChangeSet::from(self.chain.apply_update(update.chain)?); let mut changeset = match update.chain {
Some(chain_update) => ChangeSet::from(self.chain.apply_update(chain_update)?),
None => ChangeSet::default(),
};
let (_, index_changeset) = self let (_, index_changeset) = self
.indexed_graph .indexed_graph
.index .index

View File

@ -64,10 +64,10 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
let wallet_update = WalletUpdate { let wallet_update = WalletUpdate {
last_active_indices: keychain_update, last_active_indices: keychain_update,
graph: graph_update, graph: graph_update,
chain: local_chain::Update { chain: Some(local_chain::Update {
tip: update_tip, tip: update_tip,
introduce_older_blocks: true, introduce_older_blocks: true,
}, }),
}; };
wallet.apply_update(wallet_update)?; wallet.apply_update(wallet_update)?;
wallet.commit()?; wallet.commit()?;