Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
eb5427e
initial discv5
ElFantasma Dec 9, 2025
dd0990b
Merge branch 'main' into discv5
ElFantasma Dec 9, 2025
a61953f
discv5 stub modules
ElFantasma Dec 10, 2025
637aaac
Merge branch 'main' into discv5
ElFantasma Dec 10, 2025
e1a8a83
Ordinary packet
ElFantasma Dec 11, 2025
fec454e
Added WhoAreYou packet
ElFantasma Dec 11, 2025
2e65c2e
Merge branch 'main' into discv5
ElFantasma Dec 11, 2025
6ecfb65
WhoAreYou decode test pass
ElFantasma Dec 11, 2025
0de7e39
WhoAreYou encode test pass
ElFantasma Dec 11, 2025
a56f4da
protocol version check
ElFantasma Dec 11, 2025
7a8541b
Added Discv5Codec
ElFantasma Dec 12, 2025
334044e
feat(l1): implement `discv5`'s `Pong` message (#5616)
azteca1998 Dec 12, 2025
ac66212
Merge branch 'main' into discv5
ElFantasma Dec 12, 2025
31b82d2
Added decryption and corrected Ping decoding
ElFantasma Dec 12, 2025
db0a79c
Corrected Ping encoding
ElFantasma Dec 12, 2025
3020428
feat(l1): implement discv5 TalkReq message coding (#5631)
edg-l Dec 15, 2025
552160a
feat(l1): implement discv5 nodes message coding (#5630)
edg-l Dec 15, 2025
d2da66c
feat(l1): implement discv5's FindNode message (#5629)
edg-l Dec 15, 2025
4af6e40
chore(l1): fix discv5 branch lints (#5633)
edg-l Dec 15, 2025
e247d48
chore(l1): improve discv5 new_nonce (#5652)
edg-l Dec 16, 2025
13b1e16
chore(l1): put all discv5 behind a feature flag (#5651)
edg-l Dec 16, 2025
48282da
feat(l1): implement discv5 TICKET message codec (#5650)
edg-l Dec 16, 2025
2907a37
feat(l1): implement `discv5` `TalkRes` message codec (#5632)
azteca1998 Dec 16, 2025
c547ab5
Merge branch 'main' into discv5
ElFantasma Dec 16, 2025
52fa23e
Merge branch 'main' into discv5
ElFantasma Dec 16, 2025
4aae22c
feat(l1): implement discv5 handshake encoding/decoding (#5653)
edg-l Dec 16, 2025
92ea30a
Merge branch 'main' into discv5
edg-l Dec 17, 2025
f2e8501
feat(l1): discv5, add ordinary packet coding (#5665)
edg-l Dec 17, 2025
0eda82b
Merge branch 'main' into discv5
ElFantasma Dec 17, 2025
8cab21f
Merge branch 'main' into discv5
edg-l Dec 18, 2025
bb8e46a
feat(l1): add discv5 session structures and remaining official vector…
edg-l Dec 18, 2025
16da2ac
rename feature
edg-l Dec 18, 2025
de865e2
rename
edg-l Dec 18, 2025
45d01e2
Merge branch 'main' into discv5
ElFantasma Dec 18, 2025
a43b915
address comments
edg-l Dec 19, 2025
afdaeba
Merge branch 'main' into discv5
edg-l Dec 19, 2025
d7ada2b
Updated some types
ElFantasma Dec 19, 2025
9e562dd
Merge branch 'main' into discv5
ElFantasma Dec 19, 2025
2aca677
Addressed PR comments and corrected req_id type
ElFantasma Dec 19, 2025
6b819a1
Corrected static_header type
ElFantasma Dec 19, 2025
41d100e
Removed unnecessary stuff
ElFantasma Dec 19, 2025
c1d3031
Merge branch 'main' into discv5
ElFantasma Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions cmd/ethrex/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@ jemalloc_profiling = [
"ethrex-rpc/jemalloc_profiling",
]
sync-test = ["ethrex-p2p/sync-test"]
# discv5 is currently experimental and should only be enabled for development purposes
experimental-discv5 = ["ethrex-p2p/experimental-discv5"]

l2 = [
"ethrex-l2",
Expand Down
3 changes: 3 additions & 0 deletions cmd/ethrex/ethrex.rs
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,9 @@ async fn main() -> eyre::Result<()> {
info!("ethrex version: {}", get_client_version());
tokio::spawn(periodically_check_version_update());

#[cfg(feature = "experimental-discv5")]
tracing::warn!("Experimental Discovery V5 protocol enabled");

let (datadir, cancel_token, peer_table, local_node_record) =
init_l1(opts, Some(log_filter_handler)).await?;

Expand Down
3 changes: 1 addition & 2 deletions crates/common/types/transaction.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ use std::{cmp::min, fmt::Display};
use crate::{errors::EcdsaError, utils::keccak};
use bytes::Bytes;
use ethereum_types::{Address, H256, Signature, U256};
use ethrex_crypto::keccak::keccak_hash;
pub use mempool::MempoolTransaction;
use rkyv::{Archive, Deserialize as RDeserialize, Serialize as RSerialize};
use serde::{Serialize, ser::SerializeStruct};
Expand Down Expand Up @@ -1431,7 +1430,7 @@ pub fn recover_address(signature: Signature, payload: H256) -> Result<Address, s
&signature,
)?;
// Hash public key to obtain address
let hash = keccak_hash(&public.serialize_uncompressed()[1..]);
let hash = ethrex_crypto::keccak::keccak_hash(&public.serialize_uncompressed()[1..]);
Ok(Address::from_slice(&hash[12..]))
}

Expand Down
76 changes: 75 additions & 1 deletion crates/l2/tee/quote-gen/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions crates/networking/p2p/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,10 @@ aes = "0.8.4"
ctr = "0.9.2"
rand = "0.8.5"

# discv5
aes-gcm = { version = "0.10.3", optional = true }
hkdf = { version = "0.12.4", optional = true }

rayon = "1.10.0"
crossbeam.workspace = true

Expand All @@ -65,6 +69,8 @@ sync-test = []
l2 = ["dep:ethrex-storage-rollup"]
test-utils = []
metrics = ["dep:ethrex-metrics"]
# discv5 is currently experimental and should only be enabled for development purposes
experimental-discv5 = ["dep:aes-gcm", "dep:hkdf"]

[lints.clippy]
unwrap_used = "deny"
Expand Down
Loading