From bf74809e85dba0252e2ac62455b4050ad831af7a Mon Sep 17 00:00:00 2001 From: ackintosh Date: Tue, 13 Jan 2026 09:11:25 +0900 Subject: [PATCH 1/3] Update discv5 to 0.10 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 497f48e..4386893 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,7 +15,7 @@ exclude = [ ] [dependencies] -discv5 = { version = "0.8", features = ["libp2p"] } +discv5 = { version = "0.10", features = ["libp2p"] } sha2 = "0.10" libsecp256k1 = "0.7" libp2p-identity = { version = "0.2.9", features = ["secp256k1"] } From a09643c27c25a3ee9d53495154f19d770e1460f9 Mon Sep 17 00:00:00 2001 From: ackintosh Date: Tue, 13 Jan 2026 09:17:28 +0900 Subject: [PATCH 2/3] Fix tests after discv5 upgrade --- src/packet/mod.rs | 2 +- tests/bootstrap.rs | 4 ++-- tests/packet.rs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/packet/mod.rs b/src/packet/mod.rs index d0f2a9a..48b4be2 100644 --- a/src/packet/mod.rs +++ b/src/packet/mod.rs @@ -15,7 +15,7 @@ pub fn decode(decode: &Decode) { log::info!("Using decoding node id: {}", node_id); - match discv5::packet::Packet::decode::(&node_id, &packet_bytes) { + match discv5::packet::Packet::decode(&node_id, Default::default(), &packet_bytes) { Ok(p) => log::info!("Packet decoded: {:?}", p), Err(e) => log::error!("Packet failed to be decoded. Error: {:?}", e), } diff --git a/tests/bootstrap.rs b/tests/bootstrap.rs index ef93d5c..4e7ce7b 100644 --- a/tests/bootstrap.rs +++ b/tests/bootstrap.rs @@ -1,4 +1,4 @@ -use discv5::{ConnectionState, Discv5, Discv5ConfigBuilder, ListenConfig}; +use discv5::{ConfigBuilder, ConnectionState, Discv5, ListenConfig}; use discv5_cli::server::{bootstrap, command, enr_build, keys}; #[tokio::test] @@ -23,7 +23,7 @@ pub async fn test_bootstrap_file() -> std::result::Result<(), eyre::Report> { .expect("Valid IP"), server.listen_port, ); - let config = Discv5ConfigBuilder::new(listen_config) + let config = ConfigBuilder::new(listen_config) .enr_peer_update_min(2usize) .build(); let mut discv5 = Discv5::new(enr, enr_key, config).unwrap(); diff --git a/tests/packet.rs b/tests/packet.rs index 201e8cd..6ba217d 100644 --- a/tests/packet.rs +++ b/tests/packet.rs @@ -11,7 +11,7 @@ pub fn test_packet_decoding() { let hex_dest_node_id = hex::encode(dest_node_id.raw()); println!("Destination node id: {hex_dest_node_id:?}"); - let packet = discv5_packet::Packet::new_random(&source_node_id).unwrap(); - let encoded = hex::encode(packet.encode::(&dest_node_id)); + let packet = discv5_packet::Packet::new_random(&source_node_id, Default::default()).unwrap(); + let encoded = hex::encode(packet.encode(&dest_node_id)); println!("Packet as hex: 0x{encoded:?}"); } From 18d4a1062c5ce1131dc04f6d3ec2cf45ed96939f Mon Sep 17 00:00:00 2001 From: ackintosh Date: Tue, 13 Jan 2026 09:28:52 +0900 Subject: [PATCH 3/3] Fix conflicting short options for IPv6 port flags Command server: Short option names must be unique for each argument, but '-p' is in use by both 'listen_port' and 'listen_port_v6' Command server: Short option names must be unique for each argument, but '-u' is in use by both 'enr_v4_port' and 'enr_v6_port' --- src/server/command.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/command.rs b/src/server/command.rs index 7adab18..e3588d2 100644 --- a/src/server/command.rs +++ b/src/server/command.rs @@ -34,7 +34,7 @@ pub struct Server { pub listen_port: u16, /// Optionally specify the listening ipv6 port. #[clap( - short = 'p', + short = '6', long = "listen-port-v6", help = "Specifies the listening UDP port of the server if an ipv6 address is specified as a listening address." )] @@ -55,7 +55,7 @@ pub struct Server { pub enr_v4_port: Option, /// The port associated with an ipv6 address. #[clap( - short = 'u', + short = 'U', long = "enr-v6-port", help = "Specifies the UDP port of the ENR record corresponding to ipv6 address. Not specifying this results in an ENR with no UDP field, unless the -w switch is used." )]