Skip to content
Merged
Show file tree
Hide file tree
Changes from 69 commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
2386371
Adjust crates to make ZisK guest compile
Nov 3, 2025
32b6a0e
Add ZisK guest
Nov 3, 2025
9eacacf
Fix clippy warnings
Nov 3, 2025
80bf074
Add ZisK backend
Nov 3, 2025
38e7840
Update backend lib
Nov 3, 2025
229e03d
Fix
Nov 3, 2025
87029e9
Fix
Nov 3, 2025
32fdb2e
Fix
Nov 3, 2025
3b8fb74
Add stdin & stderr
Nov 3, 2025
99ab059
Enable rkyv unaligned feature
Nov 3, 2025
209b7e9
Fix
Nov 3, 2025
b5232ef
Debug
Nov 3, 2025
4d75140
Fix debug
Nov 3, 2025
8306a3b
Implement recover_address with k256
Nov 3, 2025
603e0c7
Remove dbg
Nov 3, 2025
712d527
Fix recover_address with k256
Nov 3, 2025
fb55385
Update RISC0 guest Cargo.lock
Nov 3, 2025
76d351b
Fix risc0
Nov 3, 2025
94ebc13
remove zisk input file after execution
Nov 3, 2025
944a808
Merge branch 'main' of github.com:lambdaclass/ethrex into add_zisk_zk…
Nov 4, 2025
7607676
Write zisk elf before executing
Nov 4, 2025
d01f832
commit prove impl attempt
Nov 12, 2025
bb1b04e
fix prove output
xqft Nov 14, 2025
5658f34
fix output arg
xqft Nov 14, 2025
cf24825
comment out --proving-key
xqft Nov 17, 2025
defafb0
fix output dir
xqft Nov 17, 2025
f3f4e2f
add setup command
xqft Nov 17, 2025
ac1ab5b
fix aggregation command
xqft Nov 17, 2025
675d9ff
temp: add dbg
xqft Nov 17, 2025
3bd1b54
remove input file before any early return
xqft Nov 17, 2025
0025cb6
overwrite file
xqft Nov 17, 2025
1f60ad2
implement eip7702_recover_address
xqft Nov 17, 2025
9e83453
define constants
xqft Nov 17, 2025
7dd86f9
import
xqft Nov 17, 2025
990ba8f
remove output arg from execution
xqft Nov 17, 2025
acc0c44
rm dbg, fix path
xqft Nov 18, 2025
1aa998e
enable tiny-keccak patch and ecpairing precomp
xqft Nov 18, 2025
8e590c7
refactor command
xqft Nov 18, 2025
4820fa0
fix
xqft Nov 18, 2025
0f76ee0
Merge branch 'main' into add_zisk_zkvm_backend
xqft Nov 18, 2025
bf4661a
fixes
xqft Nov 18, 2025
9ac525f
debug
xqft Nov 18, 2025
c03e229
stdout
xqft Nov 18, 2025
1e0b966
debug
xqft Nov 18, 2025
f54c390
try fix
xqft Nov 18, 2025
4c30e36
stdout
xqft Nov 18, 2025
d1f4738
fixes
xqft Nov 18, 2025
e7939ba
fix
xqft Nov 18, 2025
e115e38
stdout
xqft Nov 18, 2025
f005126
fix args of execute
xqft Nov 18, 2025
b985008
fix output path
xqft Nov 18, 2025
eccf57a
typo
xqft Nov 18, 2025
db234ee
fix
xqft Nov 18, 2025
dbe3cbf
reset rustflags
xqft Nov 19, 2025
35f3a92
move override to workspace
xqft Nov 19, 2025
3ab5ee7
remove config.toml
xqft Nov 19, 2025
6658a07
clean env flags
xqft Nov 19, 2025
75512cf
fix
xqft Nov 19, 2025
8898620
Revert "remove config.toml"
xqft Nov 19, 2025
72db3bb
remove override
xqft Nov 19, 2025
5fe0de0
Merge branch 'main' into add_zisk_zkvm_backend
xqft Nov 19, 2025
497dc86
Merge branch 'main' into add_zisk_zkvm_backend
xqft Nov 19, 2025
6b5ab11
clean all code
xqft Nov 19, 2025
58f244d
fix conflict
xqft Nov 19, 2025
603bc6d
fix secp256k1 feature
xqft Nov 19, 2025
3116fd9
fix recursive compilation
xqft Nov 20, 2025
db7ef08
temp: verify proofs after proving
xqft Nov 20, 2025
5af5ff6
Revert "temp: verify proofs after proving"
xqft Nov 20, 2025
11bbab0
Merge branch 'main' into add_zisk_zkvm_backend
xqft Nov 20, 2025
50937eb
Update crates/l2/prover/src/backend/zisk.rs
xqft Nov 20, 2025
4d1f64d
Update crates/l2/prover/src/backend/zisk.rs
xqft Nov 20, 2025
a1eebb0
fix
xqft Nov 20, 2025
caa4055
fix
xqft Nov 20, 2025
a613937
chore(l2): bump ZisK dep and precompile patches to 0.14.0 (#5396)
ilitteri Nov 20, 2025
56a3545
fix features
xqft Nov 21, 2025
33e3f80
add comment to constant secp
xqft Nov 21, 2025
b409a16
typo
xqft Nov 21, 2025
bb456f1
typo
xqft Nov 21, 2025
94f4764
fix sha2 version
xqft Nov 21, 2025
0d687f8
Bump sha2 version
ilitteri Nov 21, 2025
32909b3
fix locks
ilitteri Nov 21, 2025
1f288da
fix zisk toml
ilitteri Nov 21, 2025
1c9ceba
add --unlock-mapped-memory flag
ilitteri Nov 21, 2025
e5c1f9d
Merge branch 'main' into add_zisk_zkvm_backend
xqft Nov 24, 2025
332a62e
add zisk check and elf jobs
xqft Nov 25, 2025
a7549e0
fix setup-rust
xqft Nov 25, 2025
236b598
Merge branch 'main' into add_zisk_zkvm_backend
xqft Nov 25, 2025
2a5c776
add build.rs prints
xqft Nov 25, 2025
9df4478
add ./ to path
xqft Nov 25, 2025
a8de275
add retry and add zisk bin to path
xqft Nov 25, 2025
0a35c02
lint
xqft Nov 25, 2025
92fc3fa
fix(l1): upload zisk artifact correctly (#5422)
JereSalo Nov 25, 2025
35284c9
fix retry
xqft Nov 25, 2025
e31aa37
add ci flag
xqft Nov 25, 2025
9580389
add ci feature to prover
xqft Nov 25, 2025
3aa7db5
fmt
xqft Nov 25, 2025
5a843d3
fix
xqft Nov 25, 2025
3196423
Merge branch 'main' into add_zisk_zkvm_backend
xqft Nov 25, 2025
b56f0c3
add ci flag comments
xqft Nov 25, 2025
d26cd81
add ci flag to release
xqft Nov 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ rustflags = [
"-Ctarget-cpu=x86-64-v3",
"-Ctarget-feature=+avx2,+sse2,+ssse3,+sse4.1,+sse4.2,+bmi1,+lzcnt,+pclmulqdq",
]

68 changes: 36 additions & 32 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ inherits = "release"
debug = 2

[workspace.dependencies]
ethrex-blockchain = { path = "./crates/blockchain" }
ethrex-common = { path = "./crates/common" }
ethrex-blockchain = { path = "./crates/blockchain", default-features = false }
ethrex-common = { path = "./crates/common", default-features = false }
ethrex-config = { path = "./crates/common/config" }
ethrex-p2p = { path = "./crates/networking/p2p" }
ethrex-rpc = { path = "./crates/networking/rpc" }
Expand Down Expand Up @@ -86,6 +86,7 @@ hex-literal = "0.4.1"
crc32fast = "1.4.2"
lazy_static = "1.5.0"
sha2 = "0.10.8"
sha3 = "0.10.8"
tokio-util = { version = "0.7.15", features = ["rt"] }
jsonwebtoken = "9.3.0"
rand = "0.8.5"
Expand Down Expand Up @@ -118,6 +119,7 @@ tempfile = "3.8"
uuid = { version = "1.18.1", features = ["v4"] }
tower-http = { version = "0.6.2", features = ["cors"] }
indexmap = { version = "2.11.4" }
k256 = "0.13.4"

rocksdb = { version = "0.24.0", default-features = false, features = [
"bindgen-runtime",
Expand Down
7 changes: 6 additions & 1 deletion cmd/ethrex/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,13 @@ path = "./lib.rs"

[features]
debug = ["ethrex-vm/debug"]
default = ["rocksdb", "c-kzg", "metrics", "jemalloc", "dev"]
default = ["rocksdb", "c-kzg", "secp256k1", "metrics", "jemalloc", "dev"]
dev = ["dep:ethrex-dev"]
secp256k1 = [
"ethrex-vm/secp256k1",
"ethrex-common/secp256k1",
"ethrex-blockchain/secp256k1",
]
c-kzg = [
"ethrex-vm/c-kzg",
"ethrex-common/c-kzg",
Expand Down
4 changes: 2 additions & 2 deletions cmd/ethrex/l2/deployer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -842,8 +842,8 @@ async fn initialize_contracts(

info!("Risc0 vk read");

let deployer_address =
get_address_from_secret_key(&opts.private_key).map_err(DeployerError::InternalError)?;
let deployer_address = get_address_from_secret_key(&opts.private_key.secret_bytes())
.map_err(DeployerError::InternalError)?;

info!("Initializing OnChainProposer");

Expand Down
12 changes: 7 additions & 5 deletions crates/blockchain/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ documentation.workspace = true

[dependencies]
ethrex-rlp.workspace = true
ethrex-common.workspace = true
ethrex-common = { workspace = true, default-features = false }
ethrex-crypto.workspace = true
ethrex-storage.workspace = true
ethrex-trie.workspace = true
ethrex-vm.workspace = true
secp256k1.workspace = true
ethrex-metrics = { path = "./metrics", default-features = false }

thiserror.workspace = true
tracing.workspace = true
Expand All @@ -24,8 +24,6 @@ rustc-hash.workspace = true
tokio = { workspace = true, features = ["time", "rt"] }
tokio-util.workspace = true

ethrex-metrics = { path = "./metrics", default-features = false }

[dev-dependencies]
serde_json.workspace = true
hex = "0.4.3"
Expand All @@ -35,9 +33,13 @@ tokio = { workspace = true, features = ["full"] }
path = "./blockchain.rs"

[features]
default = []
default = ["secp256k1"]
secp256k1 = ["ethrex-common/secp256k1", "ethrex-vm/secp256k1"]
c-kzg = ["ethrex-common/c-kzg", "ethrex-vm/c-kzg"]
metrics = ["ethrex-metrics/transactions"]
sp1 = ["ethrex-common/sp1", "ethrex-vm/sp1"]
risc0 = ["ethrex-common/risc0", "ethrex-vm/risc0", "c-kzg"]
zisk = ["ethrex-common/zisk", "ethrex-vm/zisk"]

[lints.clippy]
unwrap_used = "deny"
Expand Down
2 changes: 1 addition & 1 deletion crates/blockchain/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ pub enum MempoolError {
#[error("Requested pooled transaction was not received")]
RequestedPooledTxNotFound,
#[error("Transaction sender is invalid {0}")]
InvalidTxSender(#[from] secp256k1::Error),
InvalidTxSender(#[from] ethrex_common::EcdsaError),
#[error("Attempted to replace a pooled transaction with an underpriced transaction")]
UnderpricedReplacement,
}
Expand Down
11 changes: 9 additions & 2 deletions crates/common/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ serde_json.workspace = true
thiserror.workspace = true
sha2.workspace = true
kzg-rs.workspace = true
secp256k1.workspace = true
sha3.workspace = true
once_cell = "1.20.2"
libc = "0.2"
crc32fast.workspace = true
Expand All @@ -31,14 +31,21 @@ rayon.workspace = true
url.workspace = true
rkyv.workspace = true
rustc-hash.workspace = true
k256.workspace = true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe too nit but I think this should be used optionally with sp1, risc0 or zisk


secp256k1 = { workspace = true, optional = true }

[dev-dependencies]
hex-literal.workspace = true

[features]
default = []
default = ["secp256k1"]
c-kzg = ["ethrex-crypto/c-kzg"]
secp256k1 = ["dep:secp256k1"]

risc0 = ["ethrex-crypto/risc0"]
sp1 = []
zisk = []

[lib]
path = "./common.rs"
Expand Down
3 changes: 3 additions & 0 deletions crates/common/common.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@ pub mod types;
pub use bytes::Bytes;
pub mod base64;
pub use ethrex_trie::{TrieLogger, TrieWitness};
pub mod errors;
pub mod evm;
pub mod fd_limit;
pub mod genesis_utils;
pub mod rkyv_utils;
pub mod tracing;
pub mod utils;

pub use errors::EcdsaError;
Loading
Loading