2023-03-10 13:40:27 +13:00
|
|
|
#![doc = include_str!("../README.md")]
|
2023-03-01 11:16:05 +01:00
|
|
|
mod file_store;
|
|
|
|
use bdk_chain::{
|
|
|
|
keychain::{KeychainChangeSet, KeychainTracker, PersistBackend},
|
|
|
|
sparse_chain::ChainPosition,
|
|
|
|
};
|
|
|
|
pub use file_store::*;
|
|
|
|
|
2023-03-02 19:08:33 +01:00
|
|
|
impl<K, P> PersistBackend<K, P> for KeychainStore<K, P>
|
2023-03-01 11:16:05 +01:00
|
|
|
where
|
|
|
|
K: Ord + Clone + core::fmt::Debug,
|
|
|
|
P: ChainPosition,
|
2023-03-08 11:39:25 +13:00
|
|
|
KeychainChangeSet<K, P>: serde::Serialize + serde::de::DeserializeOwned,
|
2023-03-01 11:16:05 +01:00
|
|
|
{
|
|
|
|
type WriteError = std::io::Error;
|
|
|
|
|
|
|
|
type LoadError = IterError;
|
|
|
|
|
|
|
|
fn append_changeset(
|
|
|
|
&mut self,
|
|
|
|
changeset: &KeychainChangeSet<K, P>,
|
|
|
|
) -> Result<(), Self::WriteError> {
|
|
|
|
KeychainStore::append_changeset(self, changeset)
|
|
|
|
}
|
|
|
|
|
|
|
|
fn load_into_keychain_tracker(
|
|
|
|
&mut self,
|
|
|
|
tracker: &mut KeychainTracker<K, P>,
|
|
|
|
) -> Result<(), Self::LoadError> {
|
|
|
|
KeychainStore::load_into_keychain_tracker(self, tracker)
|
|
|
|
}
|
|
|
|
}
|