From 415efc82af05d1eae57f61beb04b0f711d0b7e42 Mon Sep 17 00:00:00 2001 From: Emilia Hane Date: Wed, 27 Mar 2024 20:58:03 +0100 Subject: [PATCH] feat(discv5): open dns for discv5 (#7328) Co-authored-by: Matthias Seitz --- Cargo.lock | 1 + crates/net/dns/src/lib.rs | 4 +++- crates/rpc/rpc-types/Cargo.toml | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index bd2cab4bd5bb..bb526b233280 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6571,6 +6571,7 @@ dependencies = [ "alloy-rpc-types", "arbitrary", "bytes", + "enr", "ethereum_ssz", "ethereum_ssz_derive", "jsonrpsee-types", diff --git a/crates/net/dns/src/lib.rs b/crates/net/dns/src/lib.rs index ceff42c25144..f1056d841d59 100644 --- a/crates/net/dns/src/lib.rs +++ b/crates/net/dns/src/lib.rs @@ -372,6 +372,8 @@ pub struct DnsNodeRecordUpdate { pub node_record: NodeRecord, /// The forkid of the node, if present in the ENR pub fork_id: Option, + /// Original [`Enr`]. + pub enr: Enr, } /// Commands sent from [DnsDiscoveryHandle] to [DnsDiscoveryService] @@ -403,7 +405,7 @@ fn convert_enr_node_record(enr: &Enr) -> Option let mut maybe_fork_id = enr.get(b"eth")?; let fork_id = ForkId::decode(&mut maybe_fork_id).ok(); - Some(DnsNodeRecordUpdate { node_record, fork_id }) + Some(DnsNodeRecordUpdate { node_record, fork_id, enr: enr.clone() }) } #[cfg(test)] diff --git a/crates/rpc/rpc-types/Cargo.toml b/crates/rpc/rpc-types/Cargo.toml index 4da62f7caa5f..424600e50e1c 100644 --- a/crates/rpc/rpc-types/Cargo.toml +++ b/crates/rpc/rpc-types/Cargo.toml @@ -21,6 +21,7 @@ alloy-rpc-engine-types = { workspace = true, features = ["jsonrpsee-types"] } ethereum_ssz_derive = { version = "0.5", optional = true } ethereum_ssz = { version = "0.5", optional = true } alloy-genesis.workspace = true +enr = { workspace = true, features = ["serde", "rust-secp256k1"] } # misc thiserror.workspace = true