Skip to content

Commit 018219c

Browse files
committed
Make network a mandatory arg of init()
1 parent e6a8a84 commit 018219c

File tree

3 files changed

+22
-22
lines changed

3 files changed

+22
-22
lines changed

cli/src/main.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ mod persist;
44
use std::{fs, path::PathBuf};
55

66
use anyhow::{anyhow, Result};
7-
use breez_sdk_liquid::Wallet;
7+
use breez_sdk_liquid::{Network, Wallet};
88
use clap::Parser;
99
use commands::{handle_command, CliHelper, Command};
1010
use log::{error, info};
@@ -45,7 +45,11 @@ fn main() -> Result<()> {
4545
}
4646

4747
let mnemonic = persistence.get_or_create_mnemonic()?;
48-
let wallet = Wallet::init(&mnemonic.to_string(), Some(data_dir_str))?;
48+
let wallet = Wallet::init(
49+
&mnemonic.to_string(),
50+
Some(data_dir_str),
51+
Network::LiquidTestnet,
52+
)?;
4953

5054
loop {
5155
let readline = rl.readline("breez-liquid> ");

lib/src/model.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use boltz_client::util::error::S5Error;
22
use lwk_signer::SwSigner;
33
use lwk_wollet::{ElectrumUrl, ElementsNetwork};
44

5+
#[derive(Copy, Clone, PartialEq)]
56
pub enum Network {
67
Liquid,
78
LiquidTestnet,

lib/src/wallet.rs

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@ use crate::{
3232
pub struct Wallet {
3333
signer: SwSigner,
3434
electrum_url: ElectrumUrl,
35-
network: ElementsNetwork,
35+
network: Network,
3636
wallet: Arc<Mutex<LwkWollet>>,
3737
active_address: Option<u32>,
3838
swap_persister: Persister,
3939
}
4040

4141
impl Wallet {
42-
pub fn init(mnemonic: &str, data_dir: Option<String>) -> Result<Arc<Wallet>> {
43-
let signer = SwSigner::new(mnemonic, false)?;
42+
pub fn init(mnemonic: &str, data_dir: Option<String>, network: Network) -> Result<Arc<Wallet>> {
43+
let signer = SwSigner::new(mnemonic, network == Network::Liquid)?;
4444
let descriptor = singlesig_desc(
4545
&signer,
4646
Singlesig::Wpkh,
@@ -54,27 +54,24 @@ impl Wallet {
5454
descriptor,
5555
electrum_url: None,
5656
data_dir_path: data_dir,
57-
network: Network::LiquidTestnet,
57+
network,
5858
})
5959
}
6060

6161
fn new(opts: WalletOptions) -> Result<Arc<Self>> {
62-
let network: ElementsNetwork = opts.network.into();
62+
let network = opts.network;
63+
let elements_network: ElementsNetwork = opts.network.into();
6364

6465
let lwk_persister = NoPersist::new();
6566
let wallet = Arc::new(Mutex::new(LwkWollet::new(
66-
network,
67+
elements_network,
6768
lwk_persister,
6869
&opts.descriptor,
6970
)?));
7071

71-
let electrum_url = opts.electrum_url.unwrap_or(match network {
72-
ElementsNetwork::Liquid | ElementsNetwork::LiquidTestnet => {
73-
ElectrumUrl::new(DEFAULT_ELECTRUM_URL, true, false)
74-
}
75-
ElementsNetwork::ElementsRegtest { .. } => todo!(),
76-
});
77-
72+
let electrum_url =
73+
opts.electrum_url
74+
.unwrap_or(ElectrumUrl::new(DEFAULT_ELECTRUM_URL, true, false));
7875
let persister_path = opts.data_dir_path.unwrap_or(DEFAULT_DATA_DIR.to_string());
7976
fs::create_dir_all(&persister_path)?;
8077

@@ -113,7 +110,7 @@ impl Wallet {
113110
} = swap;
114111
match cloned.try_claim(&preimage, &redeem_script, &blinding_key, None) {
115112
Ok(_) => cloned.swap_persister.resolve_ongoing_swap(swap.id).unwrap(),
116-
Err(e) => warn!("Could not claim yet. Err: {}", e),
113+
Err(e) => warn!("Could not claim yet. Err: {e}"),
117114
}
118115
});
119116
}
@@ -156,19 +153,17 @@ impl Wallet {
156153

157154
fn boltz_client(&self) -> BoltzApiClient {
158155
let base_url = match self.network {
159-
ElementsNetwork::LiquidTestnet => BOLTZ_TESTNET_URL,
160-
ElementsNetwork::Liquid => BOLTZ_MAINNET_URL,
161-
ElementsNetwork::ElementsRegtest { .. } => todo!(),
156+
Network::LiquidTestnet => BOLTZ_TESTNET_URL,
157+
Network::Liquid => BOLTZ_MAINNET_URL,
162158
};
163159

164160
BoltzApiClient::new(base_url)
165161
}
166162

167163
fn get_chain(&self) -> Chain {
168164
match self.network {
169-
ElementsNetwork::Liquid => Chain::Liquid,
170-
ElementsNetwork::LiquidTestnet => Chain::LiquidTestnet,
171-
ElementsNetwork::ElementsRegtest { .. } => todo!(),
165+
Network::Liquid => Chain::Liquid,
166+
Network::LiquidTestnet => Chain::LiquidTestnet,
172167
}
173168
}
174169

0 commit comments

Comments
 (0)