/// Update for the [`LocalChain`].
///
/// [`LocalChain`]: local_chain::LocalChain
- pub chain: local_chain::Update,
+ pub chain: Option<local_chain::Update>,
}
impl<K, A> WalletUpdate<K, A> {
Self {
last_active_indices: BTreeMap::new(),
graph: TxGraph::default(),
- chain: chain_update,
+ chain: Some(chain_update),
}
}
}
where
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
.indexed_graph
.index
let wallet_update = WalletUpdate {
last_active_indices: keychain_update,
graph: graph_update,
- chain: local_chain::Update {
+ chain: Some(local_chain::Update {
tip: update_tip,
introduce_older_blocks: true,
- },
+ }),
};
wallet.apply_update(wallet_update)?;
wallet.commit()?;