Skip to content

Commit 2ce1a61

Browse files
authored
Merge pull request #82 from zoedberg/v0.11_fixes
v0.11 fixes
2 parents 3ec46b6 + d861cab commit 2ce1a61

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/wallet.rs

+16
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,18 @@ impl<L2C: Layer2Cache> WalletCache<L2C> {
337337
res
338338
}
339339

340+
pub fn sync_from_scratch<I: Indexer, K, D: Descriptor<K>, L2: Layer2<Cache = L2C>>(
341+
&mut self,
342+
descriptor: &WalletDescr<K, D, L2::Descr>,
343+
indexer: &I,
344+
) -> MayError<(), Vec<I::Error>> {
345+
let res = indexer.create::<K, D, L2>(descriptor);
346+
let (ok, err) = res.split();
347+
*self = ok;
348+
self.mark_dirty();
349+
MayError { ok: (), err }
350+
}
351+
340352
pub fn addresses_on(&self, keychain: Keychain) -> &BTreeSet<WalletAddr> {
341353
self.addr.get(&keychain).unwrap_or_else(|| {
342354
panic!("keychain #{keychain} is not supported by the wallet descriptor")
@@ -547,6 +559,10 @@ impl<K, D: Descriptor<K>, L2: Layer2> Wallet<K, D, L2> {
547559
self.cache.update::<I, K, D, L2>(&self.descr, indexer).map(|_| ())
548560
}
549561

562+
pub fn sync_from_scratch<I: Indexer>(&mut self, indexer: &I) -> MayError<(), Vec<I::Error>> {
563+
self.cache.sync_from_scratch::<I, K, D, L2>(&self.descr, indexer).map(|_| ())
564+
}
565+
550566
pub fn to_deriver(&self) -> D
551567
where
552568
D: Clone,

0 commit comments

Comments
 (0)