From e13870b6213dbe64797402f7dc5006e8a90fc76e Mon Sep 17 00:00:00 2001 From: Joseph Livesey Date: Fri, 20 Dec 2024 11:44:46 -0500 Subject: [PATCH 1/3] chore: rename decoder crate --- .release-please-manifest.json | 2 +- Cargo.lock | 48 +++++++++---------- Cargo.toml | 2 +- README.md | 2 +- .../Cargo.toml | 2 +- .../{flat-files-decoder => decoder}/README.md | 10 ++-- .../benches/decoder.rs | 0 .../benches/stream_blocks.rs | 0 .../examples/cli.rs | 0 .../examples/compression.rs | 0 .../examples/read_blocks.rs | 0 .../src/dbin.rs | 0 .../src/decoder.rs | 0 .../src/error.rs | 0 .../src/lib.rs | 0 crates/firehose-protos/README.md | 2 +- crates/header-accumulator/Cargo.toml | 2 +- crates/header-accumulator/README.md | 4 +- crates/vee/Cargo.toml | 2 +- release-please-config.json | 2 +- 20 files changed, 39 insertions(+), 39 deletions(-) rename crates/{flat-files-decoder => decoder}/Cargo.toml (96%) rename crates/{flat-files-decoder => decoder}/README.md (84%) rename crates/{flat-files-decoder => decoder}/benches/decoder.rs (100%) rename crates/{flat-files-decoder => decoder}/benches/stream_blocks.rs (100%) rename crates/{flat-files-decoder => decoder}/examples/cli.rs (100%) rename crates/{flat-files-decoder => decoder}/examples/compression.rs (100%) rename crates/{flat-files-decoder => decoder}/examples/read_blocks.rs (100%) rename crates/{flat-files-decoder => decoder}/src/dbin.rs (100%) rename crates/{flat-files-decoder => decoder}/src/decoder.rs (100%) rename crates/{flat-files-decoder => decoder}/src/error.rs (100%) rename crates/{flat-files-decoder => decoder}/src/lib.rs (100%) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 6ef198a1..af8c0cbe 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,6 +1,6 @@ { "crates/vee": "0.1.0", - "crates/flat-files-decoder": "0.1.0", + "crates/decoder": "0.1.0", "crates/header-accumulator": "0.1.0", "crates/firehose-protos": "0.1.0", "crates/firehose-protos-examples": "0.1.0" diff --git a/Cargo.lock b/Cargo.lock index be53f74e..de3a5331 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1445,6 +1445,28 @@ dependencies = [ "syn 2.0.90", ] +[[package]] +name = "decoder" +version = "0.1.0" +dependencies = [ + "alloy-consensus", + "alloy-eip2930", + "alloy-primitives", + "bincode", + "clap", + "criterion", + "firehose-protos", + "prost", + "rand", + "reth-primitives", + "serde", + "serde_json", + "thiserror 2.0.3", + "tracing", + "tracing-subscriber", + "zstd", +] + [[package]] name = "delay_map" version = "0.3.0" @@ -1966,28 +1988,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flat-files-decoder" -version = "0.1.0" -dependencies = [ - "alloy-consensus", - "alloy-eip2930", - "alloy-primitives", - "bincode", - "clap", - "criterion", - "firehose-protos", - "prost", - "rand", - "reth-primitives", - "serde", - "serde_json", - "thiserror 2.0.3", - "tracing", - "tracing-subscriber", - "zstd", -] - [[package]] name = "flate2" version = "1.0.35" @@ -2317,9 +2317,9 @@ dependencies = [ "alloy-primitives", "base64 0.21.7", "clap", + "decoder", "ethportal-api", "firehose-protos", - "flat-files-decoder", "primitive-types", "rlp", "serde", @@ -5700,8 +5700,8 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" name = "vee" version = "0.1.0" dependencies = [ + "decoder", "firehose-protos", - "flat-files-decoder", "header-accumulator", "tree_hash", ] diff --git a/Cargo.toml b/Cargo.toml index e7a064cd..d4d6b11a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ criterion = { version = "0.5.1", features = ["html_reports"] } ethportal-api = { git = "https://github.com/ethereum/trin.git", version = "0.2.2", tag = "v0.1.0-alpha.51" } firehose-protos = { path = "crates/firehose-protos", version = "0.1.0" } firehose-rs = { git = "https://github.com/semiotic-ai/firehose-rs.git", branch = "main" } -flat-files-decoder = { path = "crates/flat-files-decoder", version = "0.1.0" } +decoder = { path = "crates/decoder", version = "0.1.0" } header-accumulator = { path = "crates/header-accumulator", version = "0.1.0" } hex = "0.4.3" primitive-types = "0.12.2" diff --git a/README.md b/README.md index 5b8c8daf..fc00e1c7 100644 --- a/README.md +++ b/README.md @@ -7,5 +7,5 @@ Semiotic Labs monorepo for Verifiable Extraction of blockchain data. [vee](./crates/vee/README.md) is the main crate for the project. It re-exports: - [firehose-protos](./crates/firehose-protos/README.md) -- [flat-files-decoder](./crates/flat-files-decoder/README.md) +- [decoder](./crates/decoder/README.md) - [header-accumulator](./crates/header-accumulator/README.md) diff --git a/crates/flat-files-decoder/Cargo.toml b/crates/decoder/Cargo.toml similarity index 96% rename from crates/flat-files-decoder/Cargo.toml rename to crates/decoder/Cargo.toml index 8dbe8ec7..e78c72f5 100644 --- a/crates/flat-files-decoder/Cargo.toml +++ b/crates/decoder/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "flat-files-decoder" +name = "decoder" version = "0.1.0" edition = "2021" diff --git a/crates/flat-files-decoder/README.md b/crates/decoder/README.md similarity index 84% rename from crates/flat-files-decoder/README.md rename to crates/decoder/README.md index cfe6067b..7626416d 100644 --- a/crates/flat-files-decoder/README.md +++ b/crates/decoder/README.md @@ -8,7 +8,7 @@ Check out the crate documentation in your browser by running, from the root of the `veemon` workspace: ```terminal -cd crates/flat-files-decoder && cargo doc --open +cd crates/decoder && cargo doc --open ``` ## Running CLI Example @@ -35,11 +35,11 @@ Here are some examples of how to use the commands: 1. To stream data continuously from `stdin`: ```terminal -cargo run -p flat-files-decoder --example cli stream +cargo run -p decoder --example cli stream ``` ```terminal -cat example0017686312.dbin | cargo run -p flat-files-decoder --example cli stream +cat example0017686312.dbin | cargo run -p decoder --example cli stream ``` This will output decoded header records as bytes into `stdout` @@ -47,13 +47,13 @@ This will output decoded header records as bytes into `stdout` 1. To check a folder of dbin files: ```terminal -cargo run -p flat-files-decoder --example cli decode --input ./input_files/ --compression true +cargo run -p decoder --example cli decode --input ./input_files/ --compression true ``` So, if using test data from a `test-assets/` folder in the root of the `veemon` repo: ```terminal -cargo run -p flat-files-decoder --example cli decode --input test-assets/benchmark_files/pre_merge +cargo run -p decoder --example cli decode --input test-assets/benchmark_files/pre_merge ``` This will store the block headers as json format in the output folder. diff --git a/crates/flat-files-decoder/benches/decoder.rs b/crates/decoder/benches/decoder.rs similarity index 100% rename from crates/flat-files-decoder/benches/decoder.rs rename to crates/decoder/benches/decoder.rs diff --git a/crates/flat-files-decoder/benches/stream_blocks.rs b/crates/decoder/benches/stream_blocks.rs similarity index 100% rename from crates/flat-files-decoder/benches/stream_blocks.rs rename to crates/decoder/benches/stream_blocks.rs diff --git a/crates/flat-files-decoder/examples/cli.rs b/crates/decoder/examples/cli.rs similarity index 100% rename from crates/flat-files-decoder/examples/cli.rs rename to crates/decoder/examples/cli.rs diff --git a/crates/flat-files-decoder/examples/compression.rs b/crates/decoder/examples/compression.rs similarity index 100% rename from crates/flat-files-decoder/examples/compression.rs rename to crates/decoder/examples/compression.rs diff --git a/crates/flat-files-decoder/examples/read_blocks.rs b/crates/decoder/examples/read_blocks.rs similarity index 100% rename from crates/flat-files-decoder/examples/read_blocks.rs rename to crates/decoder/examples/read_blocks.rs diff --git a/crates/flat-files-decoder/src/dbin.rs b/crates/decoder/src/dbin.rs similarity index 100% rename from crates/flat-files-decoder/src/dbin.rs rename to crates/decoder/src/dbin.rs diff --git a/crates/flat-files-decoder/src/decoder.rs b/crates/decoder/src/decoder.rs similarity index 100% rename from crates/flat-files-decoder/src/decoder.rs rename to crates/decoder/src/decoder.rs diff --git a/crates/flat-files-decoder/src/error.rs b/crates/decoder/src/error.rs similarity index 100% rename from crates/flat-files-decoder/src/error.rs rename to crates/decoder/src/error.rs diff --git a/crates/flat-files-decoder/src/lib.rs b/crates/decoder/src/lib.rs similarity index 100% rename from crates/flat-files-decoder/src/lib.rs rename to crates/decoder/src/lib.rs diff --git a/crates/firehose-protos/README.md b/crates/firehose-protos/README.md index bbb8fe38..86d1c01f 100644 --- a/crates/firehose-protos/README.md +++ b/crates/firehose-protos/README.md @@ -16,7 +16,7 @@ Representation of the tracing of a block in the Ethereum blockchain. ## Usage To ingest these block types from flat files, check out -[`veemon/crates/flat-files-decoder`](../flat-files-decoder/index.html). +[`veemon/crates/decoder`](../decoder/index.html). For a high-level Rust client to use with Firehose endpoint providers like Pinax or StremaingFast, check out [`semiotic-ai/firehose-client`](https://github.com/semiotic-ai/firehose-client). diff --git a/crates/header-accumulator/Cargo.toml b/crates/header-accumulator/Cargo.toml index f7de5ac5..1d1bd7d3 100644 --- a/crates/header-accumulator/Cargo.toml +++ b/crates/header-accumulator/Cargo.toml @@ -21,5 +21,5 @@ trin-validation.workspace = true thiserror.workspace = true [dev-dependencies] -flat-files-decoder.workspace = true +decoder.workspace = true tempfile.workspace = true diff --git a/crates/header-accumulator/README.md b/crates/header-accumulator/README.md index bdc8955f..7f6ab026 100644 --- a/crates/header-accumulator/README.md +++ b/crates/header-accumulator/README.md @@ -43,12 +43,12 @@ cd crates/header-accumulator && cargo doc --open The main objective of this library is to provide a tool for verifying blocks from [StreamingFast Firehose](https://firehose.streamingfast.io/). -It works in conjunction with [flat-files-decoder](https://github.com/semiotic-ai/flat-files-decoder) +It works in conjunction with [decoder](https://github.com/semiotic-ai/decoder) to offer a comprehensive solution. ## Testing -Some tests depend on [flat-files-decoder](../flat-files-decoder/README.md) as a development dependency. +Some tests depend on [decoder](../decoder/README.md) as a development dependency. Run all tests with: diff --git a/crates/vee/Cargo.toml b/crates/vee/Cargo.toml index 0a336deb..93f5c0fa 100644 --- a/crates/vee/Cargo.toml +++ b/crates/vee/Cargo.toml @@ -9,7 +9,7 @@ name = "vee" [dependencies] firehose-protos.workspace = true -flat-files-decoder.workspace = true +decoder.workspace = true header-accumulator.workspace = true [dev-dependencies] diff --git a/release-please-config.json b/release-please-config.json index bff3bc77..d2813161 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -7,7 +7,7 @@ ], "packages": { "crates/vee": {}, - "crates/flat-files-decoder": {}, + "crates/decoder": {}, "crates/header-accumulator": {}, "crates/firehose-protos": {}, "crates/firehose-protos-examples": {} From d08000d19e7b4639864ee98858b2dfd07acc5553 Mon Sep 17 00:00:00 2001 From: Joseph Livesey Date: Fri, 20 Dec 2024 12:53:15 -0500 Subject: [PATCH 2/3] build: update dependencies --- Cargo.lock | 956 ++++++++++-------- Cargo.toml | 44 +- crates/firehose-protos/Cargo.toml | 3 - .../src/ethereum_v2/eth_block.rs | 25 +- .../src/ethereum_v2/transaction.rs | 22 +- crates/header-accumulator/Cargo.toml | 2 - .../header-accumulator/src/era_validator.rs | 11 +- .../header-accumulator/src/inclusion_proof.rs | 4 +- crates/vee/Cargo.toml | 2 +- 9 files changed, 609 insertions(+), 460 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index de3a5331..5e4167a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -76,9 +76,9 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy" @@ -86,19 +86,19 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "056f2c01b2aed86e15b43c47d109bfc8b82553dc34e66452875e51247ec31ab2" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.4.2", "alloy-core", - "alloy-eips", - "alloy-genesis", - "alloy-rpc-types", - "alloy-serde", + "alloy-eips 0.4.2", + "alloy-genesis 0.4.2", + "alloy-rpc-types 0.4.2", + "alloy-serde 0.4.2", ] [[package]] name = "alloy-chains" -version = "0.1.47" +version = "0.1.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18c5c520273946ecf715c0010b4e3503d7eba9893cd9ce6b7fff5654c4a3c470" +checksum = "830045a4421ee38d3ab570d36d4d2b5152c066e72797139224da8de5d5981fd0" dependencies = [ "alloy-primitives", "num_enum", @@ -112,21 +112,52 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "705687d5bfd019fee57cf9e206b27b30a9a9617535d5590a02b171e813208f8e" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.4.2", "auto_impl", "c-kzg", "derive_more", "serde", ] +[[package]] +name = "alloy-consensus" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88e1edea70787c33e11197d3f32ae380f3db19e6e061e539a5bcf8184a6b326" +dependencies = [ + "alloy-eips 0.8.3", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.8.3", + "alloy-trie", + "auto_impl", + "c-kzg", + "derive_more", + "serde", +] + +[[package]] +name = "alloy-consensus-any" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57b1bb53f40c0273cd1975573cd457b39213e68584e36d1401d25fd0398a1d65" +dependencies = [ + "alloy-consensus 0.8.3", + "alloy-eips 0.8.3", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.8.3", + "serde", +] + [[package]] name = "alloy-core" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d14d531c99995de71558e8e2206c27d709559ee8e5a0452b965ea82405a013" +checksum = "c618bd382f0bc2ac26a7e4bfae01c9b015ca8f21b37ca40059ae35a7e62b3dc6" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", @@ -137,9 +168,9 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80759b3f57b3b20fa7cd8fef6479930fc95461b58ff8adea6e87e618449c8a1d" +checksum = "41056bde53ae10ffbbf11618efbe1e0290859e5eab0fe9ef82ebdb62f12a866f" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -171,6 +202,18 @@ checksum = "ea59dc42102bc9a1905dc57901edc6dd48b9f38115df86c7d252acba70d71d04" dependencies = [ "alloy-primitives", "alloy-rlp", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c986539255fb839d1533c128e190e557e52ff652c9ef62939e233a81dd93f7e" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "derive_more", "k256", "serde", ] @@ -182,10 +225,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ffb906284a1e1f63c4607da2068c8197458a352d0b3e9796e67353d72a9be85" dependencies = [ "alloy-eip2930", - "alloy-eip7702", + "alloy-eip7702 0.1.1", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.4.2", + "c-kzg", + "derive_more", + "once_cell", + "serde", + "sha2", +] + +[[package]] +name = "alloy-eips" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f9fadfe089e9ccc0650473f2d4ef0a28bc015bbca5631d9f0f09e49b557fdb3" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702 0.4.2", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.8.3", "c-kzg", "derive_more", "once_cell", @@ -200,15 +261,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8429cf4554eed9b40feec7f4451113e76596086447550275e3def933faf47ce3" dependencies = [ "alloy-primitives", - "alloy-serde", + "alloy-serde 0.4.2", + "serde", +] + +[[package]] +name = "alloy-genesis" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2a4cf7b70f3495788e74ce1c765260ffe38820a2a774ff4aacb62e31ea73f9" +dependencies = [ + "alloy-primitives", + "alloy-serde 0.8.3", + "alloy-trie", "serde", ] [[package]] name = "alloy-json-abi" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac4b22b3e51cac09fd2adfcc73b55f447b4df669f983c13f7894ec82b607c63f" +checksum = "c357da577dfb56998d01f574d81ad7a1958d248740a7981b205d69d65a7da404" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -216,24 +289,76 @@ dependencies = [ "serde_json", ] +[[package]] +name = "alloy-json-rpc" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e29040b9d5fe2fb70415531882685b64f8efd08dfbd6cc907120650504821105" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_json", + "thiserror 2.0.8", + "tracing", +] + +[[package]] +name = "alloy-network" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "510cc00b318db0dfccfdd2d032411cfae64fc144aef9679409e014145d3dacc4" +dependencies = [ + "alloy-consensus 0.8.3", + "alloy-consensus-any", + "alloy-eips 0.8.3", + "alloy-json-rpc", + "alloy-network-primitives 0.8.3", + "alloy-primitives", + "alloy-rpc-types-any", + "alloy-rpc-types-eth 0.8.3", + "alloy-serde 0.8.3", + "alloy-signer", + "alloy-sol-types", + "async-trait", + "auto_impl", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 2.0.8", +] + [[package]] name = "alloy-network-primitives" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "801492711d4392b2ccf5fc0bc69e299fa1aab15167d74dcaa9aab96a54f684bd" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-serde 0.4.2", + "serde", +] + +[[package]] +name = "alloy-network-primitives" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9081c099e798b8a2bba2145eb82a9a146f01fc7a35e9ab6e7b43305051f97550" +dependencies = [ + "alloy-consensus 0.8.3", + "alloy-eips 0.8.3", "alloy-primitives", - "alloy-serde", + "alloy-serde 0.8.3", "serde", ] [[package]] name = "alloy-primitives" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9db948902dfbae96a73c2fbf1f7abec62af034ab883e4c777c3fd29702bd6e2c" +checksum = "6259a506ab13e1d658796c31e6e39d2e2ee89243bcc505ddc613b35732e0a430" dependencies = [ "alloy-rlp", "bytes", @@ -244,7 +369,7 @@ dependencies = [ "getrandom", "hashbrown 0.15.2", "hex-literal", - "indexmap 2.6.0", + "indexmap 2.7.0", "itoa", "k256", "keccak-asm", @@ -260,9 +385,9 @@ dependencies = [ [[package]] name = "alloy-rlp" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0822426598f95e45dd1ea32a738dac057529a709ee645fcc516ffa4cbde08f" +checksum = "f542548a609dca89fcd72b3b9f355928cf844d4363c5eed9c5273a3dd225e097" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -271,9 +396,9 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b09cae092c27b6f1bde952653a22708691802e57bfef4a2973b80bea21efd3f" +checksum = "5a833d97bf8a5f0f878daf2c8451fff7de7f9de38baa5a45d936ec718d81255a" dependencies = [ "proc-macro2", "quote", @@ -287,23 +412,66 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ffc534b7919e18f35e3aa1f507b6f3d9d92ec298463a9f6beaac112809d8d06" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 0.4.2", + "alloy-serde 0.4.2", + "serde", +] + +[[package]] +name = "alloy-rpc-types" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3410a472ce26c457e9780f708ee6bd540b30f88f1f31fdab7a11d00bd6aa1aee" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-eth 0.8.3", + "alloy-serde 0.8.3", "serde", ] +[[package]] +name = "alloy-rpc-types-any" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed98e1af55a7d856bfa385f30f63d8d56be2513593655c904a8f4a7ec963aa3e" +dependencies = [ + "alloy-consensus-any", + "alloy-rpc-types-eth 0.8.3", + "alloy-serde 0.8.3", +] + [[package]] name = "alloy-rpc-types-eth" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413f4aa3ccf2c3e4234a047c5fa4727916d7daf25a89f9b765df0ba09784fd87" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network-primitives", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-network-primitives 0.4.2", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.4.2", + "alloy-sol-types", + "derive_more", + "itertools 0.13.0", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8737d7a6e37ca7bba9c23e9495c6534caec6760eb24abc9d5ffbaaba147818e1" +dependencies = [ + "alloy-consensus 0.8.3", + "alloy-consensus-any", + "alloy-eips 0.8.3", + "alloy-network-primitives 0.8.3", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.8.3", "alloy-sol-types", "derive_more", "itertools 0.13.0", @@ -322,11 +490,36 @@ dependencies = [ "serde_json", ] +[[package]] +name = "alloy-serde" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5851bf8d5ad33014bd0c45153c603303e730acc8a209450a7ae6b4a12c2789e2" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e10ca565da6500cca015ba35ee424d59798f2e1b85bc0dd8f81dafd401f029a" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "elliptic-curve", + "k256", + "thiserror 2.0.8", +] + [[package]] name = "alloy-sol-macro" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bfd7853b65a2b4f49629ec975fee274faf6dff15ab8894c620943398ef283c0" +checksum = "d9d64f851d95619233f74b310f12bcf16e0cbc27ee3762b6115c14a84809280a" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", @@ -338,14 +531,14 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82ec42f342d9a9261699f8078e57a7a4fda8aaa73c1a212ed3987080e6a9cd13" +checksum = "6bf7ed1574b699f48bf17caab4e6e54c6d12bc3c006ab33d58b1e227c1c3559f" dependencies = [ "alloy-sol-macro-input", "const-hex", "heck", - "indexmap 2.6.0", + "indexmap 2.7.0", "proc-macro-error2", "proc-macro2", "quote", @@ -356,9 +549,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-input" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2c50e6a62ee2b4f7ab3c6d0366e5770a21cad426e109c2f40335a1b3aff3df" +checksum = "8c02997ccef5f34f9c099277d4145f183b422938ed5322dc57a089fe9b9ad9ee" dependencies = [ "const-hex", "dunce", @@ -371,9 +564,9 @@ dependencies = [ [[package]] name = "alloy-sol-type-parser" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac17c6e89a50fb4a758012e4b409d9a0ba575228e69b539fe37d7a1bd507ca4a" +checksum = "ce13ff37285b0870d0a0746992a4ae48efaf34b766ae4c2640fa15e5305f8e73" dependencies = [ "serde", "winnow", @@ -381,9 +574,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9dc0fffe397aa17628160e16b89f704098bf3c9d74d5d369ebc239575936de5" +checksum = "1174cafd6c6d810711b4e00383037bdb458efc4fe3dbafafa16567e0320c54d8" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -394,12 +587,13 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.6.0" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9703ce68b97f8faae6f7739d1e003fc97621b856953cbcdbb2b515743f23288" +checksum = "3a5fd8fea044cc9a8c8a50bb6f28e31f0385d820f116c5b98f6f4e55d6e5590b" dependencies = [ "alloy-primitives", "alloy-rlp", + "arrayvec", "derive_more", "nybbles", "serde", @@ -407,6 +601,12 @@ dependencies = [ "tracing", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -422,15 +622,6 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anstream" version = "0.6.18" @@ -482,9 +673,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.93" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" +checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" [[package]] name = "ark-ff" @@ -615,6 +806,9 @@ name = "arrayvec" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] [[package]] name = "async-stream" @@ -655,17 +849,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "auto_impl" version = "1.2.0" @@ -685,9 +868,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-lc-rs" -version = "1.11.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f47bb8cc16b669d267eeccf585aea077d0882f4777b1c1f740217885d6e6e5a3" +checksum = "f409eb70b561706bf8abba8ca9c112729c481595893fd06a2dd9af8ed8441148" dependencies = [ "aws-lc-sys", "paste", @@ -696,9 +879,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.23.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2101df3813227bbaaaa0b04cd61c534c7954b22bd68d399b440be937dc63ff7" +checksum = "8478a5c29ead3f3be14aff8a202ad965cf7da6856860041bfca271becf8ba48b" dependencies = [ "bindgen", "cc", @@ -730,8 +913,8 @@ dependencies = [ "pin-project-lite", "rustversion", "serde", - "sync_wrapper 1.0.2", - "tower 0.5.1", + "sync_wrapper", + "tower 0.5.2", "tower-layer", "tower-service", ] @@ -751,7 +934,7 @@ dependencies = [ "mime", "pin-project-lite", "rustversion", - "sync_wrapper 1.0.2", + "sync_wrapper", "tower-layer", "tower-service", ] @@ -931,12 +1114,6 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" -[[package]] -name = "bytemuck" -version = "1.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" - [[package]] name = "byteorder" version = "1.5.0" @@ -975,9 +1152,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.2" +version = "1.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" +checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e" dependencies = [ "jobserver", "libc", @@ -1007,12 +1184,15 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ + "android-tzdata", + "iana-time-zone", "num-traits", "serde", + "windows-targets", ] [[package]] @@ -1064,9 +1244,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.21" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f" +checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" dependencies = [ "clap_builder", "clap_derive", @@ -1074,9 +1254,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.21" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec" +checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" dependencies = [ "anstream", "anstyle", @@ -1098,9 +1278,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "cmake" @@ -1154,9 +1334,9 @@ checksum = "373e9fafaa20882876db20562275ff58d50e0caa2590077fe7ce7bef90211d0d" [[package]] name = "const_format" -version = "0.2.33" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c655d81ff1114fb0dcdea9225ea9f0cc712a6f8d189378e82bdf62a473a64b" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" dependencies = [ "const_format_proc_macros", "konst", @@ -1164,9 +1344,9 @@ dependencies = [ [[package]] name = "const_format_proc_macros" -version = "0.2.33" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff1a44b93f47b1bac19a27932f5c591e43d1ba357ee4f61526c8a25603f0eb1" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" dependencies = [ "proc-macro2", "quote", @@ -1277,11 +1457,17 @@ dependencies = [ "itertools 0.10.5", ] +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -1298,9 +1484,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" @@ -1449,7 +1635,7 @@ dependencies = [ name = "decoder" version = "0.1.0" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.8.3", "alloy-eip2930", "alloy-primitives", "bincode", @@ -1461,7 +1647,7 @@ dependencies = [ "reth-primitives", "serde", "serde_json", - "thiserror 2.0.3", + "thiserror 2.0.8", "tracing", "tracing-subscriber", "zstd", @@ -1494,6 +1680,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", + "serde", ] [[package]] @@ -1550,26 +1737,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "directories" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e69600ff1703123957937708eb27f7a564e48885c537782722ed0ba3189ce1d7" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - [[package]] name = "discv5" version = "0.4.1" @@ -1639,6 +1806,7 @@ dependencies = [ "digest 0.10.7", "elliptic-curve", "rfc6979", + "serdect", "signature", "spki", ] @@ -1689,6 +1857,7 @@ dependencies = [ "pkcs8", "rand_core", "sec1", + "serdect", "subtle", "zeroize", ] @@ -1761,8 +1930,9 @@ dependencies = [ [[package]] name = "eth_trie" -version = "0.4.0" -source = "git+https://github.com/ethereum/eth-trie.rs?tag=v0.1.0-alpha.2#46da867d8a7eace0a9e912271b236b2007e4cd41" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7ffb0d2fa42ad87f02c0683c04b31cb41bf3853f2327d037738345bc5b56671" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -1821,12 +1991,12 @@ dependencies = [ [[package]] name = "ethportal-api" -version = "0.2.2" -source = "git+https://github.com/ethereum/trin.git?tag=v0.1.0-alpha.51#3fc51309a59334a1e5498baf4cdc2e868b4efe68" +version = "0.4.0" +source = "git+https://github.com/ethereum/trin.git#8e2dd0dc3588cd4eb1d860d80fb4967326bbc0af" dependencies = [ "alloy", "alloy-rlp", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 0.4.2", "anyhow", "base64 0.13.1", "bimap", @@ -1856,13 +2026,13 @@ dependencies = [ "serde_json", "sha2", "sha3 0.9.1", + "shadow-rs", "ssz_types", "superstruct", "thiserror 1.0.69", "tokio", "tree_hash", "tree_hash_derive", - "trin-utils", "ureq", "url", "validator", @@ -1870,9 +2040,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fastrlp" @@ -1885,6 +2055,17 @@ dependencies = [ "bytes", ] +[[package]] +name = "fastrlp" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + [[package]] name = "ff" version = "0.13.0" @@ -1912,7 +2093,7 @@ dependencies = [ "http", "once_cell", "rustls", - "thiserror 2.0.3", + "thiserror 2.0.8", "tokio", "tokio-stream", "tonic", @@ -1923,23 +2104,20 @@ dependencies = [ name = "firehose-protos" version = "0.1.0" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.8.3", "alloy-eip2930", "alloy-primitives", "alloy-rlp", "ethportal-api", "firehose-rs", - "hex", - "primitive-types", "prost", "prost-build", "prost-wkt", "prost-wkt-types", "reth-primitives", - "reth-trie-common", "serde", "serde_json", - "thiserror 2.0.3", + "thiserror 2.0.8", "tokio", "tonic", "tonic-build", @@ -2006,9 +2184,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" [[package]] name = "form_urlencoded" @@ -2130,6 +2308,12 @@ dependencies = [ "slab", ] +[[package]] +name = "futures-utils-wasm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" + [[package]] name = "generic-array" version = "0.14.7" @@ -2256,7 +2440,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.6.0", + "indexmap 2.7.0", "slab", "tokio", "tokio-util", @@ -2315,17 +2499,15 @@ name = "header-accumulator" version = "0.1.0" dependencies = [ "alloy-primitives", - "base64 0.21.7", + "base64 0.22.1", "clap", "decoder", "ethportal-api", "firehose-protos", - "primitive-types", - "rlp", "serde", "serde_json", "tempfile", - "thiserror 2.0.3", + "thiserror 2.0.8", "tracing", "tree_hash", "trin-validation", @@ -2337,15 +2519,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.3.9" @@ -2393,18 +2566,18 @@ dependencies = [ [[package]] name = "home" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "http" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ "bytes", "fnv", @@ -2448,9 +2621,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" dependencies = [ "bytes", "futures-channel", @@ -2469,9 +2642,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", "http", @@ -2730,13 +2903,14 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", + "serde", ] [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -2754,9 +2928,12 @@ dependencies = [ [[package]] name = "inventory" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767" +checksum = "e5d80fade88dd420ce0d9ab6f7c58ef2272dde38db874657950f827d4982c817" +dependencies = [ + "rustversion", +] [[package]] name = "is-terminal" @@ -2771,9 +2948,9 @@ dependencies = [ [[package]] name = "is_debug" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06d198e9919d9822d5f7083ba8530e04de87841eaf21ead9af8f2304efd57c89" +checksum = "e8ea828c9d6638a5bd3d8b14e37502b4d56cae910ccf8a5b7f51c7a0eb1d0508" [[package]] name = "is_terminal_polyfill" @@ -2845,9 +3022,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.74" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" dependencies = [ "once_cell", "wasm-bindgen", @@ -3034,6 +3211,7 @@ dependencies = [ "ecdsa", "elliptic-curve", "once_cell", + "serdect", "sha2", "signature", ] @@ -3096,9 +3274,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.167" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libgit2-sys" @@ -3128,16 +3306,6 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.6.0", - "libc", -] - [[package]] name = "libz-sys" version = "1.1.20" @@ -3228,9 +3396,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" dependencies = [ "adler2", ] @@ -3406,6 +3574,10 @@ name = "once_cell" version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +dependencies = [ + "critical-section", + "portable-atomic", +] [[package]] name = "oorandom" @@ -3415,32 +3587,33 @@ checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "op-alloy-consensus" -version = "0.4.0" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ea7162170c6f3cad8f67f4dd7108e3f78349fd553da5b8bebff1e7ef8f38896" +checksum = "c698f80ee53e56d1b60a97e9d90ad09788b516c964c9c97fb5927860b812ef0d" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.8.3", + "alloy-eips 0.8.3", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.8.3", "derive_more", "serde", - "spin", + "thiserror 2.0.8", ] [[package]] name = "op-alloy-rpc-types" -version = "0.4.0" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "323c65880e2561aa87f74f8af260fd15b9cc930c448c88a60ae95af86c88c634" +checksum = "b5aef2128fe8979596b3a1f79a2454f3e32fd239889a03d50fe686b9a2f30a16" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network-primitives", + "alloy-consensus 0.8.3", + "alloy-eips 0.8.3", + "alloy-network-primitives 0.8.3", "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 0.8.3", + "alloy-serde 0.8.3", + "derive_more", "op-alloy-consensus", "serde", "serde_json", @@ -3466,29 +3639,28 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "parity-scale-codec" -version = "3.7.0" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be4817d39f3272f69c59fe05d0535ae6456c2dc2fa1ba02910296c7e0a5c590" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ "arrayvec", "bitvec", "byte-slice-cast", "impl-trait-for-tuples", "parity-scale-codec-derive", - "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.7.0" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8781a75c6205af67215f382092b6e0a4ff3734798523e69073d4bcd294ec767b" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.90", + "syn 1.0.109", ] [[package]] @@ -3534,7 +3706,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.7", + "redox_syscall 0.5.8", "smallvec", "windows-targets", ] @@ -3553,12 +3725,12 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 1.0.69", + "thiserror 2.0.8", "ucd-trie", ] @@ -3569,7 +3741,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.6.0", + "indexmap 2.7.0", ] [[package]] @@ -3660,6 +3832,12 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "portable-atomic" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" + [[package]] name = "powerfmt" version = "0.2.0" @@ -3782,9 +3960,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" +checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec" dependencies = [ "bytes", "prost-derive", @@ -3792,11 +3970,10 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c1318b19085f08681016926435853bbf7858f9c082d0999b80550ff5d9abe15" +checksum = "d0f3e5beed80eb580c68e2c600937ac2c4eedabdfd5ef1e5b7ea4f3fba84497b" dependencies = [ - "bytes", "heck", "itertools 0.13.0", "log", @@ -3813,9 +3990,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" +checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" dependencies = [ "anyhow", "itertools 0.13.0", @@ -3826,9 +4003,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4759aa0d3a6232fb8dbdb97b61de2c20047c68aca932c7ed76da9d788508d670" +checksum = "cc2f1e56baa61e93533aebc21af4d2134b70f66275e0fcdf3cbe43d77ff7e8fc" dependencies = [ "prost", ] @@ -3982,24 +4159,13 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ "bitflags 2.6.0", ] -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom", - "libredox", - "thiserror 1.0.69", -] - [[package]] name = "regex" version = "1.11.1" @@ -4046,23 +4212,25 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reth-codecs" -version = "1.1.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +version = "1.1.4" +source = "git+https://github.com/paradigmxyz/reth#82af17068721ee8e6025b41279a15c55cd2a50b1" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", + "alloy-consensus 0.8.3", + "alloy-eips 0.8.3", + "alloy-genesis 0.8.3", "alloy-primitives", "alloy-trie", "bytes", "modular-bitfield", + "op-alloy-consensus", "reth-codecs-derive", + "serde", ] [[package]] name = "reth-codecs-derive" -version = "1.1.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +version = "1.1.4" +source = "git+https://github.com/paradigmxyz/reth#82af17068721ee8e6025b41279a15c55cd2a50b1" dependencies = [ "convert_case", "proc-macro2", @@ -4072,8 +4240,8 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" -version = "1.1.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +version = "1.1.4" +source = "git+https://github.com/paradigmxyz/reth#82af17068721ee8e6025b41279a15c55cd2a50b1" dependencies = [ "alloy-chains", "alloy-primitives", @@ -4084,24 +4252,25 @@ dependencies = [ "once_cell", "rustc-hash 2.1.0", "serde", - "thiserror-no-std", + "thiserror 2.0.8", ] [[package]] name = "reth-primitives" -version = "1.1.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +version = "1.1.4" +source = "git+https://github.com/paradigmxyz/reth#82af17068721ee8e6025b41279a15c55cd2a50b1" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.8.3", + "alloy-eips 0.8.3", + "alloy-network", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types", - "alloy-serde", + "alloy-rpc-types 0.8.3", + "alloy-serde 0.8.3", + "alloy-trie", "bytes", "c-kzg", "derive_more", - "k256", "modular-bitfield", "once_cell", "op-alloy-rpc-types", @@ -4110,37 +4279,43 @@ dependencies = [ "reth-ethereum-forks", "reth-primitives-traits", "reth-static-file-types", - "reth-trie-common", + "reth-zstd-compressors", "revm-primitives", "secp256k1", "serde", - "zstd", + "serde_with", ] [[package]] name = "reth-primitives-traits" -version = "1.1.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +version = "1.1.4" +source = "git+https://github.com/paradigmxyz/reth#82af17068721ee8e6025b41279a15c55cd2a50b1" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", + "alloy-consensus 0.8.3", + "alloy-eips 0.8.3", + "alloy-genesis 0.8.3", "alloy-primitives", "alloy-rlp", + "alloy-trie", + "auto_impl", "byteorder", "bytes", "derive_more", + "k256", "modular-bitfield", + "op-alloy-consensus", "reth-codecs", "revm-primitives", - "roaring", + "secp256k1", "serde", + "serde_with", + "thiserror 2.0.8", ] [[package]] name = "reth-static-file-types" -version = "1.1.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +version = "1.1.4" +source = "git+https://github.com/paradigmxyz/reth#82af17068721ee8e6025b41279a15c55cd2a50b1" dependencies = [ "alloy-primitives", "derive_more", @@ -4149,33 +4324,21 @@ dependencies = [ ] [[package]] -name = "reth-trie-common" -version = "1.1.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +name = "reth-zstd-compressors" +version = "1.1.4" +source = "git+https://github.com/paradigmxyz/reth#82af17068721ee8e6025b41279a15c55cd2a50b1" dependencies = [ - "alloy-consensus", - "alloy-genesis", - "alloy-primitives", - "alloy-rlp", - "alloy-trie", - "bytes", - "derive_more", - "itertools 0.13.0", - "nybbles", - "reth-codecs", - "reth-primitives-traits", - "revm-primitives", - "serde", + "zstd", ] [[package]] name = "revm-primitives" -version = "10.0.0" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f1525851a03aff9a9d6a1d018b414d76252d6802ab54695b27093ecd7e7a101" +checksum = "3702f132bb484f4f0d0ca4f6fbde3c82cfd745041abbedd6eda67730e1868ef0" dependencies = [ "alloy-eip2930", - "alloy-eip7702", + "alloy-eip7702 0.4.2", "alloy-primitives", "auto_impl", "bitflags 2.6.0", @@ -4223,16 +4386,6 @@ dependencies = [ "rustc-hex", ] -[[package]] -name = "roaring" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81dc953b2244ddd5e7860cb0bb2a790494b898ef321d4aff8e260efab60cc88" -dependencies = [ - "bytemuck", - "byteorder", -] - [[package]] name = "route-recognizer" version = "0.3.1" @@ -4250,16 +4403,18 @@ dependencies = [ [[package]] name = "ruint" -version = "1.12.3" +version = "1.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" +checksum = "f5ef8fb1dd8de3870cb8400d51b4c2023854bbafd5431a3ac7e7317243e22d2f" dependencies = [ "alloy-rlp", "ark-ff 0.3.0", "ark-ff 0.4.2", "bytes", - "fastrlp", + "fastrlp 0.3.1", + "fastrlp 0.4.0", "num-bigint", + "num-integer", "num-traits", "parity-scale-codec", "primitive-types", @@ -4354,27 +4509,27 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.24", ] [[package]] name = "rustix" -version = "0.38.41" +version = "0.38.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" +checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" dependencies = [ "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "rustls" -version = "0.23.19" +version = "0.23.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1" +checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" dependencies = [ "aws-lc-rs", "log", @@ -4408,7 +4563,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.0.1", + "security-framework 3.1.0", ] [[package]] @@ -4422,9 +4577,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" [[package]] name = "rustls-platform-verifier" @@ -4523,6 +4678,7 @@ dependencies = [ "der", "generic-array", "pkcs8", + "serdect", "subtle", "zeroize", ] @@ -4535,6 +4691,7 @@ checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ "rand", "secp256k1-sys", + "serde", ] [[package]] @@ -4562,9 +4719,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.0.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1415a607e92bec364ea2cf9264646dcce0f91e6d65281bd6f2819cca3bf39c8" +checksum = "81d3f8c9bfcc3cbb6b0179eb57042d75b1582bdc65c3cb95f3fa999509c03cbc" dependencies = [ "bitflags 2.6.0", "core-foundation 0.10.0", @@ -4575,9 +4732,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" +checksum = "1863fd3768cd83c56a7f60faa4dc0d403f1b6df0a38c3c25f44b7894e45370d5" dependencies = [ "core-foundation-sys", "libc", @@ -4594,9 +4751,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" [[package]] name = "semver-parser" @@ -4615,9 +4772,9 @@ checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] name = "serde" -version = "1.0.215" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" +checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" dependencies = [ "serde_derive", ] @@ -4633,9 +4790,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.215" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" +checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" dependencies = [ "proc-macro2", "quote", @@ -4654,6 +4811,46 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.7.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" +dependencies = [ + "darling 0.20.10", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +dependencies = [ + "base16ct", + "serde", +] + [[package]] name = "sha1" version = "0.10.6" @@ -4795,9 +4992,9 @@ dependencies = [ [[package]] name = "soketto" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" dependencies = [ "base64 0.22.1", "bytes", @@ -4814,9 +5011,6 @@ name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] [[package]] name = "spki" @@ -4935,9 +5129,9 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0523f59468a2696391f2a772edc089342aacd53c3caa2ac3264e598edf119b" +checksum = "219389c1ebe89f8333df8bdfb871f6631c552ff399c23cac02480b6088aad8f0" dependencies = [ "paste", "proc-macro2", @@ -4945,12 +5139,6 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - [[package]] name = "sync_wrapper" version = "1.0.2" @@ -4998,11 +5186,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.3" +version = "2.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +checksum = "08f5383f3e0071702bf93ab5ee99b52d26936be9dedd9413067cbdcddcb6141a" dependencies = [ - "thiserror-impl 2.0.3", + "thiserror-impl 2.0.8", ] [[package]] @@ -5018,35 +5206,15 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.3" +version = "2.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" +checksum = "f2f357fcec90b3caef6623a099691be676d033b40a058ac95d2a6ade6fa0c943" dependencies = [ "proc-macro2", "quote", "syn 2.0.90", ] -[[package]] -name = "thiserror-impl-no-std" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58e6318948b519ba6dc2b442a6d0b904ebfb8d411a3ad3e07843615a72249758" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "thiserror-no-std" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ad459d94dd517257cc96add8a43190ee620011bb6e6cdc82dafd97dfafafea" -dependencies = [ - "thiserror-impl-no-std", -] - [[package]] name = "thread_local" version = "1.1.8" @@ -5068,9 +5236,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ "deranged", "itoa", @@ -5091,9 +5259,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" dependencies = [ "num-conv", "time-core", @@ -5145,9 +5313,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.1" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", "bytes", @@ -5174,20 +5342,19 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" dependencies = [ "rustls", - "rustls-pki-types", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -5197,9 +5364,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ "bytes", "futures-core", @@ -5222,7 +5389,7 @@ version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.7.0", "toml_datetime", "winnow", ] @@ -5296,14 +5463,14 @@ dependencies = [ [[package]] name = "tower" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", "pin-project-lite", - "sync_wrapper 0.1.2", + "sync_wrapper", "tower-layer", "tower-service", ] @@ -5418,24 +5585,10 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "trin-utils" -version = "0.1.1-alpha.1" -source = "git+https://github.com/ethereum/trin.git?tag=v0.1.0-alpha.51#3fc51309a59334a1e5498baf4cdc2e868b4efe68" -dependencies = [ - "ansi_term", - "atty", - "directories", - "shadow-rs", - "tempfile", - "tracing", - "tracing-subscriber", -] - [[package]] name = "trin-validation" version = "0.1.0" -source = "git+https://github.com/ethereum/trin.git?tag=v0.1.0-alpha.51#3fc51309a59334a1e5498baf4cdc2e868b4efe68" +source = "git+https://github.com/ethereum/trin.git#8e2dd0dc3588cd4eb1d860d80fb4967326bbc0af" dependencies = [ "alloy", "anyhow", @@ -5474,9 +5627,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "typetag" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba3b6e86ffe0054b2c44f2d86407388b933b16cb0a70eea3929420db1d9bbe" +checksum = "044fc3365ddd307c297fe0fe7b2e70588cdab4d0f62dc52055ca0d11b174cf0e" dependencies = [ "erased-serde", "inventory", @@ -5487,9 +5640,9 @@ dependencies = [ [[package]] name = "typetag-impl" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70b20a22c42c8f1cd23ce5e34f165d4d37038f5b663ad20fb6adbdf029172483" +checksum = "d9d30226ac9cbd2d1ff775f74e8febdab985dab14fb14aa2582c29a92d5555dc" dependencies = [ "proc-macro2", "quote", @@ -5551,9 +5704,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-bidi" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" @@ -5600,9 +5753,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.10.1" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" +checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d" dependencies = [ "base64 0.22.1", "flate2", @@ -5748,9 +5901,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" dependencies = [ "cfg-if", "once_cell", @@ -5759,13 +5912,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", "syn 2.0.90", @@ -5774,9 +5926,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.47" +version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d" +checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" dependencies = [ "cfg-if", "js-sys", @@ -5787,9 +5939,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5797,9 +5949,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" dependencies = [ "proc-macro2", "quote", @@ -5810,15 +5962,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" [[package]] name = "web-sys" -version = "0.3.74" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" +checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" dependencies = [ "js-sys", "wasm-bindgen", diff --git a/Cargo.toml b/Cargo.toml index d4d6b11a..71de2395 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,41 +3,37 @@ members = ["crates/*"] resolver = "2" [workspace.dependencies] -alloy-primitives = "0.8.10" -alloy-consensus = "0.4.2" +alloy-primitives = "0.8.15" +alloy-consensus = "0.8.3" alloy-eip2930 = "0.1.0" -alloy-rlp = "0.3.9" -base64 = "0.21.7" +alloy-rlp = "0.3.10" +base64 = "0.22.1" bincode = "1.3.3" -clap = { version = "4.4.10", features = ["derive"] } +clap = { version = "4.5.23", features = ["derive"] } criterion = { version = "0.5.1", features = ["html_reports"] } -ethportal-api = { git = "https://github.com/ethereum/trin.git", version = "0.2.2", tag = "v0.1.0-alpha.51" } +ethportal-api = { git = "https://github.com/ethereum/trin.git", version = "0.4.0" } firehose-protos = { path = "crates/firehose-protos", version = "0.1.0" } firehose-rs = { git = "https://github.com/semiotic-ai/firehose-rs.git", branch = "main" } decoder = { path = "crates/decoder", version = "0.1.0" } header-accumulator = { path = "crates/header-accumulator", version = "0.1.0" } -hex = "0.4.3" -primitive-types = "0.12.2" -prost = "0.13.1" -prost-build = "0.13.1" +prost = "0.13.4" +prost-build = "0.13.4" prost-wkt = "0.6.0" prost-wkt-types = "0.6.0" rand = "0.8.5" -reth-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.1.0", tag = "v1.1.0" } -reth-trie-common = { git = "https://github.com/paradigmxyz/reth", version = "1.1.0", tag = "v1.1.0" } -rlp = "0.5.2" -serde = "1.0.208" -serde_json = "1.0.127" -tempfile = "3.0" -thiserror = "2.0.0" -tokio = "1.39.2" -tonic = "0.12.0" -tonic-build = "0.12.0" -tracing = "0.1.40" -tracing-subscriber = "0.3.18" +reth-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.1.4" } +serde = "1.0.216" +serde_json = "1.0.133" +tempfile = "3.14.0" +thiserror = "2.0.8" +tokio = "1.42.0" +tonic = "0.12.3" +tonic-build = "0.12.3" +tracing = "0.1.41" +tracing-subscriber = "0.3.19" tree_hash = "0.8.0" -trin-validation = { git = "https://github.com/ethereum/trin.git", version = "0.1.0", tag = "v0.1.0-alpha.51" } -zstd = "0.13.0" +trin-validation = { git = "https://github.com/ethereum/trin.git", version = "0.1.0" } +zstd = "0.13.2" [profile.dev.build-override] opt-level = 3 diff --git a/crates/firehose-protos/Cargo.toml b/crates/firehose-protos/Cargo.toml index 194c7bfd..c92ae2d9 100644 --- a/crates/firehose-protos/Cargo.toml +++ b/crates/firehose-protos/Cargo.toml @@ -15,19 +15,16 @@ alloy-primitives.workspace = true alloy-rlp.workspace = true ethportal-api.workspace = true firehose-rs.workspace = true -primitive-types.workspace = true prost.workspace = true prost-wkt.workspace = true prost-wkt-types.workspace = true reth-primitives.workspace = true -reth-trie-common.workspace = true serde.workspace = true thiserror.workspace = true tonic.workspace = true tracing.workspace = true [dev-dependencies] -hex.workspace = true serde_json.workspace = true tokio.workspace = true diff --git a/crates/firehose-protos/src/ethereum_v2/eth_block.rs b/crates/firehose-protos/src/ethereum_v2/eth_block.rs index 804ec204..43bfbe37 100644 --- a/crates/firehose-protos/src/ethereum_v2/eth_block.rs +++ b/crates/firehose-protos/src/ethereum_v2/eth_block.rs @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 use super::{Block, BlockHeader, TransactionReceipt, TransactionTrace}; +use alloy_consensus::Receipt; use alloy_primitives::{hex, Address, Bloom, FixedBytes, Uint, B256}; use alloy_rlp::{Encodable, Header as RlpHeader}; use ethportal_api::types::execution::header::Header; @@ -9,9 +10,9 @@ use firehose_rs::{FromResponse, HasNumberOrSlot, Response, SingleBlockResponse}; use prost::Message; use prost_wkt_types::Any; use reth_primitives::{ - proofs::calculate_transaction_root, Log, Receipt, ReceiptWithBloom, TransactionSigned, + proofs::{calculate_transaction_root, ordered_trie_root_with_encoder}, + Log, ReceiptWithBloom, TransactionSigned, }; -use reth_trie_common::root::ordered_trie_root_with_encoder; use tracing::error; use crate::error::ProtosError; @@ -280,23 +281,23 @@ impl TryFrom<&TransactionTrace> for FullReceipt { type Error = ProtosError; fn try_from(trace: &TransactionTrace) -> Result { - let tx_type = trace.try_into()?; - let trace_receipt = trace.receipt()?; let logs = trace_receipt.logs()?; let receipt = Receipt { - success: trace.is_success(), - tx_type, + status: trace.is_success().into(), logs, - cumulative_gas_used: trace_receipt.cumulative_gas_used, + cumulative_gas_used: trace_receipt.cumulative_gas_used as u128, }; - let bloom = Bloom::try_from(trace_receipt)?; + let logs_bloom = Bloom::try_from(trace_receipt)?; Ok(Self { - receipt: ReceiptWithBloom { receipt, bloom }, + receipt: ReceiptWithBloom { + receipt, + logs_bloom, + }, state_root: trace_receipt.state_root.to_vec(), }) } @@ -332,14 +333,14 @@ impl FullReceipt { self.rlp_header().encode(encoded); self.state_root.as_slice().encode(encoded); Encodable::encode(&self.receipt.receipt.cumulative_gas_used, encoded); - self.receipt.bloom.encode(encoded); + self.receipt.logs_bloom.encode(encoded); self.receipt.receipt.logs.encode(encoded); } /// For Byzantium and later: only encode the inner receipt contents using the `reth_primitives` /// [`ReceiptWithBloom`] `encode_inner` method. fn encode_byzantium_and_later_receipt(&self, encoded: &mut Vec) { - self.receipt.encode_inner(encoded, false); + self.receipt.encode(encoded); } /// Returns a reference to the [`ReceiptWithBloom`] for this [`FullReceipt`] @@ -351,7 +352,7 @@ impl FullReceipt { fn rlp_header(&self) -> RlpHeader { let payload_length = self.state_root.as_slice().length() + self.receipt.receipt.cumulative_gas_used.length() - + self.receipt.bloom.length() + + self.receipt.logs_bloom.length() + self.receipt.receipt.logs.length(); RlpHeader { diff --git a/crates/firehose-protos/src/ethereum_v2/transaction.rs b/crates/firehose-protos/src/ethereum_v2/transaction.rs index 781cec05..950bb056 100644 --- a/crates/firehose-protos/src/ethereum_v2/transaction.rs +++ b/crates/firehose-protos/src/ethereum_v2/transaction.rs @@ -6,9 +6,9 @@ use std::fmt::Display; use alloy_consensus::{TxEip1559, TxEip2930, TxLegacy}; use alloy_eip2930::{AccessList, AccessListItem}; use alloy_primitives::{ - hex, Address, Bytes, ChainId, FixedBytes, Parity, TxKind, Uint, U128, U256, + hex, Address, Bytes, ChainId, FixedBytes, PrimitiveSignature, TxKind, Uint, U128, U256, }; -use reth_primitives::{Signature, Transaction, TransactionSigned, TxType}; +use reth_primitives::{Transaction, TransactionSigned, TxType}; use tracing::debug; use crate::error::ProtosError; @@ -62,7 +62,7 @@ impl TransactionTrace { self.status == 1 } - fn parity(&self) -> Result { + fn parity(&self) -> Result { // Extract the first byte of the V value (Ethereum's V value). let v = self.v(); @@ -85,7 +85,7 @@ impl TransactionTrace { } }; - Ok(parity.into()) + Ok(parity) } pub(crate) fn receipt(&self) -> Result<&TransactionReceipt, ProtosError> { @@ -144,7 +144,7 @@ impl TryFrom<&TransactionTrace> for TxKind { } } -impl TryFrom<&TransactionTrace> for Signature { +impl TryFrom<&TransactionTrace> for PrimitiveSignature { type Error = ProtosError; fn try_from(trace: &TransactionTrace) -> Result { @@ -165,7 +165,7 @@ impl TryFrom<&TransactionTrace> for Signature { // Extract the Y parity from the V value. let odd_y_parity = trace.parity()?; - Ok(Signature::new(r, s, odd_y_parity)) + Ok(PrimitiveSignature::new(r, s, odd_y_parity)) } } @@ -244,8 +244,8 @@ impl TryFrom<&TransactionTrace> for TransactionSigned { fn try_from(trace: &TransactionTrace) -> Result { let transaction = Transaction::try_from(trace)?; - let signature = Signature::try_from(trace)?; - let hash = FixedBytes::from_slice(trace.hash.as_slice()); + let signature = PrimitiveSignature::try_from(trace)?; + let hash = FixedBytes::from_slice(trace.hash.as_slice()).into(); Ok(TransactionSigned { transaction, @@ -341,13 +341,13 @@ mod tests { ..Default::default() }; - let signature = Signature::try_from(&trace).unwrap(); + let signature = PrimitiveSignature::try_from(&trace).unwrap(); assert_eq!(signature.r(), U256::from(1)); assert_eq!(signature.s(), U256::from(1)); - assert!(!trace.parity().unwrap().y_parity()); + assert!(!trace.parity().unwrap()); trace.v = vec![28]; - assert!(trace.parity().unwrap().y_parity()); + assert!(trace.parity().unwrap()); } #[test] diff --git a/crates/header-accumulator/Cargo.toml b/crates/header-accumulator/Cargo.toml index 1d1bd7d3..55dab681 100644 --- a/crates/header-accumulator/Cargo.toml +++ b/crates/header-accumulator/Cargo.toml @@ -11,8 +11,6 @@ base64.workspace = true clap.workspace = true ethportal-api.workspace = true firehose-protos.workspace = true -primitive-types.workspace = true -rlp.workspace = true serde = { workspace = true, features = ["derive"] } serde_json.workspace = true tracing.workspace = true diff --git a/crates/header-accumulator/src/era_validator.rs b/crates/header-accumulator/src/era_validator.rs index 61bf2669..03494584 100644 --- a/crates/header-accumulator/src/era_validator.rs +++ b/crates/header-accumulator/src/era_validator.rs @@ -1,8 +1,10 @@ // Copyright 2024-, Semiotic AI, Inc. // SPDX-License-Identifier: Apache-2.0 +use alloy_primitives::FixedBytes; use ethportal_api::types::execution::accumulator::EpochAccumulator; -use tree_hash::{Hash256, TreeHash}; +use tree_hash::TreeHash; + use trin_validation::accumulator::{HistoricalEpochRoots, PreMergeAccumulator}; use crate::{ @@ -35,7 +37,10 @@ impl EraValidator { /// # Arguments /// /// * `epochs`- An array of [`Epoch`]. - pub fn validate_eras(&self, epochs: &[&Epoch]) -> Result, EraValidateError> { + pub fn validate_eras( + &self, + epochs: &[&Epoch], + ) -> Result>, EraValidateError> { let mut validated_epochs = Vec::new(); for epoch in epochs { let root = self.validate_era(epoch)?; @@ -53,7 +58,7 @@ impl EraValidator { /// /// For block post merge, the sync-committee should be used to validate block headers /// in the canonical blockchain. So this function is not useful for those. - pub fn validate_era(&self, epoch: &Epoch) -> Result { + pub fn validate_era(&self, epoch: &Epoch) -> Result, EraValidateError> { if epoch.number() > FINAL_EPOCH { return Err(EraValidateError::EpochPostMerge(epoch.number())); } diff --git a/crates/header-accumulator/src/inclusion_proof.rs b/crates/header-accumulator/src/inclusion_proof.rs index b330824b..580d31ff 100644 --- a/crates/header-accumulator/src/inclusion_proof.rs +++ b/crates/header-accumulator/src/inclusion_proof.rs @@ -3,6 +3,7 @@ use crate::{epoch::MAX_EPOCH_SIZE, errors::EraValidateError, Epoch}; +use alloy_primitives::FixedBytes; use ethportal_api::{ types::execution::{ accumulator::EpochAccumulator, @@ -12,7 +13,6 @@ use ethportal_api::{ }, Header, }; -use tree_hash::Hash256; use trin_validation::{ accumulator::PreMergeAccumulator, header_validator::HeaderValidator, historical_roots_acc::HistoricalRootsAccumulator, @@ -24,7 +24,7 @@ const PROOF_SIZE: usize = 15; #[derive(Clone)] pub struct InclusionProof { block_number: u64, - proof: [Hash256; PROOF_SIZE], + proof: [FixedBytes<32>; PROOF_SIZE], } impl InclusionProof { diff --git a/crates/vee/Cargo.toml b/crates/vee/Cargo.toml index 93f5c0fa..85ab4169 100644 --- a/crates/vee/Cargo.toml +++ b/crates/vee/Cargo.toml @@ -13,4 +13,4 @@ decoder.workspace = true header-accumulator.workspace = true [dev-dependencies] -tree_hash = "0.8.0" +tree_hash.workspace = true From 8b9ce3778b7de40524a7939954d96a48f0fe53e7 Mon Sep 17 00:00:00 2001 From: Joseph Livesey Date: Fri, 20 Dec 2024 12:56:24 -0500 Subject: [PATCH 3/3] ci: add known issue with trin to audit toml --- .cargo/audit.toml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .cargo/audit.toml diff --git a/.cargo/audit.toml b/.cargo/audit.toml new file mode 100644 index 00000000..d1ef853a --- /dev/null +++ b/.cargo/audit.toml @@ -0,0 +1,5 @@ +[advisories] +ignore = [ + # Waiting on trin ethportal-api to fix this issue with the validator crate + "RUSTSEC-2024-0421", +]