Fix execution engine integration tests with latest geth version (#6996)

https://github.com/sigp/lighthouse/issues/6937


  - Use `ethers-rs` [`Signer`](https://www.gakonst.com/ethers-rs/middleware/signer.html) middleware for local signing and sending raw txs to geth
- ~~Set `totalDifficulty = 0` through `serde` default if the block does not contain a `totalDifficulty` field~~
This commit is contained in:
EllipticPoint
2025-04-12 19:03:50 +10:00
committed by GitHub
parent be68dd24d0
commit 08882c64ca
6 changed files with 461 additions and 62 deletions

View File

@@ -7,10 +7,7 @@ use std::{env, fs};
use tempfile::TempDir;
use unused_port::unused_tcp4_port;
// This is not currently used due to the following breaking changes in geth that requires updating our tests:
// 1. removal of `personal` namespace in v1.14.12: See #30704
// 2. removal of `totalDifficulty` field from RPC in v1.14.11. See #30386.
// const GETH_BRANCH: &str = "master";
const GETH_BRANCH: &str = "master";
const GETH_REPO_URL: &str = "https://github.com/ethereum/go-ethereum";
pub fn build_result(repo_dir: &Path) -> Output {
@@ -30,14 +27,12 @@ pub fn build(execution_clients_dir: &Path) {
}
// Get the latest tag on the branch
// let last_release = build_utils::get_latest_release(&repo_dir, GETH_BRANCH).unwrap();
// Using an older release due to breaking changes in recent releases. See comment on `GETH_BRANCH` const.
let release_tag = "v1.14.10";
build_utils::checkout(&repo_dir, dbg!(release_tag)).unwrap();
let last_release = build_utils::get_latest_release(&repo_dir, GETH_BRANCH).unwrap();
build_utils::checkout(&repo_dir, dbg!(&last_release)).unwrap();
// Build geth
build_utils::check_command_output(build_result(&repo_dir), || {
format!("geth make failed using release {release_tag}")
format!("geth make failed using release {last_release}")
});
}
@@ -102,7 +97,7 @@ impl GenericExecutionEngine for GethEngine {
.arg(datadir.path().to_str().unwrap())
.arg("--http")
.arg("--http.api")
.arg("engine,eth,personal")
.arg("engine,eth")
.arg("--http.port")
.arg(http_port.to_string())
.arg("--authrpc.port")