Skip to content

Commit 6112f01

Browse files
committed
try something else
1 parent 9578626 commit 6112f01

File tree

7 files changed

+30
-22
lines changed

7 files changed

+30
-22
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/jormungandr/jormungandr-lib/Cargo.toml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@ hex = "0.4"
2929
bech32 = "0.8"
3030
base64 = "0.13.0"
3131
http = "0.2.2"
32-
[target.'cfg(not(target_family = "wasm"))'.dependencies]
33-
local-ip-address = "0.4.9"
3432

3533
[dev-dependencies]
3634
bincode = "1.3.3"

src/jormungandr/jormungandr-lib/src/interfaces/fragment_log.rs

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
use std::net::{IpAddr, Ipv4Addr};
1+
use std::net::IpAddr;
22

33
use crate::{crypto::hash::Hash, interfaces::BlockDate, time::SystemTime};
44
use chain_impl_mockchain::key;
5-
#[cfg(not(target_family = "wasm"))]
6-
use local_ip_address::local_ip;
5+
76
use serde::{Deserialize, Serialize};
87

98
/// identify the source of a fragment
@@ -23,18 +22,6 @@ pub enum FragmentOrigin {
2322
JRpc,
2423
}
2524

26-
impl FragmentOrigin {
27-
pub fn default_origin_addr() -> Self {
28-
#[cfg(not(target_family = "wasm"))]
29-
match local_ip() {
30-
Ok(ip) => FragmentOrigin::Network { addr: ip },
31-
Err(_err) => FragmentOrigin::Network {
32-
addr: std::net::IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)),
33-
},
34-
}
35-
}
36-
}
37-
3825
/// status of the fragment within the blockchain or the pool
3926
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
4027
pub enum FragmentStatus {

src/jormungandr/jormungandr/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ prometheus = { version = "0.13", optional = true }
6969
jsonrpsee-http-server = { version = "0.11.0" }
7070
jsonrpsee-core = { version = "0.11.0" }
7171
reqwest = { version = "0.11", default-features = false, features = ["rustls-tls"] }
72+
local-ip-address = "0.4.9"
7273

7374
[dev-dependencies]
7475
tokio = { version = "^1.15", features = ["full"] }

src/jormungandr/jormungandr/src/fragment/logs.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::fragment::FragmentId;
1+
use crate::{fragment::FragmentId, network::bootstrap::local_addr_lookup};
22
use jormungandr_lib::{
33
crypto::hash::Hash,
44
interfaces::{BlockDate, FragmentLog, FragmentOrigin, FragmentStatus},
@@ -78,7 +78,9 @@ impl Logs {
7878
// state transition.
7979
let mut entry = FragmentLog::new(
8080
fragment_id.into_hash(),
81-
FragmentOrigin::default_origin_addr(),
81+
FragmentOrigin::Network {
82+
addr: local_addr_lookup(),
83+
},
8284
);
8385
entry.modify(status);
8486
self.entries.put(fragment_id, (entry, Some(ledger_date)));

src/jormungandr/jormungandr/src/network/bootstrap.rs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ use crate::{
88
use chain_core::property::ReadError;
99
use chain_network::{data as net_data, error::Error as NetworkError};
1010
use futures::prelude::*;
11-
use std::fmt::Debug;
11+
use local_ip_address::local_ip;
12+
use std::{
13+
fmt::Debug,
14+
net::{IpAddr, Ipv4Addr},
15+
};
1216
use tokio_util::sync::CancellationToken;
1317

1418
#[derive(thiserror::Error, Debug)]
@@ -126,3 +130,16 @@ pub async fn bootstrap_from_peer(
126130
.map_err(Box::new)?;
127131
}
128132
}
133+
134+
pub fn local_addr_lookup() -> IpAddr {
135+
match local_ip() {
136+
Ok(ip) => ip,
137+
Err(err) => {
138+
tracing::error!(
139+
reason = %err,
140+
"unable to lookup local addr"
141+
);
142+
std::net::IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1))
143+
}
144+
}
145+
}

src/jormungandr/jormungandr/src/network/subscription.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use super::{buffer_sizes, convert::Decode, GlobalStateR};
22
use crate::{
33
blockcfg::Fragment,
44
intercom::{self, BlockMsg, TopologyMsg, TransactionMsg},
5+
network::bootstrap::local_addr_lookup,
56
settings::start::network::Configuration,
67
topology::{Gossip, NodeId},
78
utils::async_msg::{self, MessageBox},
@@ -378,7 +379,9 @@ impl FragmentProcessor {
378379
Some(addr) => FragmentOrigin::Network { addr: addr.ip() },
379380
None => {
380381
tracing::error!("node addr not present in config, reverting to local lookup");
381-
FragmentOrigin::default_origin_addr()
382+
FragmentOrigin::Network {
383+
addr: local_addr_lookup(),
384+
}
382385
}
383386
};
384387

0 commit comments

Comments
 (0)