Skip to content

Commit e6a8a84

Browse files
authored
Consolidate constants and default init values (#52)
1 parent baabf39 commit e6a8a84

File tree

4 files changed

+21
-25
lines changed

4 files changed

+21
-25
lines changed

cli/src/main.rs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,15 @@ fn show_results(res: Result<String>) {
2424
}
2525
}
2626

27-
fn init_persistence(args: &Args) -> Result<CliPersistence> {
28-
let data_dir = args.data_dir.clone().unwrap_or(".data".to_string());
29-
let data_dir = PathBuf::from(&data_dir);
30-
31-
fs::create_dir_all(&data_dir)?;
32-
33-
Ok(CliPersistence { data_dir })
34-
}
35-
3627
fn main() -> Result<()> {
3728
env_logger::init();
3829

3930
let args = Args::parse();
40-
let persistence = init_persistence(&args)?;
31+
let data_dir_str = args.data_dir.clone().unwrap_or(".data".to_string());
32+
let data_dir = PathBuf::from(&data_dir_str);
33+
fs::create_dir_all(&data_dir)?;
34+
35+
let persistence = CliPersistence { data_dir };
4136
let history_file = &persistence.history_file();
4237

4338
let rl = &mut Editor::new()?;
@@ -50,7 +45,7 @@ fn main() -> Result<()> {
5045
}
5146

5247
let mnemonic = persistence.get_or_create_mnemonic()?;
53-
let wallet = Wallet::init(&mnemonic.to_string())?;
48+
let wallet = Wallet::init(&mnemonic.to_string(), Some(data_dir_str))?;
5449

5550
loop {
5651
let readline = rl.readline("breez-liquid> ");

lib/src/lib.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,20 @@ mod wallet;
55
pub use model::*;
66
pub use wallet::*;
77

8+
// To avoid sendrawtransaction error "min relay fee not met"
9+
const CLAIM_ABSOLUTE_FEES: u64 = 134;
10+
const DEFAULT_DATA_DIR: &str = ".data";
11+
const DEFAULT_ELECTRUM_URL: &str = "blockstream.info:465";
12+
813
#[cfg(test)]
914
mod tests {
1015
use std::{env, fs, io, path::PathBuf, str::FromStr};
1116

1217
use anyhow::Result;
1318
use bip39::{Language, Mnemonic};
1419

15-
use crate::{ReceivePaymentRequest, Wallet};
20+
use crate::{ReceivePaymentRequest, Wallet, DEFAULT_DATA_DIR};
1621

17-
const DEFAULT_DATA_DIR: &str = ".data";
1822
const PHRASE_FILE_NAME: &str = "phrase";
1923

2024
fn get_mnemonic() -> Result<Mnemonic> {

lib/src/model.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ pub struct WalletOptions {
2323
///
2424
/// See <https://github.com/bitcoin/bips/pull/1143>
2525
pub descriptor: String,
26-
pub db_root_path: Option<String>,
27-
pub chain_cache_path: Option<String>,
26+
/// Absolute or relative path to the data dir, including the dir name.
27+
///
28+
/// If not set, it defaults to [crate::DEFAULT_DATA_DIR].
29+
pub data_dir_path: Option<String>,
2830
pub electrum_url: Option<ElectrumUrl>,
2931
}
3032

lib/src/wallet.rs

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,9 @@ use lwk_wollet::{
2626
use crate::{
2727
persist::Persister, Network, OngoingReceiveSwap, Payment, PaymentType, ReceivePaymentRequest,
2828
SendPaymentResponse, SwapError, SwapLbtcResponse, WalletInfo, WalletOptions,
29+
CLAIM_ABSOLUTE_FEES, DEFAULT_DATA_DIR, DEFAULT_ELECTRUM_URL,
2930
};
3031

31-
// To avoid sendrawtransaction error "min relay fee not met"
32-
const CLAIM_ABSOLUTE_FEES: u64 = 134;
33-
const DEFAULT_SWAPS_DIR: &str = ".data";
34-
const BLOCKSTREAM_ELECTRUM_URL: &str = "blockstream.info:465";
35-
3632
pub struct Wallet {
3733
signer: SwSigner,
3834
electrum_url: ElectrumUrl,
@@ -43,7 +39,7 @@ pub struct Wallet {
4339
}
4440

4541
impl Wallet {
46-
pub fn init(mnemonic: &str) -> Result<Arc<Wallet>> {
42+
pub fn init(mnemonic: &str, data_dir: Option<String>) -> Result<Arc<Wallet>> {
4743
let signer = SwSigner::new(mnemonic, false)?;
4844
let descriptor = singlesig_desc(
4945
&signer,
@@ -57,8 +53,7 @@ impl Wallet {
5753
signer,
5854
descriptor,
5955
electrum_url: None,
60-
db_root_path: None,
61-
chain_cache_path: None,
56+
data_dir_path: data_dir,
6257
network: Network::LiquidTestnet,
6358
})
6459
}
@@ -75,12 +70,12 @@ impl Wallet {
7570

7671
let electrum_url = opts.electrum_url.unwrap_or(match network {
7772
ElementsNetwork::Liquid | ElementsNetwork::LiquidTestnet => {
78-
ElectrumUrl::new(BLOCKSTREAM_ELECTRUM_URL, true, false)
73+
ElectrumUrl::new(DEFAULT_ELECTRUM_URL, true, false)
7974
}
8075
ElementsNetwork::ElementsRegtest { .. } => todo!(),
8176
});
8277

83-
let persister_path = opts.db_root_path.unwrap_or(DEFAULT_SWAPS_DIR.to_string());
78+
let persister_path = opts.data_dir_path.unwrap_or(DEFAULT_DATA_DIR.to_string());
8479
fs::create_dir_all(&persister_path)?;
8580

8681
let swap_persister = Persister::new(persister_path);

0 commit comments

Comments
 (0)