diff --git a/Cargo.lock b/Cargo.lock
index 1282bc64a0..c86b4d84c5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -74,7 +74,7 @@ dependencies = [
"alloy-eips",
"alloy-primitives",
"alloy-rlp",
- "alloy-serde",
+ "alloy-serde 0.2.0",
"c-kzg",
"serde",
]
@@ -82,12 +82,11 @@ dependencies = [
[[package]]
name = "alloy-eips"
version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9431c99a3b3fe606ede4b3d4043bdfbcb780c45b8d8d226c3804e2b75cfbe68"
+source = "git+https://github.com/alloy-rs/alloy?rev=fd159f6#fd159f6985058d2480fb89f63315e35680a07956"
dependencies = [
"alloy-primitives",
"alloy-rlp",
- "alloy-serde",
+ "alloy-serde 0.2.1",
"arbitrary",
"c-kzg",
"k256",
@@ -121,7 +120,7 @@ dependencies = [
"alloy-json-rpc",
"alloy-primitives",
"alloy-rpc-types-eth",
- "alloy-serde",
+ "alloy-serde 0.2.0",
"alloy-signer",
"alloy-sol-types",
"async-trait",
@@ -242,7 +241,7 @@ dependencies = [
"alloy-eips",
"alloy-primitives",
"alloy-rlp",
- "alloy-serde",
+ "alloy-serde 0.2.0",
"alloy-sol-types",
"itertools 0.13.0",
"serde",
@@ -255,6 +254,16 @@ name = "alloy-serde"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15c5b9057acc02aee1b8aac2b5a0729cb0f73d080082c111313e5d1f92a96630"
+dependencies = [
+ "alloy-primitives",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "alloy-serde"
+version = "0.2.1"
+source = "git+https://github.com/alloy-rs/alloy?rev=fd159f6#fd159f6985058d2480fb89f63315e35680a07956"
dependencies = [
"alloy-primitives",
"arbitrary",
@@ -2142,15 +2151,15 @@ dependencies = [
[[package]]
name = "kzg-rs"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea38b4917cfb194709222324913a33a999b25f9da59e2c8da304fc0ef55f996a"
+checksum = "5b4bb3bc9aea7619189db05005d378385ccfd7f12b31891c3a2647035294443f"
dependencies = [
"ff",
"hex",
- "once_cell",
"sha2",
"sp1_bls12_381",
+ "spin 0.9.8",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
index 426d6e403f..7a9e558994 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -22,3 +22,6 @@ debug = true
[profile.ethtests]
inherits = "test"
opt-level = 3
+
+[patch.crates-io]
+alloy-eips = { git = "https://github.com/alloy-rs/alloy", rev = "fd159f6" }
\ No newline at end of file
diff --git a/bins/revme/src/cmd/evmrunner.rs b/bins/revme/src/cmd/evmrunner.rs
index 86d3817a69..6d1b664264 100644
--- a/bins/revme/src/cmd/evmrunner.rs
+++ b/bins/revme/src/cmd/evmrunner.rs
@@ -2,7 +2,7 @@ use revm::{
db::BenchmarkDB,
inspector_handle_register,
inspectors::TracerEip3155,
- primitives::{eof::EofDecodeError, Address, Bytecode, TxKind},
+ primitives::{Address, Bytecode, BytecodeDecodeError, TxKind},
Evm,
};
use std::io::Error as IoError;
@@ -26,7 +26,7 @@ pub enum Errors {
#[error(transparent)]
Io(#[from] IoError),
#[error(transparent)]
- EofError(#[from] EofDecodeError),
+ BytecodeDecodeError(#[from] BytecodeDecodeError),
}
/// Evm runner command allows running arbitrary evm bytecode.
diff --git a/bins/revme/src/cmd/statetest/models/eip7702.rs b/bins/revme/src/cmd/statetest/models/eip7702.rs
index 86b858c4f1..628a2dc34e 100644
--- a/bins/revme/src/cmd/statetest/models/eip7702.rs
+++ b/bins/revme/src/cmd/statetest/models/eip7702.rs
@@ -2,6 +2,7 @@ use alloy_rlp::{Decodable, Error as RlpError, Header};
use revm::primitives::{AccessList, Bytes, Signature, SignedAuthorization, TxKind, U256};
use std::vec::Vec;
+/// TODO remove it when new tests are generated that has a Authorization json field.
/// [EIP-7702 Set Code Transaction](https://eips.ethereum.org/EIPS/eip-7702)
///
/// Set EOA account code for one transaction
@@ -112,22 +113,3 @@ impl TxEip7702 {
Ok(tx)
}
}
-
-#[cfg(test)]
-mod tests {
- use super::*;
-
- #[test]
- fn decode_eip7702_tx() {
- let tx_bytes = hex::decode("f8c2018080078398968094a94f5374fce5edbc8e2a8697c15331677e6ebf0b8080c0f85df85b01940000000000000000000000000000000000001000c18001a08171c0ded912d4f458b8115618c18f3f430f414919c73b4daa693c47fd325414a0787741e1621bcb9cb58ece039ad73f41d9422aa259ed53c2b0bd30dc7ff09be780a00e6c8f4d73b175887e1f21cc00bf0f8243af18aed208ec0a4562ee60e7f85736a03f8e8f1b01fcd6d3a988877e80dc17fad16274447f4211ed74b41e8789ae70cd").unwrap();
- let tx = TxEip7702::decode(&mut tx_bytes.as_slice()).unwrap();
- assert_eq!(tx.authorization_list.len(), 1);
- }
-
- #[test]
- fn test_eip7702_tx() {
- let tx_bytes = hex::decode("f8c2018080078398968094a94f5374fce5edbc8e2a8697c15331677e6ebf0b8080c0f85df85b80940000000000000000000000000000000000001000c10180a09e833a19cf7ac609d713ffeb8d5cd327237ef5cb4ac9524c53195423e348629fa0632893e4b18b32faf56972dc3568c3a3869dcf9eb9c282a637173475d19e8d2f01a05d6eea7691335a6bb066613d5c33a27bd1cbc89feb472b6dd437aca6aec73282a013c492943ea0fce77a20b1d554eac087fee37fa27b0f8294b13fb3162a0fb175").unwrap();
- let tx = TxEip7702::decode(&mut tx_bytes.as_slice()).unwrap();
- assert_eq!(tx.authorization_list.len(), 1);
- }
-}
diff --git a/bins/revme/src/cmd/statetest/models/mod.rs b/bins/revme/src/cmd/statetest/models/mod.rs
index 46f7387cff..0a38b514b2 100644
--- a/bins/revme/src/cmd/statetest/models/mod.rs
+++ b/bins/revme/src/cmd/statetest/models/mod.rs
@@ -127,15 +127,25 @@ pub struct TransactionParts {
#[serde(default)]
pub access_lists: Vec