Skip to content

Commit 22e2d5d

Browse files
committed
Merge remote-tracking branch 'origin/ev-deployer-part4-ev-dev-integration' into feat/ev-dev-part5-tui
# Conflicts: # Cargo.lock
2 parents 1adf1b4 + 0e0db76 commit 22e2d5d

31 files changed

Lines changed: 1393 additions & 1469 deletions

Cargo.lock

Lines changed: 1011 additions & 1054 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 74 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -16,118 +16,115 @@ members = [
1616
[workspace.package]
1717
version = "0.1.0"
1818
edition = "2021"
19-
rust-version = "1.82"
19+
rust-version = "1.93"
2020
license = "MIT OR Apache-2.0"
2121
homepage = "https://github.com/evstack/ev-reth"
2222
repository = "https://github.com/evstack/ev-reth"
2323
authors = ["Evolve Stack Contributors"]
2424

2525
[workspace.dependencies]
26-
# Reth dependencies - Using v1.11.3 stable
27-
reth-chainspec = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
28-
reth-cli = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
29-
reth-cli-util = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
30-
reth-rpc-eth-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
31-
reth-tracing-otlp = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
32-
reth-node-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
33-
reth-node-builder = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
34-
reth-errors = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
35-
reth-trie-db = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
36-
reth-trie-common = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
37-
reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
38-
reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
39-
reth-provider = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
40-
reth-storage-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
41-
reth-tracing = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
42-
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3", default-features = false }
43-
reth-network = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
44-
reth-network-types = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
45-
reth-chain-state = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
46-
reth-db-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
47-
reth-ethereum = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
48-
reth-ethereum-cli = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
49-
reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
50-
reth-engine-local = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
51-
reth-engine-primitives = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
52-
reth-ethereum-payload-builder = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
53-
reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3", features = ["serde", "serde-bincode-compat", "reth-codec"] }
54-
reth-e2e-test-utils = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3", default-features = false }
55-
reth-evm = { git = "https://github.com/paradigmxyz/reth.git", default-features = false, tag = "v1.11.3" }
56-
reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth.git", default-features = false, tag = "v1.11.3" }
57-
reth-execution-types = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
58-
reth-node-core = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
59-
reth-node-types = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
60-
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
61-
reth-payload-builder-primitives = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
62-
reth-payload-primitives = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
63-
reth-primitives = { git = "https://github.com/paradigmxyz/reth.git", default-features = false, tag = "v1.11.3" }
64-
reth-ethereum-forks = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
65-
reth-revm = { git = "https://github.com/paradigmxyz/reth.git", default-features = false, tag = "v1.11.3" }
66-
reth-rpc-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
67-
reth-rpc-builder = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
68-
reth-rpc-engine-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
69-
reth-rpc = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
70-
reth-rpc-convert = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
71-
reth-codecs = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3" }
26+
# Reth dependencies - Using v2.0.0 stable
27+
reth-chainspec = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
28+
reth-cli = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
29+
reth-cli-util = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
30+
reth-rpc-eth-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
31+
reth-tracing-otlp = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
32+
reth-node-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
33+
reth-node-builder = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
34+
reth-errors = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
35+
reth-trie-db = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
36+
reth-trie-common = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
37+
reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
38+
reth-primitives-traits = { version = "0.1.0", default-features = false }
39+
reth-provider = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
40+
reth-storage-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
41+
reth-tracing = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
42+
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0", default-features = false }
43+
reth-network = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
44+
reth-network-types = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
45+
reth-chain-state = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
46+
reth-db-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
47+
reth-ethereum = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
48+
reth-ethereum-cli = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
49+
reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
50+
reth-engine-local = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
51+
reth-engine-primitives = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
52+
reth-ethereum-payload-builder = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
53+
reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0", features = ["serde", "reth-codec"] }
54+
reth-e2e-test-utils = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0", default-features = false }
55+
reth-evm = { git = "https://github.com/paradigmxyz/reth.git", default-features = false, tag = "v2.0.0" }
56+
reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth.git", default-features = false, tag = "v2.0.0" }
57+
reth-execution-types = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
58+
reth-node-core = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
59+
reth-node-types = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
60+
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
61+
reth-payload-builder-primitives = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
62+
reth-payload-primitives = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
63+
reth-ethereum-forks = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
64+
reth-revm = { git = "https://github.com/paradigmxyz/reth.git", default-features = false, tag = "v2.0.0" }
65+
reth-rpc-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
66+
reth-rpc-builder = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
67+
reth-rpc-engine-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
68+
reth-rpc = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
69+
reth-rpc-convert = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0" }
70+
reth-codecs = { version = "0.1.0", default-features = false }
7271

7372
ev-revm = { path = "crates/ev-revm" }
7473
ev-primitives = { path = "crates/ev-primitives" }
7574

7675

7776
# Consensus dependencies
78-
reth-consensus = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3", default-features = false }
79-
reth-consensus-common = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3", default-features = false }
80-
reth-ethereum-consensus = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3", default-features = false }
77+
reth-consensus = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0", default-features = false }
78+
reth-consensus-common = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0", default-features = false }
79+
reth-ethereum-consensus = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0", default-features = false }
8180

8281
# Test dependencies
83-
reth-testing-utils = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3", default-features = false }
84-
reth-db = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3", default-features = false }
85-
reth-tasks = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.11.3", default-features = false }
82+
reth-testing-utils = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0", default-features = false }
83+
reth-db = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0", default-features = false }
84+
reth-tasks = { git = "https://github.com/paradigmxyz/reth.git", tag = "v2.0.0", default-features = false }
8685

87-
revm = { version = "34.0.0", default-features = false }
88-
revm-context-interface = { version = "14.0.0", default-features = false }
86+
revm = { version = "36.0.0", default-features = false }
8987

90-
# Alloy dependencies (aligned to reth v1.11.3)
91-
alloy = { version = "1.6.3", features = [
88+
# Alloy dependencies (aligned to reth v2.0.0)
89+
alloy = { version = "1.8.3", features = [
9290
"contract",
9391
"providers",
9492
"provider-http",
9593
"signers",
9694
"reqwest-rustls-tls",
9795
], default-features = false }
98-
alloy-evm = { version = "0.27.2", default-features = false }
99-
alloy-eips = { version = "1.6.3", default-features = false }
100-
alloy-network = { version = "1.6.3", default-features = false }
101-
alloy-provider = { version = "1.6.3", default-features = false }
102-
alloy-rpc-client = { version = "1.6.3", default-features = false }
103-
alloy-rpc-types = { version = "1.6.3", default-features = false }
104-
alloy-json-rpc = { version = "1.6.3", default-features = false }
105-
alloy-rpc-types-eth = { version = "1.6.3", default-features = false }
106-
alloy-rpc-types-engine = { version = "1.6.3", default-features = false }
107-
alloy-signer = { version = "1.6.3", default-features = false }
108-
alloy-signer-local = { version = "1.6.3", features = ["mnemonic"] }
109-
alloy-serde = { version = "1.6.3", default-features = false }
96+
alloy-evm = { version = "0.30.0", default-features = false }
97+
alloy-eips = { version = "1.8.3", default-features = false }
98+
alloy-network = { version = "1.8.3", default-features = false }
99+
alloy-provider = { version = "1.8.3", default-features = false }
100+
alloy-rpc-client = { version = "1.8.3", default-features = false }
101+
alloy-rpc-types = { version = "1.8.3", default-features = false }
102+
alloy-json-rpc = { version = "1.8.3", default-features = false }
103+
alloy-rpc-types-eth = { version = "1.8.3", default-features = false }
104+
alloy-rpc-types-engine = { version = "1.8.3", default-features = false }
105+
alloy-signer = { version = "1.8.3", default-features = false }
106+
alloy-signer-local = { version = "1.8.3", features = ["mnemonic"] }
107+
alloy-serde = { version = "1.8.3", default-features = false }
110108
alloy-primitives = { version = "1.5.6", default-features = false }
111-
alloy-consensus = { version = "1.6.3", default-features = false }
112-
alloy-consensus-any = { version = "1.6.3", default-features = false }
113-
alloy-rlp = { version = "0.3.13", default-features = false }
114-
alloy-genesis = { version = "1.6.3", default-features = false }
115-
alloy-rpc-types-txpool = { version = "1.6.3", default-features = false }
109+
alloy-consensus = { version = "1.8.3", default-features = false }
110+
alloy-consensus-any = { version = "1.8.3", default-features = false }
111+
alloy-rlp = { version = "0.3.15", default-features = false }
112+
alloy-genesis = { version = "1.8.3", default-features = false }
113+
alloy-rpc-types-txpool = { version = "1.8.3", default-features = false }
116114
alloy-sol-types = { version = "1.5.6", default-features = false }
117115

118116
# Utility dependencies
119117
bytes = "1.10.1"
120118

121-
revm-inspector = "15.0.0"
122-
revm-inspectors = "0.34.2"
119+
revm-inspectors = "0.36.0"
123120

124121
# force newer nybbles for const push_unchecked (needed for Rust 1.92+)
125122
nybbles = "0.4.8"
126123

127124
# Core dependencies
128125
eyre = "0.6"
129126
tracing = "0.1"
130-
tokio = { version = "1.50", features = ["full"] }
127+
tokio = { version = "1.51", features = ["full"] }
131128
serde = { version = "=1.0.228", default-features = false, features = [
132129
"derive",
133130
] }

Dockerfile.cross-aarch64

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
FROM ghcr.io/cross-rs/cross:main
22

33
# Install ARM64 cross-compilation toolchain
4+
# gcc-10/g++-10 required as host compiler to avoid GCC 9 memcmp bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189)
45
RUN apt-get update && \
56
apt-get install -y \
7+
gcc-10 \
8+
g++-10 \
69
curl \
710
jq \
811
gcc-aarch64-linux-gnu \
@@ -12,6 +15,8 @@ RUN apt-get update && \
1215
build-essential \
1316
clang \
1417
libclang-dev && \
18+
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 && \
19+
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100 && \
1520
rm -rf /var/lib/apt/lists/*
1621

1722
# Set up environment variables for ARM64 cross-compilation
@@ -26,4 +31,4 @@ ENV BINDGEN_EXTRA_CLANG_ARGS="-I/usr/aarch64-linux-gnu/include -I/usr/include"
2631
ENV CFLAGS_aarch64_unknown_linux_gnu="-I/usr/aarch64-linux-gnu/include -I/usr/include"
2732
ENV CPPFLAGS_aarch64_unknown_linux_gnu="-I/usr/aarch64-linux-gnu/include -I/usr/include"
2833
ENV JEMALLOC_SYS_WITH_LG_PAGE=16
29-
ENV PKG_CONFIG_ALLOW_CROSS=1
34+
ENV PKG_CONFIG_ALLOW_CROSS=1

Dockerfile.cross-x86_64

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
FROM ghcr.io/cross-rs/cross:main
22

33
# Install additional build tools and headers
4+
# gcc-10/g++-10 required to avoid GCC 9 memcmp bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189)
45
RUN apt-get update && \
56
apt-get install -y \
67
build-essential \
8+
gcc-10 \
9+
g++-10 \
710
curl \
811
jq \
912
pkg-config \
@@ -12,8 +15,8 @@ RUN apt-get update && \
1215
rm -rf /var/lib/apt/lists/*
1316

1417
# Set up environment variables for x86_64 cross-compilation
15-
ENV CC_x86_64_unknown_linux_gnu=x86_64-linux-gnu-gcc
16-
ENV CXX_x86_64_unknown_linux_gnu=x86_64-linux-gnu-g++
18+
ENV CC_x86_64_unknown_linux_gnu=x86_64-linux-gnu-gcc-10
19+
ENV CXX_x86_64_unknown_linux_gnu=x86_64-linux-gnu-g++-10
1720
ENV AR_x86_64_unknown_linux_gnu=x86_64-linux-gnu-ar
1821
ENV STRIP_x86_64_unknown_linux_gnu=x86_64-linux-gnu-strip
1922
ENV BINDGEN_EXTRA_CLANG_ARGS_x86_64_unknown_linux_gnu="-I/usr/include -I/usr/include/x86_64-linux-gnu"

bin/ev-deployer/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ tokio = { workspace = true }
1818
clap = { workspace = true, features = ["derive", "env"] }
1919
serde = { workspace = true, features = ["derive"] }
2020
serde_json = { workspace = true }
21-
toml = "0.8"
21+
toml = "0.9"
2222
eyre = { workspace = true }
2323
rand = { workspace = true }
2424

bin/ev-deployer/src/contracts/deterministic_deployer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub(crate) const DETERMINISTIC_DEPLOYER_BYTECODE: &[u8] = &hex!(
1111
);
1212

1313
/// Build a genesis alloc entry for the deterministic deployer.
14-
pub(crate) fn build(config: &DeterministicDeployerConfig) -> GenesisContract {
14+
pub(crate) const fn build(config: &DeterministicDeployerConfig) -> GenesisContract {
1515
let address = config.address.expect("address required for genesis");
1616

1717
GenesisContract {

crates/ev-precompiles/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ license = "MIT"
77

88
[dependencies]
99
# Reth
10-
reth-primitives = { workspace = true }
1110
reth-ethereum = { workspace = true }
1211
reth-revm = { workspace = true }
1312

crates/ev-precompiles/src/mint.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -251,10 +251,6 @@ impl Precompile for MintPrecompile {
251251
}
252252
}
253253
}
254-
255-
fn is_pure(&self) -> bool {
256-
false
257-
}
258254
}
259255

260256
#[cfg(test)]

crates/ev-primitives/Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,5 @@ bytes = { workspace = true }
1515
reth-codecs = { workspace = true }
1616
reth-db-api = { workspace = true }
1717
reth-ethereum-primitives = { workspace = true }
18-
reth-primitives-traits = { workspace = true, features = ["serde-bincode-compat"] }
18+
reth-primitives-traits = { workspace = true }
1919
serde = { workspace = true, features = ["derive"] }
20-
21-
[features]
22-
serde-bincode-compat = ["reth-primitives-traits/serde-bincode-compat"]

crates/ev-primitives/src/pool.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@
88
//! - [`InMemorySize`]: Memory accounting for pool size limits
99
//! - [`SignerRecoverable`]: Sender address recovery for validation
1010
//! - [`TxHashRef`]: Transaction hash access for deduplication
11-
//! - [`SignedTransaction`]: Marker trait for signed transaction types
1211
1312
use alloy_consensus::{
1413
error::ValueError,
1514
transaction::{SignerRecoverable, TxHashRef},
1615
TransactionEnvelope,
1716
};
1817
use alloy_primitives::{Address, B256};
19-
use reth_primitives_traits::{InMemorySize, SignedTransaction};
18+
use reth_primitives_traits::InMemorySize;
2019

2120
use crate::tx::{EvNodeSignedTx, EvTxEnvelope};
2221

@@ -85,5 +84,3 @@ impl From<EvPooledTxEnvelope> for EvTxEnvelope {
8584
}
8685
}
8786
}
88-
89-
impl SignedTransaction for EvPooledTxEnvelope {}

0 commit comments

Comments
 (0)