diff --git a/Cargo.lock b/Cargo.lock index 68d67a451..f054a15ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -133,16 +133,14 @@ dependencies = [ [[package]] name = "alloy-consensus" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ - "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-primitives", "alloy-rlp", - "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "c-kzg", "serde", - "sha2 0.10.8", - "thiserror", ] [[package]] @@ -179,11 +177,11 @@ dependencies = [ [[package]] name = "alloy-eips" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ "alloy-primitives", "alloy-rlp", - "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "arbitrary", "c-kzg", "derive_more", @@ -193,6 +191,7 @@ dependencies = [ "proptest", "proptest-derive", "serde", + "sha2 0.10.8", ] [[package]] @@ -212,10 +211,10 @@ dependencies = [ [[package]] name = "alloy-genesis" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ "alloy-primitives", - "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "serde", "serde_json", ] @@ -246,7 +245,7 @@ dependencies = [ [[package]] name = "alloy-json-rpc" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ "alloy-primitives", "serde", @@ -258,13 +257,13 @@ dependencies = [ [[package]] name = "alloy-network" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ - "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", - "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", + "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-json-rpc", "alloy-primitives", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-signer", "alloy-sol-types", "async-trait", @@ -275,9 +274,9 @@ dependencies = [ [[package]] name = "alloy-node-bindings" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ - "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-primitives", "k256", "serde_json", @@ -317,14 +316,14 @@ dependencies = [ [[package]] name = "alloy-provider" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ - "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-json-rpc", "alloy-network", "alloy-primitives", "alloy-rpc-client", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-rpc-types-trace", "alloy-transport", "alloy-transport-http", @@ -367,7 +366,7 @@ dependencies = [ [[package]] name = "alloy-rpc-client" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ "alloy-json-rpc", "alloy-transport", @@ -387,14 +386,14 @@ dependencies = [ [[package]] name = "alloy-rpc-types" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ - "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", - "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", - "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", + "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", + "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-primitives", "alloy-rlp", - "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-sol-types", "arbitrary", "itertools 0.12.1", @@ -427,24 +426,24 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ "alloy-primitives", - "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "serde", ] [[package]] name = "alloy-rpc-types-engine" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ - "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", - "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", + "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", - "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", + "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "ethereum_ssz", "ethereum_ssz_derive", "jsonrpsee-types", @@ -457,11 +456,11 @@ dependencies = [ [[package]] name = "alloy-rpc-types-trace" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ "alloy-primitives", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", - "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", + "alloy-serde 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "serde", "serde_json", ] @@ -469,7 +468,7 @@ dependencies = [ [[package]] name = "alloy-serde" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ "alloy-primitives", "serde", @@ -489,7 +488,7 @@ dependencies = [ [[package]] name = "alloy-signer" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ "alloy-primitives", "async-trait", @@ -502,9 +501,9 @@ dependencies = [ [[package]] name = "alloy-signer-wallet" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ - "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-network", "alloy-primitives", "alloy-signer", @@ -577,7 +576,7 @@ dependencies = [ [[package]] name = "alloy-transport" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ "alloy-json-rpc", "base64 0.22.1", @@ -595,13 +594,14 @@ dependencies = [ [[package]] name = "alloy-transport-http" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy?rev=af788af#af788afe934d4c54ec1fcb6bb4b16ce385f913ab" +source = "git+https://github.com/alloy-rs/alloy?rev=0bb7604#0bb7604f186a78cdee911fa7fbc0ca36465a6902" dependencies = [ "alloy-json-rpc", "alloy-transport", "reqwest 0.12.4", "serde_json", "tower", + "tracing", "url", ] @@ -2952,7 +2952,7 @@ dependencies = [ name = "exex-rollup" version = "0.0.0" dependencies = [ - "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-rlp", "alloy-sol-types", "eyre", @@ -6575,8 +6575,8 @@ dependencies = [ name = "reth-codecs" version = "0.2.0-beta.6" dependencies = [ - "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", - "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", + "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-primitives", "arbitrary", "bytes", @@ -6781,9 +6781,9 @@ dependencies = [ name = "reth-e2e-test-utils" version = "0.2.0-beta.6" dependencies = [ - "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-consensus 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-network", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-signer", "alloy-signer-wallet", "eyre", @@ -7520,8 +7520,8 @@ name = "reth-primitives" version = "0.2.0-beta.6" dependencies = [ "alloy-chains", - "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", - "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", + "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-primitives", "alloy-rlp", "alloy-trie", @@ -7786,10 +7786,10 @@ dependencies = [ name = "reth-rpc-types" version = "0.2.0-beta.6" dependencies = [ - "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-rpc-types-anvil", "alloy-rpc-types-engine", "alloy-rpc-types-trace", @@ -7816,7 +7816,7 @@ name = "reth-rpc-types-compat" version = "0.2.0-beta.6" dependencies = [ "alloy-rlp", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "reth-primitives", "reth-rpc-types", "serde_json", @@ -7922,7 +7922,7 @@ dependencies = [ name = "reth-testing-utils" version = "0.2.0-beta.6" dependencies = [ - "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-genesis 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "reth-primitives", "secp256k1", ] @@ -8056,10 +8056,10 @@ dependencies = [ [[package]] name = "revm-inspectors" version = "0.1.0" -source = "git+https://github.com/paradigmxyz/evm-inspectors?rev=d15add2#d15add2614fc359025f43bd7ad6096719580ba81" +source = "git+https://github.com/paradigmxyz/evm-inspectors?rev=42f01d0#42f01d08219f1b4fcb409b82377ec999919002de" dependencies = [ "alloy-primitives", - "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=af788af)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=0bb7604)", "alloy-rpc-types-trace", "alloy-sol-types", "anstyle", diff --git a/Cargo.toml b/Cargo.toml index 0aca2afbb..55ff51720 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -282,7 +282,7 @@ reth-testing-utils = { path = "testing/testing-utils" } # revm revm = { version = "8.0.0", features = ["std", "secp256k1"], default-features = false } revm-primitives = { version = "3.1.0", features = ["std"], default-features = false } -revm-inspectors = { git = "https://github.com/paradigmxyz/evm-inspectors", rev = "d15add2" } +revm-inspectors = { git = "https://github.com/paradigmxyz/evm-inspectors", rev = "42f01d0" } # eth alloy-chains = "0.1.15" @@ -291,20 +291,20 @@ alloy-dyn-abi = "0.7.2" alloy-sol-types = "0.7.2" alloy-rlp = "0.3.4" alloy-trie = "0.3.1" -alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "af788af" } -alloy-rpc-types-anvil = { git = "https://github.com/alloy-rs/alloy", rev = "af788af" } -alloy-rpc-types-trace = { git = "https://github.com/alloy-rs/alloy", rev = "af788af" } -alloy-rpc-types-engine = { git = "https://github.com/alloy-rs/alloy", rev = "af788af" } -alloy-genesis = { git = "https://github.com/alloy-rs/alloy", rev = "af788af" } -alloy-node-bindings = { git = "https://github.com/alloy-rs/alloy", rev = "af788af" } -alloy-provider = { git = "https://github.com/alloy-rs/alloy", rev = "af788af", default-features = false, features = [ +alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604" } +alloy-rpc-types-anvil = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604" } +alloy-rpc-types-trace = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604" } +alloy-rpc-types-engine = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604" } +alloy-genesis = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604" } +alloy-node-bindings = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604" } +alloy-provider = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604", default-features = false, features = [ "reqwest", ] } -alloy-eips = { git = "https://github.com/alloy-rs/alloy", default-features = false, rev = "af788af" } -alloy-signer = { git = "https://github.com/alloy-rs/alloy", rev = "af788af" } -alloy-signer-wallet = { git = "https://github.com/alloy-rs/alloy", rev = "af788af" } -alloy-network = { git = "https://github.com/alloy-rs/alloy", rev = "af788af" } -alloy-consensus = { git = "https://github.com/alloy-rs/alloy", rev = "af788af" } +alloy-eips = { git = "https://github.com/alloy-rs/alloy", default-features = false, rev = "0bb7604" } +alloy-signer = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604" } +alloy-signer-wallet = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604" } +alloy-network = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604" } +alloy-consensus = { git = "https://github.com/alloy-rs/alloy", rev = "0bb7604" } # misc auto_impl = "1" diff --git a/crates/e2e-test-utils/src/engine_api.rs b/crates/e2e-test-utils/src/engine_api.rs index fecd9b8b7..13b735aea 100644 --- a/crates/e2e-test-utils/src/engine_api.rs +++ b/crates/e2e-test-utils/src/engine_api.rs @@ -1,5 +1,8 @@ use crate::traits::PayloadEnvelopeExt; -use jsonrpsee::http_client::{transport::HttpBackend, HttpClient}; +use jsonrpsee::{ + core::client::ClientT, + http_client::{transport::HttpBackend, HttpClient}, +}; use reth::{ api::{EngineTypes, PayloadBuilderAttributes}, providers::CanonStateNotificationStream, @@ -29,6 +32,14 @@ impl EngineApiTestContext { Ok(EngineApiClient::::get_payload_v3(&self.engine_api_client, payload_id).await?) } + /// Retrieves a v3 payload from the engine api as serde value + pub async fn get_payload_v3_value( + &self, + payload_id: PayloadId, + ) -> eyre::Result { + Ok(self.engine_api_client.request("engine_getPayloadV3", (payload_id,)).await?) + } + /// Submits a payload to the engine api pub async fn submit_payload( &self, diff --git a/crates/e2e-test-utils/src/node.rs b/crates/e2e-test-utils/src/node.rs index b2ccf899e..668af6034 100644 --- a/crates/e2e-test-utils/src/node.rs +++ b/crates/e2e-test-utils/src/node.rs @@ -112,7 +112,7 @@ where // wait for the payload builder to have finished building self.payload.wait_for_built_payload(eth_attr.payload_id()).await; // trigger resolve payload via engine api - self.engine_api.get_payload_v3(eth_attr.payload_id()).await?; + self.engine_api.get_payload_v3_value(eth_attr.payload_id()).await?; // ensure we're also receiving the built payload as event Ok((self.payload.expect_built_payload().await?, eth_attr)) } diff --git a/crates/rpc/rpc-types-compat/src/block.rs b/crates/rpc/rpc-types-compat/src/block.rs index b342f8a30..1c2a44ebb 100644 --- a/crates/rpc/rpc-types-compat/src/block.rs +++ b/crates/rpc/rpc-types-compat/src/block.rs @@ -141,6 +141,7 @@ pub fn from_primitive_with_hash(primitive_header: reth_primitives::SealedHeader) excess_blob_gas: excess_blob_gas.map(u128::from), parent_beacon_block_root, total_difficulty: None, + requests_root: None, } } diff --git a/examples/exex/rollup/src/execution.rs b/examples/exex/rollup/src/execution.rs index 98a8e378c..f7a98382e 100644 --- a/examples/exex/rollup/src/execution.rs +++ b/examples/exex/rollup/src/execution.rs @@ -1,4 +1,4 @@ -use alloy_consensus::{SidecarCoder, SimpleCoder}; +use alloy_consensus::{Blob, SidecarCoder, SimpleCoder}; use alloy_rlp::Decodable as _; use eyre::OptionExt; use reth::transaction_pool::TransactionPool; @@ -157,7 +157,7 @@ async fn decode_transactions( .map(|(blob, commitment)| (blob, kzg_to_versioned_hash((*commitment).into()))) // Filter only blobs that are present in the block data .filter(|(_, hash)| blob_hashes.contains(hash)) - .map(|(blob, _)| blob) + .map(|(blob, _)| Blob::from(*blob)) .collect::>(); if blobs.len() != blob_hashes.len() { eyre::bail!("some blobs not found")