Skip to content

Commit 19478b3

Browse files
committed
f Drop Network newtype for the time being and use Currency::from
1 parent f84473f commit 19478b3

File tree

3 files changed

+15
-73
lines changed

3 files changed

+15
-73
lines changed

src/lib.rs

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ use payment_store::PaymentStore;
102102
pub use payment_store::{PaymentDetails, PaymentDirection, PaymentStatus};
103103
use peer_store::{PeerInfo, PeerStore};
104104
use types::{
105-
ChainMonitor, ChannelManager, GossipSync, KeysManager, Network, NetworkGraph, OnionMessenger,
105+
ChainMonitor, ChannelManager, GossipSync, KeysManager, NetworkGraph, OnionMessenger,
106106
PeerManager, Scorer,
107107
};
108108
pub use types::{ChannelId, UserChannelId};
@@ -141,6 +141,7 @@ use bdk::template::Bip84;
141141
use bitcoin::hashes::sha256::Hash as Sha256;
142142
use bitcoin::hashes::Hash;
143143
use bitcoin::secp256k1::PublicKey;
144+
use bitcoin::Network;
144145

145146
use bitcoin::{Address, BlockHash, OutPoint, Txid};
146147

@@ -193,7 +194,7 @@ impl Default for Config {
193194
Self {
194195
storage_dir_path: "/tmp/ldk_node/".to_string(),
195196
esplora_server_url: "http://localhost:3002".to_string(),
196-
network: Network::default(),
197+
network: Network::Regtest,
197198
listening_address: Some("0.0.0.0:9735".parse().unwrap()),
198199
default_cltv_expiry_delta: 144,
199200
}
@@ -276,7 +277,7 @@ impl Builder {
276277
///
277278
/// Default: `regtest`
278279
pub fn set_network(&mut self, network: &str) -> &mut Self {
279-
self.config.network = Network::from_str(network).unwrap_or(Network::default());
280+
self.config.network = Network::from_str(network).unwrap_or(Network::Regtest);
280281
self
281282
}
282283

@@ -321,13 +322,13 @@ impl Builder {
321322
io::utils::read_or_generate_seed_file(&seed_path)
322323
};
323324

324-
let xprv = bitcoin::util::bip32::ExtendedPrivKey::new_master(config.network.0, &seed_bytes)
325+
let xprv = bitcoin::util::bip32::ExtendedPrivKey::new_master(config.network, &seed_bytes)
325326
.expect("Failed to read wallet master key");
326327

327328
let wallet_name = bdk::wallet::wallet_name_from_descriptor(
328329
Bip84(xprv, bdk::KeychainKind::External),
329330
Some(Bip84(xprv, bdk::KeychainKind::Internal)),
330-
config.network.0,
331+
config.network,
331332
&Secp256k1::new(),
332333
)
333334
.expect("Failed to derive on-chain wallet name");
@@ -338,7 +339,7 @@ impl Builder {
338339
let bdk_wallet = bdk::Wallet::new(
339340
Bip84(xprv, bdk::KeychainKind::External),
340341
Some(Bip84(xprv, bdk::KeychainKind::Internal)),
341-
config.network.0,
342+
config.network,
342343
database,
343344
)
344345
.expect("Failed to set up on-chain wallet");
@@ -389,7 +390,7 @@ impl Builder {
389390
Ok(graph) => Arc::new(graph),
390391
Err(e) => {
391392
if e.kind() == std::io::ErrorKind::NotFound {
392-
Arc::new(NetworkGraph::new(config.network.0, Arc::clone(&logger)))
393+
Arc::new(NetworkGraph::new(config.network, Arc::clone(&logger)))
393394
} else {
394395
log_error!(logger, "Failed to read network graph: {}", e.to_string());
395396
panic!("Failed to read network graph: {}", e.to_string());
@@ -466,10 +467,10 @@ impl Builder {
466467
} else {
467468
// We're starting a fresh node.
468469
let genesis_block_hash =
469-
bitcoin::blockdata::constants::genesis_block(config.network.0).block_hash();
470+
bitcoin::blockdata::constants::genesis_block(config.network).block_hash();
470471

471472
let chain_params = ChainParameters {
472-
network: config.network.0,
473+
network: config.network,
473474
best_block: BestBlock::new(genesis_block_hash, 0),
474475
};
475476
channelmanager::ChannelManager::new(
@@ -1368,12 +1369,7 @@ impl Node {
13681369
fn receive_payment_inner(
13691370
&self, amount_msat: Option<u64>, description: &str, expiry_secs: u32,
13701371
) -> Result<Invoice, Error> {
1371-
let currency = match self.config.network.0 {
1372-
bitcoin::Network::Bitcoin => Currency::Bitcoin,
1373-
bitcoin::Network::Testnet => Currency::BitcoinTestnet,
1374-
bitcoin::Network::Regtest => Currency::Regtest,
1375-
bitcoin::Network::Signet => Currency::Signet,
1376-
};
1372+
let currency = Currency::from(self.config.network);
13771373
let keys_manager = Arc::clone(&self.keys_manager);
13781374
let invoice = match lightning_invoice::utils::create_invoice_from_channelmanager(
13791375
&self.channel_manager,

src/test/functional_tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::test::utils::*;
22
use crate::test::utils::{expect_event, random_config};
3-
use crate::{Builder, Error, Event, Network, PaymentDirection, PaymentStatus};
3+
use crate::{Builder, Error, Event, PaymentDirection, PaymentStatus};
44

55
use bitcoin::Amount;
66

@@ -255,7 +255,7 @@ fn connect_to_public_testnet_esplora() {
255255
let esplora_url = electrsd.esplora_url.as_ref().unwrap();
256256
let mut config = random_config(&esplora_url);
257257
config.esplora_server_url = "https://blockstream.info/testnet/api".to_string();
258-
config.network = Network(bitcoin::Network::Testnet);
258+
config.network = bitcoin::Network::Testnet;
259259
let node = Builder::from_config(config).build();
260260
node.start().unwrap();
261261
node.sync_wallets().unwrap();

src/types.rs

Lines changed: 2 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,9 @@ use lightning_transaction_sync::EsploraSyncClient;
2222
use bitcoin::hashes::sha256::Hash as Sha256;
2323
use bitcoin::hashes::Hash;
2424
use bitcoin::secp256k1::PublicKey;
25-
use bitcoin::{Address, Txid};
25+
use bitcoin::{Address, Network, Txid};
2626

2727
use std::convert::TryInto;
28-
use std::default::Default;
29-
use std::fmt;
3028
use std::net::SocketAddr;
3129
use std::str::FromStr;
3230
use std::sync::{Arc, Mutex};
@@ -270,58 +268,6 @@ impl Readable for UserChannelId {
270268
}
271269
}
272270

273-
#[derive(PartialEq, Eq, Debug, Copy, Clone)]
274-
pub struct Network(pub bitcoin::Network);
275-
276-
impl Default for Network {
277-
fn default() -> Self {
278-
Self(bitcoin::Network::Regtest)
279-
}
280-
}
281-
282-
impl FromStr for Network {
283-
type Err = ();
284-
285-
fn from_str(s: &str) -> Result<Self, Self::Err> {
286-
let inner = bitcoin::Network::from_str(s).map_err(|_| ())?;
287-
Ok(Self(inner))
288-
}
289-
}
290-
291-
impl fmt::Display for Network {
292-
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
293-
write!(f, "{}", self.0)
294-
}
295-
}
296-
297-
impl Writeable for Network {
298-
fn write<W: Writer>(&self, writer: &mut W) -> Result<(), lightning::io::Error> {
299-
let val = match self.0 {
300-
bitcoin::Network::Bitcoin => 0u8,
301-
bitcoin::Network::Testnet => 1u8,
302-
bitcoin::Network::Regtest => 2u8,
303-
bitcoin::Network::Signet => 3u8,
304-
};
305-
Ok(val.write(writer)?)
306-
}
307-
}
308-
309-
impl Readable for Network {
310-
fn read<R: lightning::io::Read>(
311-
reader: &mut R,
312-
) -> Result<Self, lightning::ln::msgs::DecodeError> {
313-
let network = match Readable::read(reader)? {
314-
0u8 => bitcoin::Network::Bitcoin,
315-
1u8 => bitcoin::Network::Testnet,
316-
2u8 => bitcoin::Network::Regtest,
317-
3u8 => bitcoin::Network::Signet,
318-
_ => return Err(lightning::ln::msgs::DecodeError::InvalidValue),
319-
};
320-
321-
Ok(Self(network))
322-
}
323-
}
324-
325271
impl UniffiCustomTypeConverter for Network {
326272
type Builtin = String;
327273

@@ -330,7 +276,7 @@ impl UniffiCustomTypeConverter for Network {
330276
}
331277

332278
fn from_custom(obj: Self) -> Self::Builtin {
333-
obj.0.to_string()
279+
obj.to_string()
334280
}
335281
}
336282

0 commit comments

Comments
 (0)