breez_sdk_spark/persist/
path.rs1use std::{path::PathBuf, str::FromStr};
2
3use bitcoin::hashes::{Hash, sha256};
4use spark_wallet::PublicKey;
5
6use crate::{Network, SdkError};
7
8pub fn default_storage_path(
9 data_dir: &str,
10 network: &Network,
11 identity_pub_key: &PublicKey,
12) -> Result<PathBuf, SdkError> {
13 let storage_dir = std::path::PathBuf::from_str(data_dir)?;
14 let path_suffix = sha256::Hash::hash(&identity_pub_key.serialize())
15 .to_string()
16 .chars()
17 .take(8)
18 .collect::<String>();
19
20 Ok(storage_dir
21 .join(network.to_string().to_lowercase())
22 .join(path_suffix))
23}