diff --git a/Cargo.lock b/Cargo.lock index 13e43bc13b..3930393c30 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -63,7 +63,7 @@ checksum = "9f5bedd6a59a2bd3a2f1cb7ff488549a2004302edca4df4d578bf0a814888615" dependencies = [ "alloy-consensus", "alloy-core", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-json-rpc", "alloy-network", "alloy-provider", @@ -87,40 +87,41 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d213580c17d239ae83c0d897ac3315db7cda83d2d4936a9823cc3517552f2e24" +checksum = "6a0dd3ed764953a6b20458b2b7abbfdc93d20d14b38babe1a70fe631a443a9f1" dependencies = [ - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.30", - "alloy-trie", + "alloy-serde 1.0.38", + "alloy-trie 0.9.1", "alloy-tx-macros", "auto_impl", "c-kzg", "derive_more 2.0.1", "either", - "k256", + "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell", "rand 0.8.5", "secp256k1 0.30.0", "serde", + "serde_json", "serde_with", "thiserror 2.0.12", ] [[package]] name = "alloy-consensus-any" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81443e3b8dccfeac7cd511aced15928c97ff253f4177acbb97de97178e543f6c" +checksum = "9556182afa73cddffa91e64a5aa9508d5e8c912b3a15f26998d2388a824d2c7b" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", "serde", ] @@ -165,7 +166,7 @@ checksum = "9d4769c6ffddca380b0070d71c8b7f30bed375543fe76bb2f74ec0acf4b7cd16" dependencies = [ "alloy-primitives", "alloy-rlp", - "k256", + "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "serde", "serde_with", "thiserror 2.0.12", @@ -193,20 +194,22 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a15b4b0f6bab47aae017d52bb5a739bda381553c09fb9918b7172721ef5f5de" +checksum = "305fa99b538ca7006b0c03cfed24ec6d82beda67aac857ef4714be24231d15e6" dependencies = [ "alloy-eip2124", "alloy-eip2930", "alloy-eip7702", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", "auto_impl", "c-kzg", "derive_more 2.0.1", "either", + "ethereum_ssz", + "ethereum_ssz_derive", "serde", "serde_with", "sha2 0.10.9", @@ -215,43 +218,45 @@ dependencies = [ [[package]] name = "alloy-evm" -version = "0.17.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2211ccd0f05e2fea4f767242957f5e8cfb08b127ea2e6a3c0d9e5b10e6bf67d9" +checksum = "06a5f67ee74999aa4fe576a83be1996bdf74a30fce3d248bf2007d6fc7dae8aa" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-hardforks", "alloy-primitives", + "alloy-rpc-types-engine", "alloy-rpc-types-eth", "alloy-sol-types", "auto_impl", "derive_more 2.0.1", "op-alloy-consensus", + "op-alloy-rpc-types-engine", "op-revm", - "revm 27.1.0", + "revm 29.0.1", "thiserror 2.0.12", ] [[package]] name = "alloy-genesis" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ba1cbc25a07e0142e8875fcbe80e1fdb02be8160ae186b90f4b9a69a72ed2b" +checksum = "a272533715aefc900f89d51db00c96e6fd4f517ea081a12fea482a352c8c815c" dependencies = [ - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", - "alloy-serde 1.0.30", - "alloy-trie", + "alloy-serde 1.0.38", + "alloy-trie 0.9.1", "serde", "serde_with", ] [[package]] name = "alloy-hardforks" -version = "0.2.11" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ce138b29a2f8e7ed97c064af8359dfa6559c12cba5e821ae4eb93081a56557e" +checksum = "889eb3949b58368a09d4f16931c660275ef5fb08e5fbd4a96573b19c7085c41f" dependencies = [ "alloy-chains", "alloy-eip2124", @@ -275,9 +280,9 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8882ec8e4542cfd02aadc6dccbe90caa73038f60016d936734eb6ced53d2167" +checksum = "d91676d242c0ced99c0dd6d0096d7337babe9457cc43407d26aa6367fcf90553" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -290,19 +295,19 @@ dependencies = [ [[package]] name = "alloy-network" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d6d87d588bda509881a7a66ae77c86514bd1193ac30fbff0e0f24db95eb5a5" +checksum = "77f82150116b30ba92f588b87f08fa97a46a1bd5ffc0d0597efdf0843d36bfda" dependencies = [ "alloy-consensus", "alloy-consensus-any", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-json-rpc", "alloy-network-primitives", "alloy-primitives", "alloy-rpc-types-any", "alloy-rpc-types-eth", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", "alloy-signer", "alloy-sol-types", "async-trait", @@ -316,32 +321,32 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b14fa9ba5774e0b30ae6a04176d998211d516c8af69c9c530af7c6c42a8c508" +checksum = "223612259a080160ce839a4e5df0125ca403a1d5e7206cc911cea54af5d769aa" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", "serde", ] [[package]] name = "alloy-primitives" -version = "1.3.0" -source = "git+https://github.com/scroll-tech/alloy-core?branch=feat%2Frkyv#65e074f03f4491168e4ec7853d2b1cebb8a35be2" +version = "1.3.1" +source = "git+https://github.com/scroll-tech/alloy-core?branch=feat%2Frkyv#d748da779d515c0a8344c15e811482e254ba897f" dependencies = [ "alloy-rlp", "bytes", "cfg-if", "const-hex", "derive_more 2.0.1", - "foldhash", - "hashbrown 0.15.3", + "foldhash 0.2.0", + "hashbrown 0.16.0", "indexmap 2.9.0", "itoa", - "k256", + "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-asm", "paste", "proptest", @@ -356,13 +361,13 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "475a5141313c3665b75d818be97d5fa3eb5e0abb7e832e9767edd94746db28e3" +checksum = "f7283b81b6f136100b152e699171bc7ed8184a58802accbc91a7df4ebb944445" dependencies = [ "alloy-chains", "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-json-rpc", "alloy-network", "alloy-network-primitives", @@ -417,9 +422,9 @@ dependencies = [ [[package]] name = "alloy-rpc-client" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25289674cd8c58fcca2568b5350423cb0dd7bca8c596c5e2869bfe4c5c57ed14" +checksum = "1154b12d470bef59951c62676e106f4ce5de73b987d86b9faa935acebb138ded" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -440,20 +445,20 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01bac57c987c93773787619e20f89167db74d460a2d1d40f591d94fb7c22c379" +checksum = "23cc57ee0c1ac9fb14854195fc249494da7416591dc4a4d981ddfd5dd93b9bce" dependencies = [ "alloy-consensus-any", "alloy-rpc-types-eth", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", ] [[package]] name = "alloy-rpc-types-debug" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2fe118e6c152d54cb4549b9835fb87d38b12754bb121375183ee3ec84bd0849" +checksum = "4a0ac29dd005c33e3f7e09087accc80843315303685c3f7a1b888002cd27785b" dependencies = [ "alloy-primitives", "derive_more 2.0.1", @@ -463,31 +468,35 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a41624eb84bc743e414198bf10eb48b611a5554d6a9fd6205f7384d57dfd7f" +checksum = "1d9d173854879bcf26c7d71c1c3911972a3314df526f4349ffe488e676af577d" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", "alloy-rlp", + "alloy-serde 1.0.38", "derive_more 2.0.1", + "ethereum_ssz", + "ethereum_ssz_derive", + "serde", "strum 0.27.1", ] [[package]] name = "alloy-rpc-types-eth" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd1e1b4dcdf13eaa96343e5c0dafc2d2e8ce5d20b90347169d46a1df0dec210" +checksum = "6d7d47bca1a2a1541e4404aa38b7e262bb4dffd9ac23b4f178729a4ddc5a5caa" dependencies = [ "alloy-consensus", "alloy-consensus-any", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-network-primitives", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", "alloy-sol-types", "itertools 0.14.0", "serde", @@ -509,9 +518,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1b3b1078b8775077525bc9fe9f6577e815ceaecd6c412a4f3b4d8aa2836e8f6" +checksum = "6a8468f1a7f9ee3bae73c24eead0239abea720dbf7779384b9c7e20d51bfb6b0" dependencies = [ "alloy-primitives", "serde", @@ -520,16 +529,16 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10ab1b8d4649bf7d0db8ab04e31658a6cc20364d920795484d886c35bed3bab4" +checksum = "33387c90b0a5021f45a5a77c2ce6c49b8f6980e66a318181468fb24cea771670" dependencies = [ "alloy-primitives", "async-trait", "auto_impl", "either", "elliptic-curve", - "k256", + "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 2.0.12", ] @@ -605,9 +614,9 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce5129146a76ca6139a19832c75ad408857a56bcd18cd2c684183b8eacd78d8" +checksum = "702002659778d89a94cd4ff2044f6b505460df6c162e2f47d1857573845b0ace" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -629,9 +638,9 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2379d998f46d422ec8ef2b61603bc28cda931e5e267aea1ebe71f62da61d101" +checksum = "0d6bdc0830e5e8f08a4c70a4c791d400a86679c694a3b4b986caf26fad680438" dependencies = [ "alloy-json-rpc", "alloy-transport", @@ -644,15 +653,31 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.9.0" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "983d99aa81f586cef9dae38443245e585840fcf0fc58b09aee0b1f27aed1d500" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "arrayvec", + "derive_more 2.0.1", + "nybbles 0.3.4", + "serde", + "smallvec", + "tracing", +] + +[[package]] +name = "alloy-trie" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bada1fc392a33665de0dc50d401a3701b62583c655e3522a323490a5da016962" +checksum = "e3412d52bb97c6c6cc27ccc28d4e6e8cf605469101193b50b0bd5813b1f990b5" dependencies = [ "alloy-primitives", "alloy-rlp", "arrayvec", "derive_more 2.0.1", - "nybbles", + "nybbles 0.4.5", "serde", "smallvec", "tracing", @@ -660,9 +685,9 @@ dependencies = [ [[package]] name = "alloy-tx-macros" -version = "1.0.30" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b5becb9c269a7d05a2f28d549f86df5a5dbc923e2667eff84fdecac8cda534c" +checksum = "7bf39928a5e70c9755d6811a2928131b53ba785ad37c8bf85c90175b5d43b818" dependencies = [ "alloy-primitives", "darling 0.21.3", @@ -1306,7 +1331,7 @@ dependencies = [ "bitflags 2.9.1", "cexpr", "clang-sys", - "itertools 0.13.0", + "itertools 0.12.1", "proc-macro2", "quote", "regex", @@ -1733,7 +1758,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] @@ -2331,7 +2356,7 @@ dependencies = [ "base64 0.13.1", "bytes", "hex", - "k256", + "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "log", "rand 0.8.5", "rlp", @@ -2447,6 +2472,46 @@ dependencies = [ "uint", ] +[[package]] +name = "ethereum_serde_utils" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dc1355dbb41fbbd34ec28d4fb2a57d9a70c67ac3c19f6a5ca4d4a176b9e997a" +dependencies = [ + "alloy-primitives", + "hex", + "serde", + "serde_derive", + "serde_json", +] + +[[package]] +name = "ethereum_ssz" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dcddb2554d19cde19b099fadddde576929d7a4d0c1cd3512d1fd95cf174375c" +dependencies = [ + "alloy-primitives", + "ethereum_serde_utils", + "itertools 0.13.0", + "serde", + "serde_derive", + "smallvec", + "typenum", +] + +[[package]] +name = "ethereum_ssz_derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a657b6b3b7e153637dc6bdc6566ad9279d9ee11a15b12cfb24a2e04360637e9f" +dependencies = [ + "darling 0.20.11", + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "ethers-core" version = "2.0.7" @@ -2459,7 +2524,7 @@ dependencies = [ "ethabi", "generic-array", "hex", - "k256", + "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "num_enum 0.6.1", "open-fastrlp", "rand 0.8.5", @@ -2620,6 +2685,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "foreign-types" version = "0.3.2" @@ -3131,8 +3202,16 @@ checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" dependencies = [ "allocator-api2", "equivalent", - "foldhash", - "rayon", + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +dependencies = [ + "foldhash 0.2.0", "serde", ] @@ -3718,6 +3797,25 @@ dependencies = [ "signature", ] +[[package]] +name = "k256" +version = "0.13.4" +source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.0#39ee587f0f73646e3753cb2aa5f34885d4efffe0" +dependencies = [ + "ecdsa", + "elliptic-curve", + "ff 0.13.1", + "hex-literal", + "num-bigint 0.4.6", + "once_cell", + "openvm", + "openvm-algebra-guest", + "openvm-algebra-moduli-macros", + "openvm-ecc-guest", + "openvm-ecc-sw-macros", + "serde", +] + [[package]] name = "keccak" version = "0.1.5" @@ -3785,7 +3883,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -4354,7 +4452,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 3.3.0", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.101", @@ -4374,11 +4472,25 @@ dependencies = [ [[package]] name = "nybbles" -version = "0.4.0" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" +dependencies = [ + "alloy-rlp", + "const-hex", + "proptest", + "serde", + "smallvec", +] + +[[package]] +name = "nybbles" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d51b0175c49668a033fe7cc69080110d9833b291566cdf332905f3ad9c68a0" +checksum = "bfa11e84403164a9f12982ab728f3c67c6fd4ab5b5f0254ffc217bdbd3b28ab0" dependencies = [ "alloy-rlp", + "cfg-if", "proptest", "ruint", "serde", @@ -4412,30 +4524,48 @@ checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" [[package]] name = "op-alloy-consensus" -version = "0.18.14" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c88d2940558fd69f8f07b3cbd7bb3c02fc7d31159c1a7ba9deede50e7881024" +checksum = "3a501241474c3118833d6195312ae7eb7cc90bbb0d5f524cbb0b06619e49ff67" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", "derive_more 2.0.1", "serde", "serde_with", "thiserror 2.0.12", ] +[[package]] +name = "op-alloy-rpc-types-engine" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14e50c94013a1d036a529df259151991dbbd6cf8dc215e3b68b784f95eec60e6" +dependencies = [ + "alloy-consensus", + "alloy-eips 1.0.38", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-engine", + "derive_more 2.0.1", + "ethereum_ssz", + "ethereum_ssz_derive", + "op-alloy-consensus", + "snap", + "thiserror 2.0.12", +] + [[package]] name = "op-revm" -version = "8.1.0" +version = "10.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce1dc7533f4e5716c55cd3d62488c6200cb4dfda96e0c75a7e484652464343b" +checksum = "f9ba4f4693811e73449193c8bd656d3978f265871916882e6a51a487e4f96217" dependencies = [ "auto_impl", - "once_cell", - "revm 27.1.0", + "revm 29.0.1", "serde", ] @@ -5527,6 +5657,24 @@ dependencies = [ "sha2 0.10.9", ] +[[package]] +name = "p256" +version = "0.13.2" +source = "git+https://github.com/openvm-org/openvm.git?tag=v1.4.0#39ee587f0f73646e3753cb2aa5f34885d4efffe0" +dependencies = [ + "ecdsa", + "elliptic-curve", + "ff 0.13.1", + "hex-literal", + "num-bigint 0.4.6", + "openvm", + "openvm-algebra-guest", + "openvm-algebra-moduli-macros", + "openvm-ecc-guest", + "openvm-ecc-sw-macros", + "serde", +] + [[package]] name = "p3-air" version = "0.1.0" @@ -6760,16 +6908,16 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-chains", "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-evm", "alloy-genesis", "alloy-primitives", - "alloy-trie", + "alloy-trie 0.9.1", "auto_impl", "derive_more 2.0.1", "reth-ethereum-forks", @@ -6780,14 +6928,14 @@ dependencies = [ [[package]] name = "reth-codecs" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-genesis", "alloy-primitives", - "alloy-trie", + "alloy-trie 0.9.1", "bytes", "modular-bitfield", "op-alloy-consensus", @@ -6798,29 +6946,80 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ - "convert_case 0.7.1", "proc-macro2", "quote", "syn 2.0.101", ] +[[package]] +name = "reth-consensus" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" +dependencies = [ + "alloy-consensus", + "alloy-primitives", + "auto_impl", + "reth-execution-types", + "reth-primitives-traits", + "thiserror 2.0.12", +] + +[[package]] +name = "reth-consensus-common" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" +dependencies = [ + "alloy-consensus", + "alloy-eips 1.0.38", + "reth-chainspec", + "reth-consensus", + "reth-primitives-traits", +] + [[package]] name = "reth-db-models" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" +dependencies = [ + "alloy-eips 1.0.38", + "alloy-primitives", + "reth-primitives-traits", +] + +[[package]] +name = "reth-errors" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" +dependencies = [ + "reth-consensus", + "reth-execution-errors", + "reth-storage-errors", + "thiserror 2.0.12", +] + +[[package]] +name = "reth-ethereum-consensus" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ - "alloy-eips 1.0.30", + "alloy-consensus", + "alloy-eips 1.0.38", "alloy-primitives", + "reth-chainspec", + "reth-consensus", + "reth-consensus-common", + "reth-execution-types", "reth-primitives-traits", + "tracing", ] [[package]] name = "reth-ethereum-forks" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -6831,13 +7030,15 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", "alloy-rlp", + "alloy-rpc-types-eth", + "alloy-serde 1.0.38", "reth-codecs", "reth-primitives-traits", "serde", @@ -6846,11 +7047,11 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-evm", "alloy-primitives", "auto_impl", @@ -6862,17 +7063,17 @@ dependencies = [ "reth-storage-api", "reth-storage-errors", "reth-trie-common", - "revm 27.1.0", + "revm 29.0.1", "scroll-alloy-evm", ] [[package]] name = "reth-evm-ethereum" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-evm", "alloy-primitives", "alloy-rpc-types-engine", @@ -6883,42 +7084,42 @@ dependencies = [ "reth-execution-types", "reth-primitives-traits", "reth-storage-errors", - "revm 27.1.0", + "revm 29.0.1", ] [[package]] name = "reth-execution-errors" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-evm", "alloy-primitives", "alloy-rlp", - "nybbles", + "nybbles 0.4.5", "reth-storage-errors", "thiserror 2.0.12", ] [[package]] name = "reth-execution-types" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-evm", "alloy-primitives", "derive_more 2.0.1", "reth-ethereum-primitives", "reth-primitives-traits", "reth-trie-common", - "revm 27.1.0", + "revm 29.0.1", ] [[package]] name = "reth-network-peers" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -6929,8 +7130,8 @@ dependencies = [ [[package]] name = "reth-primitives" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", "once_cell", @@ -6942,25 +7143,25 @@ dependencies = [ [[package]] name = "reth-primitives-traits" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-genesis", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-eth", - "alloy-trie", + "alloy-trie 0.9.1", "auto_impl", "bytes", "derive_more 2.0.1", "once_cell", "op-alloy-consensus", "reth-codecs", - "revm-bytecode 6.1.0", - "revm-primitives 20.1.0", - "revm-state 7.0.2", + "revm-bytecode 6.2.2", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "scroll-alloy-consensus", "secp256k1 0.30.0", "serde", @@ -6970,25 +7171,37 @@ dependencies = [ [[package]] name = "reth-prune-types" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-primitives", "derive_more 2.0.1", "thiserror 2.0.12", ] +[[package]] +name = "reth-revm" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" +dependencies = [ + "alloy-primitives", + "reth-primitives-traits", + "reth-storage-api", + "reth-storage-errors", + "revm 29.0.1", +] + [[package]] name = "reth-scroll-chainspec" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-chains", "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-genesis", "alloy-primitives", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", "auto_impl", "derive_more 2.0.1", "once_cell", @@ -7005,11 +7218,11 @@ dependencies = [ [[package]] name = "reth-scroll-evm" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-evm", "alloy-primitives", "alloy-rpc-types-engine", @@ -7023,8 +7236,8 @@ dependencies = [ "reth-scroll-forks", "reth-scroll-primitives", "reth-storage-api", - "revm 27.1.0", - "revm-primitives 20.1.0", + "revm 29.0.1", + "revm-primitives 20.2.1", "revm-scroll", "scroll-alloy-consensus", "scroll-alloy-evm", @@ -7035,8 +7248,8 @@ dependencies = [ [[package]] name = "reth-scroll-forks" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-chains", "alloy-primitives", @@ -7049,11 +7262,11 @@ dependencies = [ [[package]] name = "reth-scroll-primitives" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", "alloy-rlp", "bytes", @@ -7066,17 +7279,43 @@ dependencies = [ [[package]] name = "reth-stages-types" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-primitives", "reth-trie-common", ] +[[package]] +name = "reth-stateless" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" +dependencies = [ + "alloy-consensus", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-debug", + "alloy-trie 0.9.1", + "itertools 0.14.0", + "reth-chainspec", + "reth-consensus", + "reth-errors", + "reth-ethereum-consensus", + "reth-ethereum-primitives", + "reth-evm", + "reth-primitives-traits", + "reth-revm", + "reth-trie-common", + "reth-trie-sparse", + "serde", + "serde_with", + "thiserror 2.0.12", +] + [[package]] name = "reth-static-file-types" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-primitives", "derive_more 2.0.1", @@ -7086,11 +7325,11 @@ dependencies = [ [[package]] name = "reth-storage-api" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", "alloy-rpc-types-engine", "auto_impl", @@ -7103,35 +7342,35 @@ dependencies = [ "reth-stages-types", "reth-storage-errors", "reth-trie-common", - "revm-database 7.0.2", + "revm-database 7.0.5", ] [[package]] name = "reth-storage-errors" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", "alloy-rlp", "derive_more 2.0.1", "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", - "revm-database-interface 7.0.2", + "revm-database-interface 7.0.5", "thiserror 2.0.12", ] [[package]] name = "reth-trie" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", "alloy-rlp", - "alloy-trie", + "alloy-trie 0.9.1", "auto_impl", "itertools 0.14.0", "reth-execution-errors", @@ -7140,34 +7379,34 @@ dependencies = [ "reth-storage-errors", "reth-trie-common", "reth-trie-sparse", - "revm-database 7.0.2", + "revm-database 7.0.5", "tracing", ] [[package]] name = "reth-trie-common" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", "alloy-primitives", "alloy-rlp", - "alloy-trie", + "alloy-trie 0.9.1", "derive_more 2.0.1", "itertools 0.14.0", - "nybbles", + "nybbles 0.4.5", "reth-primitives-traits", - "revm-database 7.0.2", + "revm-database 7.0.5", ] [[package]] name = "reth-trie-sparse" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-primitives", "alloy-rlp", - "alloy-trie", + "alloy-trie 0.9.1", "auto_impl", "reth-execution-errors", "reth-primitives-traits", @@ -7178,8 +7417,8 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "zstd", ] @@ -7216,20 +7455,20 @@ dependencies = [ [[package]] name = "revm" -version = "27.1.0" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "29.0.1" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ - "revm-bytecode 6.1.0", - "revm-context 8.0.4", - "revm-context-interface 9.0.0", - "revm-database 7.0.2", - "revm-database-interface 7.0.2", - "revm-handler 8.1.0", - "revm-inspector 8.1.0", - "revm-interpreter 24.0.0", - "revm-precompile 25.0.0", - "revm-primitives 20.1.0", - "revm-state 7.0.2", + "revm-bytecode 6.2.2", + "revm-context 9.1.0", + "revm-context-interface 10.2.0", + "revm-database 7.0.5", + "revm-database-interface 7.0.5", + "revm-handler 10.0.1", + "revm-inspector 10.0.1", + "revm-interpreter 25.0.3", + "revm-precompile 27.0.0", + "revm-primitives 20.2.1", + "revm-state 7.0.5", ] [[package]] @@ -7246,13 +7485,12 @@ dependencies = [ [[package]] name = "revm-bytecode" -version = "6.1.0" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "6.2.2" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ "bitvec", - "once_cell", "phf", - "revm-primitives 20.1.0", + "revm-primitives 20.2.1", "serde", ] @@ -7274,16 +7512,17 @@ dependencies = [ [[package]] name = "revm-context" -version = "8.0.4" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "9.1.0" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ + "bitvec", "cfg-if", "derive-where", - "revm-bytecode 6.1.0", - "revm-context-interface 9.0.0", - "revm-database-interface 7.0.2", - "revm-primitives 20.1.0", - "revm-state 7.0.2", + "revm-bytecode 6.2.2", + "revm-context-interface 10.2.0", + "revm-database-interface 7.0.5", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "serde", ] @@ -7304,16 +7543,16 @@ dependencies = [ [[package]] name = "revm-context-interface" -version = "9.0.0" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "10.2.0" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ "alloy-eip2930", "alloy-eip7702", "auto_impl", "either", - "revm-database-interface 7.0.2", - "revm-primitives 20.1.0", - "revm-state 7.0.2", + "revm-database-interface 7.0.5", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "serde", ] @@ -7333,14 +7572,14 @@ dependencies = [ [[package]] name = "revm-database" -version = "7.0.2" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "7.0.5" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ - "alloy-eips 1.0.30", - "revm-bytecode 6.1.0", - "revm-database-interface 7.0.2", - "revm-primitives 20.1.0", - "revm-state 7.0.2", + "alloy-eips 1.0.38", + "revm-bytecode 6.2.2", + "revm-database-interface 7.0.5", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "serde", ] @@ -7358,13 +7597,13 @@ dependencies = [ [[package]] name = "revm-database-interface" -version = "7.0.2" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "7.0.5" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ "auto_impl", "either", - "revm-primitives 20.1.0", - "revm-state 7.0.2", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "serde", ] @@ -7388,19 +7627,19 @@ dependencies = [ [[package]] name = "revm-handler" -version = "8.1.0" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "10.0.1" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ "auto_impl", "derive-where", - "revm-bytecode 6.1.0", - "revm-context 8.0.4", - "revm-context-interface 9.0.0", - "revm-database-interface 7.0.2", - "revm-interpreter 24.0.0", - "revm-precompile 25.0.0", - "revm-primitives 20.1.0", - "revm-state 7.0.2", + "revm-bytecode 6.2.2", + "revm-context 9.1.0", + "revm-context-interface 10.2.0", + "revm-database-interface 7.0.5", + "revm-interpreter 25.0.3", + "revm-precompile 27.0.0", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "serde", ] @@ -7423,17 +7662,17 @@ dependencies = [ [[package]] name = "revm-inspector" -version = "8.1.0" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "10.0.1" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ "auto_impl", "either", - "revm-context 8.0.4", - "revm-database-interface 7.0.2", - "revm-handler 8.1.0", - "revm-interpreter 24.0.0", - "revm-primitives 20.1.0", - "revm-state 7.0.2", + "revm-context 9.1.0", + "revm-database-interface 7.0.5", + "revm-handler 10.0.1", + "revm-interpreter 25.0.3", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "serde", "serde_json", ] @@ -7452,12 +7691,12 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "24.0.0" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "25.0.3" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ - "revm-bytecode 6.1.0", - "revm-context-interface 9.0.0", - "revm-primitives 20.1.0", + "revm-bytecode 6.2.2", + "revm-context-interface 10.2.0", + "revm-primitives 20.2.1", "serde", ] @@ -7476,10 +7715,10 @@ dependencies = [ "blst", "c-kzg", "cfg-if", - "k256", + "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "libsecp256k1", "once_cell", - "p256", + "p256 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", "revm-primitives 18.0.0", "ripemd", "secp256k1 0.30.0", @@ -7488,8 +7727,8 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "25.0.0" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "27.0.0" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -7500,11 +7739,10 @@ dependencies = [ "aurora-engine-modexp", "c-kzg", "cfg-if", - "k256", + "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "libsecp256k1", - "once_cell", - "p256", - "revm-primitives 20.1.0", + "p256 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-primitives 20.2.1", "ripemd", "rug", "secp256k1 0.31.1", @@ -7524,25 +7762,26 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "20.1.0" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "20.2.1" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ "alloy-primitives", "num_enum 0.7.3", + "once_cell", "serde", ] [[package]] name = "revm-scroll" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-revm#59d400f1a0b616d7b97a24da1cb5b8dcb8006f4b" +source = "git+https://github.com/scroll-tech/scroll-revm#307f050ebe267492c483570356cc44990df42acf" dependencies = [ "auto_impl", "enumn", "once_cell", - "revm 27.1.0", - "revm-inspector 8.1.0", - "revm-primitives 20.1.0", + "revm 29.0.1", + "revm-inspector 10.0.1", + "revm-primitives 20.2.1", "serde", ] @@ -7560,12 +7799,12 @@ dependencies = [ [[package]] name = "revm-state" -version = "7.0.2" -source = "git+https://github.com/scroll-tech/revm#9cd9896c06a5bf6d4212906260d8789579873ba4" +version = "7.0.5" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ "bitflags 2.9.1", - "revm-bytecode 6.1.0", - "revm-primitives 20.1.0", + "revm-bytecode 6.2.2", + "revm-primitives 20.2.1", "serde", ] @@ -7617,6 +7856,21 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "risc0-ethereum-trie" +version = "0.1.0" +source = "git+https://github.com/risc0/risc0-ethereum#d04a053901c9cb4e0f6cc599d5b4f21dccdbb3f8" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "alloy-trie 0.8.1", + "arrayvec", + "bincode 1.3.3", + "itertools 0.14.0", + "serde", + "thiserror 2.0.12", +] + [[package]] name = "rkyv" version = "0.8.10" @@ -7893,62 +8147,41 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "sbv-core" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#6915deed7fbe79d2573e48c07458b9009fd3dc1a" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#f11065e9267413ee50f51a06d29de5a49fbfa81f" dependencies = [ "auto_impl", - "cfg-if", "itertools 0.14.0", "reth-primitives-traits", + "reth-stateless", "rkyv", "sbv-helpers", - "sbv-kv", - "sbv-precompile", "sbv-primitives", "sbv-trie", "serde", "serde_with", - "thiserror 2.0.12", ] [[package]] name = "sbv-helpers" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#6915deed7fbe79d2573e48c07458b9009fd3dc1a" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#f11065e9267413ee50f51a06d29de5a49fbfa81f" dependencies = [ "tracing", ] -[[package]] -name = "sbv-kv" -version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#6915deed7fbe79d2573e48c07458b9009fd3dc1a" -dependencies = [ - "auto_impl", - "hashbrown 0.15.3", - "rustc-hash 2.1.1", -] - -[[package]] -name = "sbv-precompile" -version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#6915deed7fbe79d2573e48c07458b9009fd3dc1a" -dependencies = [ - "sbv-primitives", -] - [[package]] name = "sbv-primitives" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#6915deed7fbe79d2573e48c07458b9009fd3dc1a" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#f11065e9267413ee50f51a06d29de5a49fbfa81f" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-evm", "alloy-network", "alloy-primitives", "alloy-rpc-types-debug", "alloy-rpc-types-eth", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", "auto_impl", "itertools 0.14.0", "reth-chainspec", @@ -7962,11 +8195,10 @@ dependencies = [ "reth-scroll-evm", "reth-scroll-forks", "reth-scroll-primitives", - "revm 27.1.0", + "revm 29.0.1", "revm-scroll", "rkyv", "sbv-helpers", - "sbv-kv", "scroll-alloy-consensus", "scroll-alloy-evm", "scroll-alloy-network", @@ -7977,14 +8209,15 @@ dependencies = [ [[package]] name = "sbv-trie" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#6915deed7fbe79d2573e48c07458b9009fd3dc1a" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#f11065e9267413ee50f51a06d29de5a49fbfa81f" dependencies = [ "alloy-rlp", - "alloy-trie", + "alloy-trie 0.9.1", + "reth-stateless", "reth-trie", + "risc0-ethereum-trie", "rlp", "sbv-helpers", - "sbv-kv", "sbv-primitives", "serde", "thiserror 2.0.12", @@ -7993,7 +8226,7 @@ dependencies = [ [[package]] name = "sbv-utils" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#6915deed7fbe79d2573e48c07458b9009fd3dc1a" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#f11065e9267413ee50f51a06d29de5a49fbfa81f" dependencies = [ "alloy-provider", "alloy-rpc-client", @@ -8071,14 +8304,14 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scroll-alloy-consensus" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", "derive_more 2.0.1", "reth-codecs", "serde", @@ -8087,16 +8320,16 @@ dependencies = [ [[package]] name = "scroll-alloy-evm" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-evm", "alloy-primitives", "auto_impl", "encoder-standard", - "revm 27.1.0", + "revm 29.0.1", "revm-scroll", "scroll-alloy-consensus", "scroll-alloy-hardforks", @@ -8105,8 +8338,8 @@ dependencies = [ [[package]] name = "scroll-alloy-hardforks" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-hardforks", "auto_impl", @@ -8115,8 +8348,8 @@ dependencies = [ [[package]] name = "scroll-alloy-network" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", "alloy-network", @@ -8130,15 +8363,15 @@ dependencies = [ [[package]] name = "scroll-alloy-rpc-types" -version = "1.6.0" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#af87226a789fb381bf219e1e93a02290892c11ae" +version = "1.8.2" +source = "git+https://github.com/scroll-tech/reth?branch=scroll#32019bcde9d08524caad5b359b693e8f0c3951b8" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.30", + "alloy-eips 1.0.38", "alloy-network-primitives", "alloy-primitives", "alloy-rpc-types-eth", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", "derive_more 2.0.1", "scroll-alloy-consensus", "serde", @@ -8178,7 +8411,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-prover" version = "0.6.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?rev=060be4c#060be4c0461b0a197c5be47fc74415165a0abe25" +source = "git+https://github.com/scroll-tech/zkvm-prover?rev=a71dd2b#a71dd2bca691aaa8f792d15eb64d5fe95bd13773" dependencies = [ "base64 0.22.1", "bincode 1.3.3", @@ -8205,7 +8438,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types" version = "0.6.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?rev=060be4c#060be4c0461b0a197c5be47fc74415165a0abe25" +source = "git+https://github.com/scroll-tech/zkvm-prover?rev=a71dd2b#a71dd2bca691aaa8f792d15eb64d5fe95bd13773" dependencies = [ "alloy-primitives", "base64 0.22.1", @@ -8225,10 +8458,10 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-base" version = "0.6.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?rev=060be4c#060be4c0461b0a197c5be47fc74415165a0abe25" +source = "git+https://github.com/scroll-tech/zkvm-prover?rev=a71dd2b#a71dd2bca691aaa8f792d15eb64d5fe95bd13773" dependencies = [ "alloy-primitives", - "alloy-serde 1.0.30", + "alloy-serde 1.0.38", "rkyv", "serde", "sha2 0.10.9", @@ -8238,7 +8471,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-batch" version = "0.6.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?rev=060be4c#060be4c0461b0a197c5be47fc74415165a0abe25" +source = "git+https://github.com/scroll-tech/zkvm-prover?rev=a71dd2b#a71dd2bca691aaa8f792d15eb64d5fe95bd13773" dependencies = [ "alloy-primitives", "c-kzg", @@ -8260,7 +8493,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-bundle" version = "0.6.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?rev=060be4c#060be4c0461b0a197c5be47fc74415165a0abe25" +source = "git+https://github.com/scroll-tech/zkvm-prover?rev=a71dd2b#a71dd2bca691aaa8f792d15eb64d5fe95bd13773" dependencies = [ "rkyv", "scroll-zkvm-types-base", @@ -8270,9 +8503,15 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-chunk" version = "0.6.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?rev=060be4c#060be4c0461b0a197c5be47fc74415165a0abe25" +source = "git+https://github.com/scroll-tech/zkvm-prover?rev=a71dd2b#a71dd2bca691aaa8f792d15eb64d5fe95bd13773" dependencies = [ + "alloy-consensus", "alloy-primitives", + "k256 0.13.4 (git+https://github.com/openvm-org/openvm.git?tag=v1.4.0)", + "openvm-ecc-guest", + "openvm-pairing", + "openvm-sha2", + "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?tag=v1.4.0)", "rkyv", "sbv-core", "sbv-helpers", @@ -8285,7 +8524,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" version = "0.6.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?rev=060be4c#060be4c0461b0a197c5be47fc74415165a0abe25" +source = "git+https://github.com/scroll-tech/zkvm-prover?rev=a71dd2b#a71dd2bca691aaa8f792d15eb64d5fe95bd13773" dependencies = [ "bincode 1.3.3", "eyre", @@ -8430,10 +8669,11 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -8464,11 +8704,20 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -8712,6 +8961,12 @@ dependencies = [ "serde", ] +[[package]] +name = "snap" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" + [[package]] name = "snark-verifier" version = "0.2.1" diff --git a/Cargo.toml b/Cargo.toml index ea2c276a03..efbafa906b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,9 +17,10 @@ repository = "https://github.com/scroll-tech/scroll" version = "4.5.47" [workspace.dependencies] -scroll-zkvm-prover = { git = "https://github.com/scroll-tech/zkvm-prover", rev = "060be4c" } -scroll-zkvm-verifier = { git = "https://github.com/scroll-tech/zkvm-prover", rev = "060be4c" } -scroll-zkvm-types = { git = "https://github.com/scroll-tech/zkvm-prover", rev = "060be4c" } +# include compatiblity fixing from "fix/coordinator" +scroll-zkvm-prover = { git = "https://github.com/scroll-tech/zkvm-prover", rev = "a71dd2b" } +scroll-zkvm-verifier = { git = "https://github.com/scroll-tech/zkvm-prover", rev = "a71dd2b" } +scroll-zkvm-types = { git = "https://github.com/scroll-tech/zkvm-prover", rev = "a71dd2b" } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "master", features = ["scroll", "rkyv"] } sbv-utils = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "master" } diff --git a/common/version/version.go b/common/version/version.go index eced6cff6c..daa35ec6de 100644 --- a/common/version/version.go +++ b/common/version/version.go @@ -5,7 +5,7 @@ import ( "runtime/debug" ) -var tag = "v4.5.49" +var tag = "v4.6.1" var commit = func() string { if info, ok := debug.ReadBuildInfo(); ok { diff --git a/coordinator/Makefile b/coordinator/Makefile index dce6556840..b0c419445f 100644 --- a/coordinator/Makefile +++ b/coordinator/Makefile @@ -35,8 +35,9 @@ coordinator_tool: go build -ldflags "-X scroll-tech/common/version.ZkVersion=${ZK_VERSION}" -o $(PWD)/build/bin/coordinator_tool ./cmd/tool localsetup: coordinator_api ## Local setup: build coordinator_api, copy config, and setup releases + mkdir -p build/bin/conf @echo "Copying configuration files..." - cp -r $(PWD)/conf $(PWD)/build/bin/ + cp -r $(PWD)/conf/config.json $(PWD)/build/bin/conf/config.template.json @echo "Setting up releases..." cd $(PWD)/build && bash setup_releases.sh diff --git a/coordinator/build/setup_releases.sh b/coordinator/build/setup_releases.sh index 256bdfa3cd..b170ec38e8 100644 --- a/coordinator/build/setup_releases.sh +++ b/coordinator/build/setup_releases.sh @@ -7,7 +7,7 @@ if [ -z "${SCROLL_ZKVM_VERSION}" ]; then fi # set ASSET_DIR by reading from config.json -CONFIG_FILE="bin/conf/config.json" +CONFIG_FILE="bin/conf/config.template.json" if [ ! -f "$CONFIG_FILE" ]; then echo "Config file $CONFIG_FILE not found" exit 1 @@ -53,6 +53,7 @@ for ((i=0; i<$VERIFIER_COUNT; i++)); do # assets for verifier-only mode echo "Downloading assets for $FORK_NAME to $ASSET_DIR..." wget https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/verifier/verifier.bin -O ${ASSET_DIR}/verifier.bin + wget https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/verifier/root_verifier_vk -O ${ASSET_DIR}/root_verifier_vk wget https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/$SCROLL_ZKVM_VERSION/verifier/openVmVk.json -O ${ASSET_DIR}/openVmVk.json echo "Completed downloading assets for $FORK_NAME" diff --git a/coordinator/conf/config.json b/coordinator/conf/config.json index 02acb2fa74..f1d5869093 100644 --- a/coordinator/conf/config.json +++ b/coordinator/conf/config.json @@ -22,7 +22,7 @@ }, "db": { "driver_name": "postgres", - "dsn": "postgres://localhost/scroll?sslmode=disable", + "dsn": "postgres://dev:dev@localhost/scroll?sslmode=disable", "maxOpenNum": 200, "maxIdleNum": 20 }, diff --git a/coordinator/internal/logic/libzkp/lib.go b/coordinator/internal/logic/libzkp/lib.go index 63bbd82a27..a38dff6f04 100644 --- a/coordinator/internal/logic/libzkp/lib.go +++ b/coordinator/internal/logic/libzkp/lib.go @@ -147,3 +147,20 @@ func SetDynamicFeature(feats string) { defer freeCString(cFeats) C.set_dynamic_feature(cFeats) } + +// UnivTaskCompatibilityFix calls the universal task compatibility fix function +func UniversalTaskCompatibilityFix(taskJSON string) (string, error) { + cTaskJSON := goToCString(taskJSON) + defer freeCString(cTaskJSON) + + resultPtr := C.univ_task_compatibility_fix(cTaskJSON) + if resultPtr == nil { + return "", fmt.Errorf("univ_task_compatibility_fix failed") + } + + // Convert result to Go string and free C memory + result := C.GoString(resultPtr) + C.release_string(resultPtr) + + return result, nil +} diff --git a/coordinator/internal/logic/libzkp/libzkp.h b/coordinator/internal/logic/libzkp/libzkp.h index 8e2f33d4f5..7cf2030118 100644 --- a/coordinator/internal/logic/libzkp/libzkp.h +++ b/coordinator/internal/logic/libzkp/libzkp.h @@ -56,5 +56,7 @@ void release_string(char* string_ptr); void set_dynamic_feature(const char* feats); +// Universal task compatibility fix function +char* univ_task_compatibility_fix(char* task_json); #endif /* LIBZKP_H */ diff --git a/coordinator/internal/logic/provertask/batch_prover_task.go b/coordinator/internal/logic/provertask/batch_prover_task.go index 82c4f3545c..ff1bc25920 100644 --- a/coordinator/internal/logic/provertask/batch_prover_task.go +++ b/coordinator/internal/logic/provertask/batch_prover_task.go @@ -213,6 +213,14 @@ func (bp *BatchProverTask) Assign(ctx *gin.Context, getTaskParameter *coordinato return nil, ErrCoordinatorInternalFailure } proverTask.Metadata = metadata + + if isCompatibilityFixingVersion(taskCtx.ProverVersion) { + log.Info("Apply compatibility fixing for prover", "version", taskCtx.ProverVersion) + if err := fixCompatibility(taskMsg); err != nil { + log.Error("apply compatibility failure", "err", err) + return nil, ErrCoordinatorInternalFailure + } + } } // Store session info. diff --git a/coordinator/internal/logic/provertask/bundle_prover_task.go b/coordinator/internal/logic/provertask/bundle_prover_task.go index 5e9dfe4056..1d8377f554 100644 --- a/coordinator/internal/logic/provertask/bundle_prover_task.go +++ b/coordinator/internal/logic/provertask/bundle_prover_task.go @@ -211,6 +211,14 @@ func (bp *BundleProverTask) Assign(ctx *gin.Context, getTaskParameter *coordinat // bundle proof require snark taskMsg.UseSnark = true proverTask.Metadata = metadata + + if isCompatibilityFixingVersion(taskCtx.ProverVersion) { + log.Info("Apply compatibility fixing for prover", "version", taskCtx.ProverVersion) + if err := fixCompatibility(taskMsg); err != nil { + log.Error("apply compatibility failure", "err", err) + return nil, ErrCoordinatorInternalFailure + } + } } // Store session info. diff --git a/coordinator/internal/logic/provertask/prover_task.go b/coordinator/internal/logic/provertask/prover_task.go index d1f2bd51d5..e894ea7d14 100644 --- a/coordinator/internal/logic/provertask/prover_task.go +++ b/coordinator/internal/logic/provertask/prover_task.go @@ -14,6 +14,7 @@ import ( "gorm.io/gorm" "scroll-tech/common/types/message" + "scroll-tech/common/version" "scroll-tech/coordinator/internal/config" "scroll-tech/coordinator/internal/logic/libzkp" @@ -201,6 +202,23 @@ func (b *BaseProverTask) applyUniversal(schema *coordinatorType.GetTaskSchema) ( return schema, []byte(metadata), nil } +const CompatibilityVersion = "4.5.43" + +func isCompatibilityFixingVersion(ver string) bool { + return !version.CheckScrollRepoVersion(ver, CompatibilityVersion) +} + +func fixCompatibility(schema *coordinatorType.GetTaskSchema) error { + + fixedTask, err := libzkp.UniversalTaskCompatibilityFix(schema.TaskData) + if err != nil { + return err + } + schema.TaskData = fixedTask + + return nil +} + func newGetTaskCounterVec(factory promauto.Factory, taskType string) *prometheus.CounterVec { getTaskCounterInitOnce.Do(func() { getTaskCounterVec = factory.NewCounterVec(prometheus.CounterOpts{ diff --git a/coordinator/test/api_test.go b/coordinator/test/api_test.go index 053f6b715e..5d119e49c0 100644 --- a/coordinator/test/api_test.go +++ b/coordinator/test/api_test.go @@ -132,7 +132,7 @@ func setupCoordinator(t *testing.T, proversPerSession uint8, coordinatorURL stri func setEnv(t *testing.T) { var err error - version.Version = "v4.4.89" + version.Version = "v4.5.45" glogger := log.NewGlogHandler(log.StreamHandler(os.Stderr, log.LogfmtFormat())) glogger.Verbosity(log.LvlInfo) diff --git a/crates/libzkp/src/lib.rs b/crates/libzkp/src/lib.rs index 45c771a9af..6907b16577 100644 --- a/crates/libzkp/src/lib.rs +++ b/crates/libzkp/src/lib.rs @@ -46,6 +46,47 @@ pub fn checkout_chunk_task( Ok(ret) } +/// Convert the universal task json into compatible form for old prover +pub fn univ_task_compatibility_fix(task_json: &str) -> eyre::Result { + use scroll_zkvm_types::proof::VmInternalStarkProof; + + let task: tasks::ProvingTask = serde_json::from_str(task_json)?; + let aggregated_proofs: Vec = task + .aggregated_proofs + .into_iter() + .map(|proof| VmInternalStarkProof { + proofs: proof.proofs, + public_values: proof.public_values, + }) + .collect(); + + #[derive(Serialize)] + struct CompatibleProvingTask { + /// seralized witness which should be written into stdin first + pub serialized_witness: Vec>, + /// aggregated proof carried by babybear fields, should be written into stdin + /// followed `serialized_witness` + pub aggregated_proofs: Vec, + /// Fork name specify + pub fork_name: String, + /// The vk of app which is expcted to prove this task + pub vk: Vec, + /// An identifier assigned by coordinator, it should be kept identify for the + /// same task (for example, using chunk, batch and bundle hashes) + pub identifier: String, + } + + let compatible_u_task = CompatibleProvingTask { + serialized_witness: task.serialized_witness, + aggregated_proofs, + fork_name: task.fork_name, + vk: task.vk, + identifier: task.identifier, + }; + + Ok(serde_json::to_string(&compatible_u_task)?) +} + /// Generate required staff for proving tasks /// return (pi_hash, metadata, task) pub fn gen_universal_task( diff --git a/crates/libzkp_c/src/lib.rs b/crates/libzkp_c/src/lib.rs index 4595a11ddf..99b5906cef 100644 --- a/crates/libzkp_c/src/lib.rs +++ b/crates/libzkp_c/src/lib.rs @@ -238,6 +238,19 @@ pub unsafe extern "C" fn gen_wrapped_proof( } } +/// # Safety +#[no_mangle] +pub unsafe extern "C" fn univ_task_compatibility_fix(task_json: *const c_char) -> *mut c_char { + let task_json_str = c_char_to_str(task_json); + match libzkp::univ_task_compatibility_fix(task_json_str) { + Ok(result) => CString::new(result).unwrap().into_raw(), + Err(e) => { + tracing::error!("univ_task_compability_fix failed, error: {:#}", e); + std::ptr::null_mut() + } + } +} + /// # Safety #[no_mangle] pub unsafe extern "C" fn release_string(ptr: *mut c_char) { diff --git a/tests/prover-e2e/Makefile b/tests/prover-e2e/Makefile index b5ffe4cdf3..f6a05a9013 100644 --- a/tests/prover-e2e/Makefile +++ b/tests/prover-e2e/Makefile @@ -1,7 +1,8 @@ .PHONY: clean setup_db test_tool all check_vars GOOSE_CMD?=goose - +BEGIN_BLOCK?=10973711 +END_BLOCK?=10973721 all: setup_db test_tool import_data diff --git a/tests/prover-e2e/prepare/dump_block_records.sql b/tests/prover-e2e/prepare/dump_block_records.sql index 40477e762a..91649904d9 100644 --- a/tests/prover-e2e/prepare/dump_block_records.sql +++ b/tests/prover-e2e/prepare/dump_block_records.sql @@ -1,7 +1,12 @@ -- Create a file with INSERT statements for the specific records -\o block_export.sql +\o 00100_import_blocks.sql \t on \a +-- Write header comment +SELECT '-- +goose Up'; +SELECT '-- +goose StatementBegin'; +SELECT ''; + SELECT 'INSERT INTO l2_block (number, hash, parent_hash, header, withdraw_root, state_root, tx_num, gas_used, block_timestamp, row_consumption, chunk_hash, transactions @@ -22,6 +27,15 @@ SELECT 'INSERT INTO l2_block (number, hash, parent_hash, header, withdraw_root, FROM l2_block WHERE number >= 10973700 and number <= 10973730 ORDER BY number ASC; + +-- Write footer +SELECT ''; +SELECT '-- +goose StatementEnd'; +SELECT '-- +goose Down'; +SELECT '-- +goose StatementBegin'; +SELECT 'DELETE FROM l2_block;'; +SELECT '-- +goose StatementEnd'; + \t off \a \o \ No newline at end of file