Implement ERA consumer and producer in lcli

This commit is contained in:
dapplion
2026-03-08 18:49:53 -05:00
parent efe43f7699
commit 6cc3d63c8b
39 changed files with 1952 additions and 41 deletions

161
Cargo.lock generated
View File

@@ -1232,8 +1232,8 @@ dependencies = [
"eth2_network_config",
"ethereum_hashing",
"ethereum_serde_utils",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"execution_layer",
"fixed_bytes",
"fork_choice",
@@ -1259,10 +1259,12 @@ dependencies = [
"proto_array",
"rand 0.9.2",
"rayon",
"reth-era",
"safe_arith",
"sensitive_url",
"serde",
"serde_json",
"serde_yaml",
"slasher",
"slot_clock",
"smallvec",
@@ -1508,7 +1510,7 @@ dependencies = [
"blst",
"ethereum_hashing",
"ethereum_serde_utils",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"fixed_bytes",
"hex",
"rand 0.9.2",
@@ -1555,7 +1557,7 @@ dependencies = [
"clap",
"clap_utils",
"eth2_network_config",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"hex",
"lighthouse_network",
"log",
@@ -1613,7 +1615,7 @@ dependencies = [
"bls",
"context_deserialize",
"eth2",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"lighthouse_version",
"mockito",
"reqwest",
@@ -1881,7 +1883,7 @@ dependencies = [
"clap",
"dirs",
"eth2_network_config",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"hex",
"serde",
"serde_json",
@@ -1900,7 +1902,7 @@ dependencies = [
"environment",
"eth2",
"eth2_config",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"execution_layer",
"futures",
"genesis",
@@ -2334,6 +2336,16 @@ dependencies = [
"syn 2.0.111",
]
[[package]]
name = "darling"
version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee"
dependencies = [
"darling_core 0.20.11",
"darling_macro 0.20.11",
]
[[package]]
name = "darling"
version = "0.21.3"
@@ -2354,6 +2366,20 @@ dependencies = [
"darling_macro 0.23.0",
]
[[package]]
name = "darling_core"
version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e"
dependencies = [
"fnv",
"ident_case",
"proc-macro2",
"quote",
"strsim",
"syn 2.0.111",
]
[[package]]
name = "darling_core"
version = "0.21.3"
@@ -2382,6 +2408,17 @@ dependencies = [
"syn 2.0.111",
]
[[package]]
name = "darling_macro"
version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
dependencies = [
"darling_core 0.20.11",
"quote",
"syn 2.0.111",
]
[[package]]
name = "darling_macro"
version = "0.21.3"
@@ -2506,7 +2543,7 @@ dependencies = [
"alloy-json-abi",
"alloy-primitives",
"bls",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"hex",
"reqwest",
"serde_json",
@@ -2842,8 +2879,8 @@ dependencies = [
"context_deserialize",
"educe",
"eth2_network_config",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"execution_layer",
"fork_choice",
"fs2",
@@ -3123,8 +3160,8 @@ dependencies = [
"enr",
"eth2_keystore",
"ethereum_serde_utils",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"futures",
"futures-util",
"libp2p-identity",
@@ -3210,7 +3247,7 @@ dependencies = [
"bytes",
"discv5",
"eth2_config",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"fixed_bytes",
"kzg",
"pretty_reqwest_error",
@@ -3275,6 +3312,21 @@ dependencies = [
"serde_json",
]
[[package]]
name = "ethereum_ssz"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0dcddb2554d19cde19b099fadddde576929d7a4d0c1cd3512d1fd95cf174375c"
dependencies = [
"alloy-primitives",
"ethereum_serde_utils",
"itertools 0.13.0",
"serde",
"serde_derive",
"smallvec",
"typenum",
]
[[package]]
name = "ethereum_ssz"
version = "0.10.1"
@@ -3292,6 +3344,18 @@ dependencies = [
"typenum",
]
[[package]]
name = "ethereum_ssz_derive"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a657b6b3b7e153637dc6bdc6566ad9279d9ee11a15b12cfb24a2e04360637e9f"
dependencies = [
"darling 0.20.11",
"proc-macro2",
"quote",
"syn 2.0.111",
]
[[package]]
name = "ethereum_ssz_derive"
version = "0.10.1"
@@ -3385,7 +3449,7 @@ dependencies = [
"bytes",
"eth2",
"ethereum_serde_utils",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"fixed_bytes",
"fork_choice",
"hash-db",
@@ -3583,8 +3647,8 @@ name = "fork_choice"
version = "0.1.0"
dependencies = [
"beacon_chain",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"fixed_bytes",
"logging",
"metrics",
@@ -3778,7 +3842,7 @@ version = "0.2.0"
dependencies = [
"bls",
"ethereum_hashing",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"int_to_bytes",
"merkle_proof",
"rayon",
@@ -4198,7 +4262,7 @@ dependencies = [
"either",
"eth2",
"ethereum_serde_utils",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"execution_layer",
"fixed_bytes",
"futures",
@@ -4839,8 +4903,8 @@ dependencies = [
"educe",
"ethereum_hashing",
"ethereum_serde_utils",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"hex",
"rayon",
"rust_eth_kzg",
@@ -4880,7 +4944,7 @@ dependencies = [
"eth2_network_config",
"eth2_wallet",
"ethereum_hashing",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"execution_layer",
"fixed_bytes",
"hex",
@@ -5417,8 +5481,8 @@ dependencies = [
"discv5",
"either",
"eth2",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"fixed_bytes",
"fnv",
"futures",
@@ -5761,8 +5825,8 @@ dependencies = [
"context_deserialize",
"educe",
"ethereum_hashing",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"itertools 0.13.0",
"parking_lot",
"rayon",
@@ -6062,7 +6126,7 @@ dependencies = [
"educe",
"eth2",
"eth2_network_config",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"execution_layer",
"fixed_bytes",
"fnv",
@@ -6457,8 +6521,8 @@ dependencies = [
"bitvec",
"bls",
"educe",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"fixed_bytes",
"itertools 0.14.0",
"maplit",
@@ -7023,8 +7087,8 @@ dependencies = [
name = "proto_array"
version = "0.2.0"
dependencies = [
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"fixed_bytes",
"safe_arith",
"serde",
@@ -7450,6 +7514,21 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7"
[[package]]
name = "reth-era"
version = "1.9.3"
source = "git+https://github.com/paradigmxyz/reth.git?rev=62abfdaeb54e8a205a8ee085ddebd56047d93374#62abfdaeb54e8a205a8ee085ddebd56047d93374"
dependencies = [
"alloy-consensus",
"alloy-eips",
"alloy-primitives",
"alloy-rlp",
"ethereum_ssz 0.9.1",
"ethereum_ssz_derive 0.9.1",
"snap",
"thiserror 2.0.17",
]
[[package]]
name = "rfc6979"
version = "0.4.0"
@@ -8242,8 +8321,8 @@ dependencies = [
"bls",
"byteorder",
"educe",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"filesystem",
"fixed_bytes",
"flate2",
@@ -8407,7 +8486,7 @@ dependencies = [
"context_deserialize",
"educe",
"ethereum_serde_utils",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"itertools 0.14.0",
"serde",
"serde_derive",
@@ -8431,8 +8510,8 @@ dependencies = [
"bls",
"educe",
"ethereum_hashing",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"fixed_bytes",
"int_to_bytes",
"integer-sqrt",
@@ -8459,7 +8538,7 @@ version = "0.1.0"
dependencies = [
"beacon_chain",
"bls",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"fixed_bytes",
"state_processing",
"tokio",
@@ -8481,8 +8560,8 @@ dependencies = [
"criterion",
"db-key",
"directory",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"fixed_bytes",
"itertools 0.14.0",
"leveldb",
@@ -9285,7 +9364,7 @@ checksum = "f7fd51aa83d2eb83b04570808430808b5d24fdbf479a4d5ac5dee4a2e2dd2be4"
dependencies = [
"alloy-primitives",
"ethereum_hashing",
"ethereum_ssz",
"ethereum_ssz 0.10.1",
"smallvec",
"typenum",
]
@@ -9350,8 +9429,8 @@ dependencies = [
"eth2_interop_keypairs",
"ethereum_hashing",
"ethereum_serde_utils",
"ethereum_ssz",
"ethereum_ssz_derive",
"ethereum_ssz 0.10.1",
"ethereum_ssz_derive 0.10.1",
"fixed_bytes",
"hex",
"int_to_bytes",