diff --git a/Cargo.lock b/Cargo.lock index 383664d684bc..0e71c8183a2c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6553,6 +6553,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