diff --git a/code/crates/app/src/spawn.rs b/code/crates/app/src/spawn.rs index b42685ee6..eedc942f4 100644 --- a/code/crates/app/src/spawn.rs +++ b/code/crates/app/src/spawn.rs @@ -132,7 +132,7 @@ where Codec: WalCodec, { let wal_dir = home_dir.join("wal"); - std::fs::create_dir_all(&wal_dir).unwrap(); + std::fs::create_dir_all(&wal_dir)?; let wal_file = wal_dir.join("consensus.wal"); diff --git a/code/crates/discovery/src/handlers/identify.rs b/code/crates/discovery/src/handlers/identify.rs index f18831b77..d0c9ed347 100644 --- a/code/crates/discovery/src/handlers/identify.rs +++ b/code/crates/discovery/src/handlers/identify.rs @@ -214,9 +214,11 @@ where } // Add the address to the Kademlia routing table if self.config.bootstrap_protocol == BootstrapProtocol::Kademlia { - swarm - .behaviour_mut() - .add_address(&peer_id, info.listen_addrs.first().unwrap().clone()); + if let Some(addr) = info.listen_addrs.first() { + swarm.behaviour_mut().add_address(&peer_id, addr.clone()); + } else { + warn!(peer = %peer_id, "No listen addresses available for Kademlia routing"); + } } } else { // If discovery is disabled, all peers are inbound. The diff --git a/code/crates/test/app/src/app.rs b/code/crates/test/app/src/app.rs index 4eb599514..edf67ab8a 100644 --- a/code/crates/test/app/src/app.rs +++ b/code/crates/test/app/src/app.rs @@ -298,9 +298,17 @@ pub async fn run(state: &mut State, channels: &mut Channels) -> eyr let decided_value = state.get_decided_value(height).await; info!(%height, "Found decided value: {decided_value:?}"); - let raw_decided_value = decided_value.map(|decided_value| RawDecidedValue { - certificate: decided_value.certificate, - value_bytes: JsonCodec.encode(&decided_value.value).unwrap(), // FIXME: unwrap + let raw_decided_value = decided_value.and_then(|decided_value| { + match JsonCodec.encode(&decided_value.value) { + Ok(value_bytes) => Some(RawDecidedValue { + certificate: decided_value.certificate, + value_bytes, + }), + Err(e) => { + error!(%height, "Failed to encode decided value: {e}"); + None + } + } }); if reply.send(raw_decided_value).is_err() {