refactor: Allow for no chain update
This commit is contained in:
parent
68572bfd2e
commit
f42f8b8ff1
@ -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
|
||||||
|
@ -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()?;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user