diff --git a/Cargo.lock b/Cargo.lock index 64096446..5f45f8c0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -92,9 +92,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6068f356948cd84b5ad9ac30c50478e433847f14a50714d2b68f15d052724049" +checksum = "bfaa9ea039a6f9304b4a593d780b1f23e1ae183acdee938b11b38795acacc9f1" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -105,17 +105,18 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90d103d3e440ad6f703dd71a5b58a6abd24834563bde8a5fabe706e00242f810" +checksum = "ad704069c12f68d0c742d0cad7e0a03882b42767350584627fbf8a47b1bf1846" dependencies = [ - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "alloy-trie 0.9.1", "alloy-tx-macros", "auto_impl", + "borsh", "c-kzg", "derive_more 2.0.1", "either", @@ -131,15 +132,15 @@ dependencies = [ [[package]] name = "alloy-consensus-any" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ead76c8c84ab3a50c31c56bc2c748c2d64357ad2131c32f9b10ab790a25e1a" +checksum = "bc374f640a5062224d7708402728e3d6879a514ba10f377da62e7dfb14c673e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "serde", ] @@ -205,17 +206,18 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bdbec74583d0067798d77afa43d58f00d93035335d7ceaa5d3f93857d461bb9" +checksum = "7e867b5fd52ed0372a95016f3a37cbff95a9d5409230fbaef2d8ea00e8618098" dependencies = [ "alloy-eip2124", "alloy-eip2930", "alloy-eip7702", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "auto_impl", + "borsh", "c-kzg", "derive_more 2.0.1", "either", @@ -229,12 +231,12 @@ dependencies = [ [[package]] name = "alloy-evm" -version = "0.21.3" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f1bfade4de9f464719b5aca30cf5bb02b9fda7036f0cf43addc3a0e66a0340c" +checksum = "08e9e656d58027542447c1ca5aa4ca96293f09e6920c4651953b7451a7c35e4e" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-hardforks", "alloy-primitives", "alloy-rpc-types-engine", @@ -242,32 +244,33 @@ dependencies = [ "alloy-sol-types", "auto_impl", "derive_more 2.0.1", - "op-alloy-consensus", + "op-alloy-consensus 0.22.1", "op-alloy-rpc-types-engine", "op-revm", - "revm 29.0.1", + "revm 30.1.1", "thiserror 2.0.17", ] [[package]] name = "alloy-genesis" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c25d5acb35706e683df1ea333c862bdb6b7c5548836607cd5bb56e501cca0b4f" +checksum = "b90be17e9760a6ba6d13cebdb049cea405ebc8bf57d90664ed708cc5bc348342" dependencies = [ - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "alloy-trie 0.9.1", + "borsh", "serde", "serde_with", ] [[package]] name = "alloy-hardforks" -version = "0.3.5" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "889eb3949b58368a09d4f16931c660275ef5fb08e5fbd4a96573b19c7085c41f" +checksum = "1e29d7eacf42f89c21d7f089916d0bdb4f36139a31698790e8837d2dbbd4b2c3" dependencies = [ "alloy-chains", "alloy-eip2124", @@ -291,9 +294,9 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b67c5a702121e618217f7a86f314918acb2622276d0273490e2d4534490bc0" +checksum = "dcab4c51fb1273e3b0f59078e0cdf8aa99f697925b09f0d2055c18be46b4d48c" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -306,19 +309,19 @@ dependencies = [ [[package]] name = "alloy-network" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "612296e6b723470bb1101420a73c63dfd535aa9bf738ce09951aedbd4ab7292e" +checksum = "196d7fd3f5d414f7bbd5886a628b7c42bd98d1b126f9a7cff69dbfd72007b39c" dependencies = [ "alloy-consensus", "alloy-consensus-any", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-json-rpc", "alloy-network-primitives", "alloy-primitives", "alloy-rpc-types-any", "alloy-rpc-types-eth", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "alloy-signer", "alloy-sol-types", "async-trait", @@ -332,14 +335,14 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0e7918396eecd69d9c907046ec8a93fb09b89e2f325d5e7ea9c4e3929aa0dd2" +checksum = "0d3ae2777e900a7a47ad9e3b8ab58eff3d93628265e73bbdee09acf90bf68f75" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "serde", ] @@ -373,13 +376,13 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55c1313a527a2e464d067c031f3c2ec073754ef615cc0eabca702fd0fe35729c" +checksum = "9f9bf40c9b2a90c7677f9c39bccd9f06af457f35362439c0497a706f16557703" dependencies = [ "alloy-chains", "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-json-rpc", "alloy-network", "alloy-network-primitives", @@ -434,9 +437,9 @@ dependencies = [ [[package]] name = "alloy-rpc-client" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45f802228273056528dfd6cc8845cc91a7c7e0c6fc1a66d19e8673743dacdc7e" +checksum = "e7c2630fde9ff6033a780635e1af6ef40e92d74a9cacb8af3defc1b15cfebca5" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -457,20 +460,20 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbf6d1766ca41e90ac21c4bc5cbc5e9e965978a25873c3f90b3992d905db4cb" +checksum = "50b8429b5b62d21bf3691eb1ae12aaae9bb496894d5a114e3cc73e27e6800ec8" dependencies = [ "alloy-consensus-any", "alloy-rpc-types-eth", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", ] [[package]] name = "alloy-rpc-types-debug" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977698b458738369ba5ca645d2cdb4d51ba07a81db37306ff85322853161ea3a" +checksum = "01731601ea631bd825c652a225701ab466c09457f446b8d8129368a095389c5d" dependencies = [ "alloy-primitives", "derive_more 2.0.1", @@ -480,15 +483,15 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07da696cc7fbfead4b1dda8afe408685cae80975cbb024f843ba74d9639cd0d3" +checksum = "9981491bb98e76099983f516ec7de550db0597031f5828c994961eb4bb993cce" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "derive_more 2.0.1", "ethereum_ssz", "ethereum_ssz_derive", @@ -498,17 +501,17 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15e4831b71eea9d20126a411c1c09facf1d01d5cac84fd51d532d3c429cfc26" +checksum = "29031a6bf46177d65efce661f7ab37829ca09dd341bc40afb5194e97600655cc" dependencies = [ "alloy-consensus", "alloy-consensus-any", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-network-primitives", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "alloy-sol-types", "itertools 0.14.0", "serde", @@ -530,9 +533,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "751d1887f7d202514a82c5b3caf28ee8bd4a2ad9549e4f498b6f0bff99b52add" +checksum = "01e856112bfa0d9adc85bd7c13db03fad0e71d1d6fb4c2010e475b6718108236" dependencies = [ "alloy-primitives", "serde", @@ -541,9 +544,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf0b42ffbf558badfecf1dde0c3c5ed91f29bb7e97876d0bed008c3d5d67171" +checksum = "66a4f629da632d5279bbc5731634f0f5c9484ad9c4cad0cd974d9669dc1f46d6" dependencies = [ "alloy-primitives", "async-trait", @@ -626,9 +629,9 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71b3deee699d6f271eab587624a9fa84d02d0755db7a95a043d52a6488d16ebe" +checksum = "fe215a2f9b51d5f1aa5c8cf22c8be8cdb354934de09c9a4e37aefb79b77552fd" dependencies = [ "alloy-json-rpc", "auto_impl", @@ -650,9 +653,9 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1720bd2ba8fe7e65138aca43bb0f680e4e0bcbd3ca39bf9d3035c9d7d2757f24" +checksum = "dc1b37b1a30d23deb3a8746e882c70b384c574d355bc2bbea9ea918b0c31366e" dependencies = [ "alloy-json-rpc", "alloy-transport", @@ -697,9 +700,9 @@ dependencies = [ [[package]] name = "alloy-tx-macros" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7ce8ed34106acd6e21942022b6a15be6454c2c3ead4d76811d3bdcd63cf771" +checksum = "7ccf423f6de62e8ce1d6c7a11fb7508ae3536d02e0d68aaeb05c8669337d0937" dependencies = [ "darling 0.21.3", "proc-macro2", @@ -757,22 +760,22 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.10" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -1165,7 +1168,7 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "axiom-sdk" version = "1.0.6" -source = "git+https://github.com/axiom-crypto/axiom-api-cli.git?branch=feat%2Fupload-exe-raw#a46052807157079760311b199ee9940c71cba0d9" +source = "git+https://github.com/axiom-crypto/axiom-api-cli.git?rev=a460528#a46052807157079760311b199ee9940c71cba0d9" dependencies = [ "bytes", "cargo_metadata 0.21.0", @@ -1520,9 +1523,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" dependencies = [ "serde", ] @@ -1645,9 +1648,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.45" +version = "1.2.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35900b6c8d709fb1d854671ae27aeaa9eec2f8b01b364e1619a40da3e6fe2afe" +checksum = "b97463e1064cb1b1c1384ad0a0b9c8abd0988e2a91f52606c80ef14aadb63e36" dependencies = [ "find-msvc-tools", "jobserver", @@ -2465,7 +2468,7 @@ checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encoder-standard" version = "0.1.0" -source = "git+https://github.com/scroll-tech/da-codec.git#b4cce5c5d17845fc6f4f6ec422d559470a09dca9" +source = "git+https://github.com/scroll-tech/da-codec.git#7a92e859b55094ba5b5c7d556c49c4dbd3f47ddb" dependencies = [ "zstd", ] @@ -2709,9 +2712,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" +checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" [[package]] name = "fixed-hash" @@ -3184,9 +3187,9 @@ dependencies = [ [[package]] name = "halo2curves-axiom" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8309e4638b4f1bcf6613d72265a84074d26034c35edc5d605b5688e580b8b8" +checksum = "b0cd39c0df23c8b72cb7158ccb106341b078d5019b5478b3bfdaf14e898177d3" dependencies = [ "blake2b_simd", "digest 0.10.7", @@ -3371,9 +3374,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ "atomic-waker", "bytes", @@ -3425,9 +3428,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" +checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56" dependencies = [ "base64", "bytes", @@ -3461,7 +3464,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.62.2", + "windows-core", ] [[package]] @@ -4463,43 +4466,57 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a501241474c3118833d6195312ae7eb7cc90bbb0d5f524cbb0b06619e49ff67" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "derive_more 2.0.1", "serde", "serde_with", "thiserror 2.0.17", ] +[[package]] +name = "op-alloy-consensus" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0d7ec388eb83a3e6c71774131dbbb2ba9c199b6acac7dce172ed8de2f819e91" +dependencies = [ + "alloy-consensus", + "alloy-eips 1.1.1", + "alloy-primitives", + "alloy-rlp", + "derive_more 2.0.1", + "thiserror 2.0.17", +] + [[package]] name = "op-alloy-rpc-types-engine" -version = "0.20.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e50c94013a1d036a529df259151991dbbd6cf8dc215e3b68b784f95eec60e6" +checksum = "c1abe694cd6718b8932da3f824f46778be0f43289e4103c88abc505c63533a04" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-engine", "derive_more 2.0.1", "ethereum_ssz", "ethereum_ssz_derive", - "op-alloy-consensus", + "op-alloy-consensus 0.22.1", "snap", "thiserror 2.0.17", ] [[package]] name = "op-revm" -version = "10.1.1" +version = "11.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826f43a5b1613c224f561847c152bfbaefcb593a9ae2c612ff4dc4661c6e625f" +checksum = "3f68e30e34902f61fc053ea3094229d0bf7c78ed1d24e6d0d89306c2d2db1687" dependencies = [ "auto_impl", - "revm 29.0.1", + "revm 30.2.0", "serde", ] @@ -6115,8 +6132,19 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ - "phf_macros", - "phf_shared", + "phf_macros 0.11.3", + "phf_shared 0.11.3", + "serde", +] + +[[package]] +name = "phf" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" +dependencies = [ + "phf_macros 0.13.1", + "phf_shared 0.13.1", "serde", ] @@ -6126,18 +6154,41 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ - "phf_shared", + "phf_shared 0.11.3", "rand 0.8.5", ] +[[package]] +name = "phf_generator" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" +dependencies = [ + "fastrand", + "phf_shared 0.13.1", +] + [[package]] name = "phf_macros" version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ - "phf_generator", - "phf_shared", + "phf_generator 0.11.3", + "phf_shared 0.11.3", + "proc-macro2", + "quote", + "syn 2.0.110", +] + +[[package]] +name = "phf_macros" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" +dependencies = [ + "phf_generator 0.13.1", + "phf_shared 0.13.1", "proc-macro2", "quote", "syn 2.0.110", @@ -6152,6 +6203,15 @@ dependencies = [ "siphasher", ] +[[package]] +name = "phf_shared" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project" version = "1.1.10" @@ -6678,11 +6738,11 @@ dependencies = [ [[package]] name = "reth-chainspec" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-chains", "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-evm", "alloy-genesis", "alloy-primitives", @@ -6698,16 +6758,16 @@ dependencies = [ [[package]] name = "reth-codecs" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-genesis", "alloy-primitives", "alloy-trie 0.9.1", "bytes", "modular-bitfield", - "op-alloy-consensus", + "op-alloy-consensus 0.20.0", "reth-codecs-derive", "reth-zstd-compressors", "serde", @@ -6716,7 +6776,7 @@ dependencies = [ [[package]] name = "reth-codecs-derive" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "proc-macro2", "quote", @@ -6726,7 +6786,7 @@ dependencies = [ [[package]] name = "reth-consensus" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -6739,10 +6799,10 @@ dependencies = [ [[package]] name = "reth-consensus-common" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "reth-chainspec", "reth-consensus", "reth-primitives-traits", @@ -6751,9 +6811,9 @@ dependencies = [ [[package]] name = "reth-db-models" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "reth-primitives-traits", ] @@ -6761,7 +6821,7 @@ dependencies = [ [[package]] name = "reth-errors" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -6772,10 +6832,10 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "reth-chainspec", "reth-consensus", @@ -6788,7 +6848,7 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -6800,14 +6860,14 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-eth", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "reth-codecs", "reth-primitives-traits", "serde", @@ -6817,10 +6877,10 @@ dependencies = [ [[package]] name = "reth-evm" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-evm", "alloy-primitives", "auto_impl", @@ -6832,17 +6892,17 @@ dependencies = [ "reth-storage-api", "reth-storage-errors", "reth-trie-common", - "revm 29.0.1", + "revm 30.1.1", "scroll-alloy-evm", ] [[package]] name = "reth-evm-ethereum" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-evm", "alloy-primitives", "alloy-rpc-types-engine", @@ -6853,13 +6913,13 @@ dependencies = [ "reth-execution-types", "reth-primitives-traits", "reth-storage-errors", - "revm 29.0.1", + "revm 30.1.1", ] [[package]] name = "reth-execution-errors" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-evm", "alloy-primitives", @@ -6872,23 +6932,23 @@ dependencies = [ [[package]] name = "reth-execution-types" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-evm", "alloy-primitives", "derive_more 2.0.1", "reth-ethereum-primitives", "reth-primitives-traits", "reth-trie-common", - "revm 29.0.1", + "revm 30.1.1", ] [[package]] name = "reth-network-peers" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -6900,7 +6960,7 @@ dependencies = [ [[package]] name = "reth-primitives" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", "once_cell", @@ -6913,10 +6973,10 @@ dependencies = [ [[package]] name = "reth-primitives-traits" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-genesis", "alloy-primitives", "alloy-rlp", @@ -6926,11 +6986,11 @@ dependencies = [ "bytes", "derive_more 2.0.1", "once_cell", - "op-alloy-consensus", + "op-alloy-consensus 0.20.0", "reth-codecs", - "revm-bytecode 6.2.2", - "revm-primitives 20.2.1", - "revm-state 7.0.5", + "revm-bytecode 7.0.1", + "revm-primitives 21.0.1", + "revm-state 8.0.1", "scroll-alloy-consensus", "secp256k1 0.30.0", "serde", @@ -6941,7 +7001,7 @@ dependencies = [ [[package]] name = "reth-prune-types" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-primitives", "derive_more 2.0.1", @@ -6951,26 +7011,26 @@ dependencies = [ [[package]] name = "reth-revm" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-primitives", "reth-primitives-traits", "reth-storage-api", "reth-storage-errors", - "revm 29.0.1", + "revm 30.1.1", ] [[package]] name = "reth-scroll-chainspec" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-chains", "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-genesis", "alloy-primitives", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "auto_impl", "derive_more 2.0.1", "once_cell", @@ -6988,10 +7048,10 @@ dependencies = [ [[package]] name = "reth-scroll-evm" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-evm", "alloy-primitives", "alloy-rpc-types-engine", @@ -7005,8 +7065,8 @@ dependencies = [ "reth-scroll-forks", "reth-scroll-primitives", "reth-storage-api", - "revm 29.0.1", - "revm-primitives 20.2.1", + "revm 30.1.1", + "revm-primitives 21.0.1", "revm-scroll", "scroll-alloy-consensus", "scroll-alloy-evm", @@ -7018,7 +7078,7 @@ dependencies = [ [[package]] name = "reth-scroll-forks" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-chains", "alloy-primitives", @@ -7032,10 +7092,10 @@ dependencies = [ [[package]] name = "reth-scroll-primitives" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "alloy-rlp", "bytes", @@ -7049,7 +7109,7 @@ dependencies = [ [[package]] name = "reth-stages-types" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-primitives", "reth-trie-common", @@ -7058,7 +7118,7 @@ dependencies = [ [[package]] name = "reth-stateless" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7084,7 +7144,7 @@ dependencies = [ [[package]] name = "reth-static-file-types" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-primitives", "derive_more 2.0.1", @@ -7095,10 +7155,10 @@ dependencies = [ [[package]] name = "reth-storage-api" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "alloy-rpc-types-engine", "auto_impl", @@ -7111,32 +7171,32 @@ dependencies = [ "reth-stages-types", "reth-storage-errors", "reth-trie-common", - "revm-database 7.0.5", + "revm-database 9.0.1", ] [[package]] name = "reth-storage-errors" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "alloy-rlp", "derive_more 2.0.1", "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", - "revm-database-interface 7.0.5", + "revm-database-interface 8.0.2", "thiserror 2.0.17", ] [[package]] name = "reth-trie" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "alloy-rlp", "alloy-trie 0.9.1", @@ -7148,14 +7208,14 @@ dependencies = [ "reth-storage-errors", "reth-trie-common", "reth-trie-sparse", - "revm-database 7.0.5", + "revm-database 9.0.1", "tracing", ] [[package]] name = "reth-trie-common" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7165,13 +7225,13 @@ dependencies = [ "itertools 0.14.0", "nybbles 0.4.6", "reth-primitives-traits", - "revm-database 7.0.5", + "revm-database 9.0.1", ] [[package]] name = "reth-trie-sparse" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7187,7 +7247,7 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "zstd", ] @@ -7214,7 +7274,8 @@ dependencies = [ [[package]] name = "revm" version = "29.0.1" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718d90dce5f07e115d0e66450b1b8aa29694c1cf3f89ebddaddccc2ccbd2f13e" dependencies = [ "revm-bytecode 6.2.2", "revm-context 9.1.0", @@ -7229,6 +7290,43 @@ dependencies = [ "revm-state 7.0.5", ] +[[package]] +name = "revm" +version = "30.1.1" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "revm-bytecode 7.0.1", + "revm-context 10.1.1", + "revm-context-interface 11.1.1", + "revm-database 9.0.1", + "revm-database-interface 8.0.2", + "revm-handler 11.1.1", + "revm-inspector 11.1.1", + "revm-interpreter 27.0.1", + "revm-precompile 28.1.1", + "revm-primitives 21.0.1", + "revm-state 8.0.1", +] + +[[package]] +name = "revm" +version = "30.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76df793c6ef3bef8f88f05b3873ebebce1494385a3ce8f58ad2e2e111aa0de11" +dependencies = [ + "revm-bytecode 7.1.1", + "revm-context 10.1.2", + "revm-context-interface 11.1.2", + "revm-database 9.0.6", + "revm-database-interface 8.0.5", + "revm-handler 11.2.0", + "revm-inspector 11.2.0", + "revm-interpreter 28.0.0", + "revm-precompile 28.1.1", + "revm-primitives 21.0.2", + "revm-state 8.1.1", +] + [[package]] name = "revm-bytecode" version = "3.0.0" @@ -7236,7 +7334,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e63e138d520c5c5bc25ecc82506e9e4e6e85a811809fc5251c594378dccabfc6" dependencies = [ "bitvec", - "phf", + "phf 0.11.3", "revm-primitives 18.0.0", "serde", ] @@ -7244,14 +7342,38 @@ dependencies = [ [[package]] name = "revm-bytecode" version = "6.2.2" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66c52031b73cae95d84cd1b07725808b5fd1500da3e5e24574a3b2dc13d9f16d" dependencies = [ "bitvec", - "phf", + "phf 0.11.3", "revm-primitives 20.2.1", "serde", ] +[[package]] +name = "revm-bytecode" +version = "7.0.1" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "bitvec", + "phf 0.13.1", + "revm-primitives 21.0.1", + "serde", +] + +[[package]] +name = "revm-bytecode" +version = "7.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2c6b5e6e8dd1e28a4a60e5f46615d4ef0809111c9e63208e55b5c7058200fb0" +dependencies = [ + "bitvec", + "phf 0.13.1", + "revm-primitives 21.0.2", + "serde", +] + [[package]] name = "revm-context" version = "3.0.1" @@ -7271,7 +7393,8 @@ dependencies = [ [[package]] name = "revm-context" version = "9.1.0" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a20c98e7008591a6f012550c2a00aa36cba8c14cc88eb88dec32eb9102554b4" dependencies = [ "bitvec", "cfg-if", @@ -7284,6 +7407,39 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-context" +version = "10.1.1" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "bitvec", + "cfg-if", + "derive-where", + "revm-bytecode 7.0.1", + "revm-context-interface 11.1.1", + "revm-database-interface 8.0.2", + "revm-primitives 21.0.1", + "revm-state 8.0.1", + "serde", +] + +[[package]] +name = "revm-context" +version = "10.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7adcce0c14cf59b7128de34185a0fbf8f63309539b9263b35ead870d73584114" +dependencies = [ + "bitvec", + "cfg-if", + "derive-where", + "revm-bytecode 7.1.1", + "revm-context-interface 11.1.2", + "revm-database-interface 8.0.5", + "revm-primitives 21.0.2", + "revm-state 8.1.1", + "serde", +] + [[package]] name = "revm-context-interface" version = "3.0.0" @@ -7302,7 +7458,8 @@ dependencies = [ [[package]] name = "revm-context-interface" version = "10.2.0" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b50d241ed1ce647b94caf174fcd0239b7651318b2c4c06b825b59b973dfb8495" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -7314,6 +7471,37 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-context-interface" +version = "11.1.1" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702", + "auto_impl", + "either", + "revm-database-interface 8.0.2", + "revm-primitives 21.0.1", + "revm-state 8.0.1", + "serde", +] + +[[package]] +name = "revm-context-interface" +version = "11.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d620a9725e443c171fb195a074331fa4a745fa5cbb0018b4bbf42619e64b563" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702", + "auto_impl", + "either", + "revm-database-interface 8.0.5", + "revm-primitives 21.0.2", + "revm-state 8.1.1", + "serde", +] + [[package]] name = "revm-database" version = "3.0.0" @@ -7331,9 +7519,10 @@ dependencies = [ [[package]] name = "revm-database" version = "7.0.5" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39a276ed142b4718dcf64bc9624f474373ed82ef20611025045c3fb23edbef9c" dependencies = [ - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "revm-bytecode 6.2.2", "revm-database-interface 7.0.5", "revm-primitives 20.2.1", @@ -7341,6 +7530,33 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-database" +version = "9.0.1" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "alloy-eips 1.1.1", + "revm-bytecode 7.0.1", + "revm-database-interface 8.0.2", + "revm-primitives 21.0.1", + "revm-state 8.0.1", + "serde", +] + +[[package]] +name = "revm-database" +version = "9.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "980d8d6bba78c5dd35b83abbb6585b0b902eb25ea4448ed7bfba6283b0337191" +dependencies = [ + "alloy-eips 1.1.1", + "revm-bytecode 7.1.1", + "revm-database-interface 8.0.5", + "revm-primitives 21.0.2", + "revm-state 8.1.1", + "serde", +] + [[package]] name = "revm-database-interface" version = "3.0.0" @@ -7356,7 +7572,8 @@ dependencies = [ [[package]] name = "revm-database-interface" version = "7.0.5" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c523c77e74eeedbac5d6f7c092e3851dbe9c7fec6f418b85992bd79229db361" dependencies = [ "auto_impl", "either", @@ -7365,6 +7582,31 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-database-interface" +version = "8.0.2" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "auto_impl", + "either", + "revm-primitives 21.0.1", + "revm-state 8.0.1", + "serde", +] + +[[package]] +name = "revm-database-interface" +version = "8.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cce03e3780287b07abe58faf4a7f5d8be7e81321f93ccf3343c8f7755602bae" +dependencies = [ + "auto_impl", + "either", + "revm-primitives 21.0.2", + "revm-state 8.1.1", + "serde", +] + [[package]] name = "revm-handler" version = "3.0.1" @@ -7386,7 +7628,8 @@ dependencies = [ [[package]] name = "revm-handler" version = "10.0.1" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "550331ea85c1d257686e672081576172fe3d5a10526248b663bbf54f1bef226a" dependencies = [ "auto_impl", "derive-where", @@ -7401,6 +7644,43 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-handler" +version = "11.1.1" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "auto_impl", + "derive-where", + "revm-bytecode 7.0.1", + "revm-context 10.1.1", + "revm-context-interface 11.1.1", + "revm-database-interface 8.0.2", + "revm-interpreter 27.0.1", + "revm-precompile 28.1.1", + "revm-primitives 21.0.1", + "revm-state 8.0.1", + "serde", +] + +[[package]] +name = "revm-handler" +version = "11.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1d8049b2fbff6636150f4740c95369aa174e41b0383034e0e256cfdffcfcd23" +dependencies = [ + "auto_impl", + "derive-where", + "revm-bytecode 7.1.1", + "revm-context 10.1.2", + "revm-context-interface 11.1.2", + "revm-database-interface 8.0.5", + "revm-interpreter 28.0.0", + "revm-precompile 28.1.1", + "revm-primitives 21.0.2", + "revm-state 8.1.1", + "serde", +] + [[package]] name = "revm-inspector" version = "3.0.1" @@ -7421,7 +7701,8 @@ dependencies = [ [[package]] name = "revm-inspector" version = "10.0.1" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c0a6e9ccc2ae006f5bed8bd80cd6f8d3832cd55c5e861b9402fdd556098512f" dependencies = [ "auto_impl", "either", @@ -7435,6 +7716,41 @@ dependencies = [ "serde_json", ] +[[package]] +name = "revm-inspector" +version = "11.1.1" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "auto_impl", + "either", + "revm-context 10.1.1", + "revm-database-interface 8.0.2", + "revm-handler 11.1.1", + "revm-interpreter 27.0.1", + "revm-primitives 21.0.1", + "revm-state 8.0.1", + "serde", + "serde_json", +] + +[[package]] +name = "revm-inspector" +version = "11.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2a21dd773b654ec7e080025eecef4ac84c711150d1bd36acadf0546f471329a" +dependencies = [ + "auto_impl", + "either", + "revm-context 10.1.2", + "revm-database-interface 8.0.5", + "revm-handler 11.2.0", + "revm-interpreter 28.0.0", + "revm-primitives 21.0.2", + "revm-state 8.1.1", + "serde", + "serde_json", +] + [[package]] name = "revm-interpreter" version = "18.0.0" @@ -7450,7 +7766,8 @@ dependencies = [ [[package]] name = "revm-interpreter" version = "25.0.3" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06575dc51b1d8f5091daa12a435733a90b4a132dca7ccee0666c7db3851bc30c" dependencies = [ "revm-bytecode 6.2.2", "revm-context-interface 10.2.0", @@ -7458,6 +7775,31 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-interpreter" +version = "27.0.1" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "revm-bytecode 7.0.1", + "revm-context-interface 11.1.1", + "revm-primitives 21.0.1", + "revm-state 8.0.1", + "serde", +] + +[[package]] +name = "revm-interpreter" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1de5c790122f8ded67992312af8acd41ccfcee629b25b819e10c5b1f69caf57" +dependencies = [ + "revm-bytecode 7.1.1", + "revm-context-interface 11.1.2", + "revm-primitives 21.0.2", + "revm-state 8.1.1", + "serde", +] + [[package]] name = "revm-precompile" version = "19.0.0" @@ -7486,7 +7828,8 @@ dependencies = [ [[package]] name = "revm-precompile" version = "27.0.0" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25b57d4bd9e6b5fe469da5452a8a137bc2d030a3cd47c46908efc615bbc699da" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -7508,6 +7851,29 @@ dependencies = [ "sha2 0.10.9", ] +[[package]] +name = "revm-precompile" +version = "28.1.1" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "ark-bls12-381", + "ark-bn254", + "ark-ec", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "arrayref", + "aurora-engine-modexp", + "c-kzg", + "cfg-if", + "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", + "p256 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-primitives 21.0.1", + "ripemd", + "rug", + "secp256k1 0.31.1", + "sha2 0.10.9", +] + [[package]] name = "revm-primitives" version = "18.0.0" @@ -7522,7 +7888,31 @@ dependencies = [ [[package]] name = "revm-primitives" version = "20.2.1" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa29d9da06fe03b249b6419b33968ecdf92ad6428e2f012dc57bcd619b5d94e" +dependencies = [ + "alloy-primitives", + "num_enum", + "once_cell", + "serde", +] + +[[package]] +name = "revm-primitives" +version = "21.0.1" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "alloy-primitives", + "num_enum", + "once_cell", + "serde", +] + +[[package]] +name = "revm-primitives" +version = "21.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29e161db429d465c09ba9cbff0df49e31049fe6b549e28eb0b7bd642fcbd4412" dependencies = [ "alloy-primitives", "num_enum", @@ -7533,14 +7923,14 @@ dependencies = [ [[package]] name = "revm-scroll" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-revm#f5ae93d909f185461af8d0263b2549081e9781c8" +source = "git+https://github.com/scroll-tech/scroll-revm?tag=scroll-v91#a1ac004adf0019d9926defc4e31e6a76a7e558f7" dependencies = [ "auto_impl", "enumn", "once_cell", - "revm 29.0.1", - "revm-inspector 10.0.1", - "revm-primitives 20.2.1", + "revm 30.1.1", + "revm-inspector 11.1.1", + "revm-primitives 21.0.1", "serde", ] @@ -7559,7 +7949,8 @@ dependencies = [ [[package]] name = "revm-state" version = "7.0.5" -source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f64fbacb86008394aaebd3454f9643b7d5a782bd251135e17c5b33da592d84d" dependencies = [ "bitflags", "revm-bytecode 6.2.2", @@ -7567,6 +7958,29 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-state" +version = "8.0.1" +source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" +dependencies = [ + "bitflags", + "revm-bytecode 7.0.1", + "revm-primitives 21.0.1", + "serde", +] + +[[package]] +name = "revm-state" +version = "8.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8be953b7e374dbdea0773cf360debed8df394ea8d82a8b240a6b5da37592fc" +dependencies = [ + "bitflags", + "revm-bytecode 7.1.1", + "revm-primitives 21.0.2", + "serde", +] + [[package]] name = "rfc6979" version = "0.4.0" @@ -7603,7 +8017,7 @@ dependencies = [ [[package]] name = "risc0-ethereum-trie" version = "0.1.0" -source = "git+https://github.com/risc0/risc0-ethereum#d04a053901c9cb4e0f6cc599d5b4f21dccdbb3f8" +source = "git+https://github.com/risc0/risc0-ethereum#c1ddb41a44dc0730da883bbfa9fbe75ad335df1b" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7836,7 +8250,7 @@ dependencies = [ [[package]] name = "sbv-core" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#40aed436537900b49338b37325c4444e3b408ad8" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?tag=scroll-v91#dd7f8dad597344e472d239dc135ee952efd185f5" dependencies = [ "auto_impl", "itertools 0.14.0", @@ -7853,7 +8267,7 @@ dependencies = [ [[package]] name = "sbv-helpers" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#40aed436537900b49338b37325c4444e3b408ad8" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?tag=scroll-v91#dd7f8dad597344e472d239dc135ee952efd185f5" dependencies = [ "tracing", ] @@ -7861,16 +8275,16 @@ dependencies = [ [[package]] name = "sbv-primitives" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#40aed436537900b49338b37325c4444e3b408ad8" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?tag=scroll-v91#dd7f8dad597344e472d239dc135ee952efd185f5" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-evm", "alloy-network", "alloy-primitives", "alloy-rpc-types-debug", "alloy-rpc-types-eth", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "auto_impl", "itertools 0.14.0", "reth-chainspec", @@ -7884,7 +8298,7 @@ dependencies = [ "reth-scroll-evm", "reth-scroll-forks", "reth-scroll-primitives", - "revm 29.0.1", + "revm 30.1.1", "revm-scroll", "rkyv", "sbv-helpers", @@ -7898,24 +8312,20 @@ dependencies = [ [[package]] name = "sbv-trie" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#40aed436537900b49338b37325c4444e3b408ad8" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?tag=scroll-v91#dd7f8dad597344e472d239dc135ee952efd185f5" dependencies = [ "alloy-rlp", "alloy-trie 0.9.1", "reth-stateless", "reth-trie", "risc0-ethereum-trie", - "rlp", - "sbv-helpers", "sbv-primitives", - "serde", - "thiserror 2.0.17", ] [[package]] name = "sbv-utils" version = "2.0.0" -source = "git+https://github.com/scroll-tech/stateless-block-verifier?branch=master#40aed436537900b49338b37325c4444e3b408ad8" +source = "git+https://github.com/scroll-tech/stateless-block-verifier?tag=scroll-v91#dd7f8dad597344e472d239dc135ee952efd185f5" dependencies = [ "alloy-provider", "alloy-rpc-client", @@ -7970,13 +8380,13 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scroll-alloy-consensus" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "derive_more 2.0.1", "reth-codecs", "serde", @@ -7986,15 +8396,15 @@ dependencies = [ [[package]] name = "scroll-alloy-evm" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-evm", "alloy-primitives", "auto_impl", "encoder-standard", - "revm 29.0.1", + "revm 30.1.1", "revm-scroll", "scroll-alloy-consensus", "scroll-alloy-hardforks", @@ -8004,7 +8414,7 @@ dependencies = [ [[package]] name = "scroll-alloy-hardforks" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-hardforks", "auto_impl", @@ -8014,7 +8424,7 @@ dependencies = [ [[package]] name = "scroll-alloy-network" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", "alloy-network", @@ -8029,14 +8439,14 @@ dependencies = [ [[package]] name = "scroll-alloy-rpc-types" version = "1.8.2" -source = "git+https://github.com/scroll-tech/reth?branch=scroll#0e4001e46de6de73f1ebd479a228f9159f8f3721" +source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91#857624cf982bc814b0da14f3923ccc1ba5cc7dc7" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.0", + "alloy-eips 1.1.1", "alloy-network-primitives", "alloy-primitives", "alloy-rpc-types-eth", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "derive_more 2.0.1", "scroll-alloy-consensus", "serde", @@ -8061,7 +8471,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-build-guest" -version = "0.6.0" +version = "0.7.0" dependencies = [ "cargo_metadata 0.23.1", "clap", @@ -8116,7 +8526,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-integration" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-primitives", "alloy-provider", @@ -8164,7 +8574,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-prover" -version = "0.6.0" +version = "0.7.0" dependencies = [ "base64", "bincode 1.3.3", @@ -8190,7 +8600,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-primitives", "base64", @@ -8213,10 +8623,10 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-base" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-primitives", - "alloy-serde 1.1.0", + "alloy-serde 1.1.1", "rkyv", "serde", "sha2 0.10.9", @@ -8225,7 +8635,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-batch" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-primitives", "c-kzg", @@ -8246,7 +8656,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-bundle" -version = "0.6.0" +version = "0.7.0" dependencies = [ "rkyv", "scroll-zkvm-types-base", @@ -8255,7 +8665,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-chunk" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8280,7 +8690,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-circuit" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-primitives", "itertools 0.14.0", @@ -8292,7 +8702,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-upload-axiom" -version = "0.6.0" +version = "0.7.0" dependencies = [ "axiom-sdk", "cargo_metadata 0.23.1", @@ -8311,7 +8721,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" -version = "0.6.0" +version = "0.7.0" dependencies = [ "bincode 1.3.3", "eyre", @@ -8552,9 +8962,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.15.1" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa66c845eee442168b2c8134fec70ac50dc20e760769c8ba0ad1319ca1959b04" +checksum = "10574371d41b0d9b2cff89418eda27da52bcaff2cc8741db26382a77c29131f1" dependencies = [ "base64", "chrono", @@ -8571,9 +8981,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.15.1" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91a903660542fced4e99881aa481bdbaec1634568ee02e0b8bd57c64cb38955" +checksum = "08a72d8216842fdd57820dc78d840bef99248e35fb2554ff923319e60f2d686b" dependencies = [ "darling 0.21.3", "proc-macro2", @@ -9692,7 +10102,7 @@ checksum = "051eb1abcf10076295e815102942cc58f9d5e3b4560e46e53c21e8ff6f3af7b1" [[package]] name = "vm-zstd" version = "0.1.1" -source = "git+https://github.com/scroll-tech/rust-zstd-decompressor.git?branch=master#b0273278316245fef733df54cc29ee3baa3d7382" +source = "git+https://github.com/scroll-tech/rust-zstd-decompressor.git?rev=b027327#b0273278316245fef733df54cc29ee3baa3d7382" dependencies = [ "anyhow", "bitstream-io", @@ -9876,7 +10286,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" dependencies = [ "windows-collections", - "windows-core 0.61.2", + "windows-core", "windows-future", "windows-link 0.1.3", "windows-numerics", @@ -9888,7 +10298,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" dependencies = [ - "windows-core 0.61.2", + "windows-core", ] [[package]] @@ -9904,26 +10314,13 @@ dependencies = [ "windows-strings 0.4.2", ] -[[package]] -name = "windows-core" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", -] - [[package]] name = "windows-future" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ - "windows-core 0.61.2", + "windows-core", "windows-link 0.1.3", "windows-threading", ] @@ -9968,19 +10365,19 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" dependencies = [ - "windows-core 0.61.2", + "windows-core", "windows-link 0.1.3", ] [[package]] name = "windows-registry" -version = "0.5.3" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ - "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", ] [[package]] @@ -10393,8 +10790,3 @@ dependencies = [ "cc", "pkg-config", ] - -[[patch.unused]] -name = "alloy-primitives" -version = "1.3.1" -source = "git+https://github.com/scroll-tech/alloy-core?branch=feat%2Frkyv#d748da779d515c0a8344c15e811482e254ba897f" diff --git a/Cargo.toml b/Cargo.toml index 6a7b389e..47fca197 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ edition = "2021" homepage = "https://github.com/scroll-tech/zkvm-prover" readme = "README.md" repository = "https://github.com/scroll-tech/zkvm-prover" -version = "0.6.0" +version = "0.7.0" [workspace.dependencies] # openvm guest libs @@ -70,17 +70,17 @@ openvm-transpiler = { git = "https://github.com/openvm-org/openvm.git", tag = "v # more openvm related libs openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1" } -sbv-core = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "master" } -sbv-helpers = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "master" } -sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "master" } -sbv-utils = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "master" } -sbv-trie = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "master" } +sbv-core = { git = "https://github.com/scroll-tech/stateless-block-verifier", tag = "scroll-v91" } +sbv-helpers = { git = "https://github.com/scroll-tech/stateless-block-verifier", tag = "scroll-v91", features = ["dev"] } +sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", tag = "scroll-v91" } +sbv-utils = { git = "https://github.com/scroll-tech/stateless-block-verifier", tag = "scroll-v91" } +sbv-trie = { git = "https://github.com/scroll-tech/stateless-block-verifier", tag = "scroll-v91" } alloy-consensus = "1.0" alloy-provider = "1.0" alloy-rpc-client = "1.0" alloy-transport = "1.0" -alloy-primitives = { version = "1.3", default-features = false, features = [ +alloy-primitives = { version = "1.4.1", default-features = false, features = [ "std", "map-hashbrown", "map-fxhash", @@ -126,14 +126,14 @@ snark-verifier-sdk = { version = "=0.2.1", default-features = false, features = tiny-keccak = "2.0" thiserror = "2" tracing = "0.1" -vm-zstd = { git = "https://github.com/scroll-tech/rust-zstd-decompressor.git", branch = "master" } +vm-zstd = { git = "https://github.com/scroll-tech/rust-zstd-decompressor.git", rev = "b027327" } toml = "0.8.14" tracing-subscriber = "0.3" sysinfo = { version = "0.35", default-features = false } bytesize = "2.0.1" url = "2.5.4" tokio = "1" -axiom-sdk = { git = "https://github.com/axiom-crypto/axiom-api-cli.git", branch = "feat/upload-exe-raw" } +axiom-sdk = { git = "https://github.com/axiom-crypto/axiom-api-cli.git", rev = "a460528" } dotenvy = "0.15" jiff = "0.2" @@ -148,20 +148,18 @@ scroll-zkvm-prover = { path = "crates/prover" } scroll-zkvm-verifier = { path = "crates/verifier" } [patch.crates-io] -revm = { git = "https://github.com/scroll-tech/revm" } -revm-bytecode = { git = "https://github.com/scroll-tech/revm" } -revm-context = { git = "https://github.com/scroll-tech/revm" } -revm-context-interface = { git = "https://github.com/scroll-tech/revm" } -revm-database = { git = "https://github.com/scroll-tech/revm" } -revm-database-interface = { git = "https://github.com/scroll-tech/revm" } -revm-handler = { git = "https://github.com/scroll-tech/revm" } -revm-inspector = { git = "https://github.com/scroll-tech/revm" } -revm-interpreter = { git = "https://github.com/scroll-tech/revm" } -revm-precompile = { git = "https://github.com/scroll-tech/revm" } -revm-primitives = { git = "https://github.com/scroll-tech/revm" } -revm-state = { git = "https://github.com/scroll-tech/revm" } - -alloy-primitives = { git = "https://github.com/scroll-tech/alloy-core", branch = "feat/rkyv" } +revm = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } +revm-bytecode = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } +revm-context = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } +revm-context-interface = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } +revm-database = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } +revm-database-interface = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } +revm-handler = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } +revm-inspector = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } +revm-interpreter = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } +revm-precompile = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } +revm-primitives = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } +revm-state = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } ## FIXME: when openvm fixes https://github.com/openvm-org/openvm/pull/1937 #[patch.'https://github.com/openvm-org/openvm.git'] diff --git a/crates/circuits/batch-circuit/batch_exe_commit.rs b/crates/circuits/batch-circuit/batch_exe_commit.rs index a195853e..5e602104 100644 --- a/crates/circuits/batch-circuit/batch_exe_commit.rs +++ b/crates/circuits/batch-circuit/batch_exe_commit.rs @@ -1,4 +1,4 @@ #![cfg_attr(rustfmt, rustfmt_skip)] //! Generated by crates/build-guest. DO NOT EDIT! -pub const COMMIT: [u32; 8] = [169613029, 1512041042, 1908768371, 1004859199, 1983914774, 43222473, 909835658, 1213866356]; +pub const COMMIT: [u32; 8] = [1322080380, 1651942255, 463083856, 1076384953, 571197325, 1702971627, 375491115, 829280832]; diff --git a/crates/circuits/bundle-circuit/bundle_exe_commit.rs b/crates/circuits/bundle-circuit/bundle_exe_commit.rs index b7c30655..ab38ea75 100644 --- a/crates/circuits/bundle-circuit/bundle_exe_commit.rs +++ b/crates/circuits/bundle-circuit/bundle_exe_commit.rs @@ -1,4 +1,4 @@ #![cfg_attr(rustfmt, rustfmt_skip)] //! Generated by crates/build-guest. DO NOT EDIT! -pub const COMMIT: [u32; 8] = [1143263794, 1642021020, 1910803054, 330372631, 762840128, 1706047354, 1086014054, 673751013]; +pub const COMMIT: [u32; 8] = [1144920578, 672155974, 440997509, 565686465, 150547879, 714324919, 1665603288, 907252136]; diff --git a/crates/circuits/chunk-circuit/chunk_exe_commit.rs b/crates/circuits/chunk-circuit/chunk_exe_commit.rs index 1566820c..4ffa3609 100644 --- a/crates/circuits/chunk-circuit/chunk_exe_commit.rs +++ b/crates/circuits/chunk-circuit/chunk_exe_commit.rs @@ -1,4 +1,4 @@ #![cfg_attr(rustfmt, rustfmt_skip)] //! Generated by crates/build-guest. DO NOT EDIT! -pub const COMMIT: [u32; 8] = [72552249, 89910939, 1705051041, 1391470268, 810063640, 1213504996, 1356511642, 617368080]; +pub const COMMIT: [u32; 8] = [138721596, 243535334, 930392534, 379324085, 299238093, 1781158367, 1939995032, 1490622633]; diff --git a/crates/integration/src/lib.rs b/crates/integration/src/lib.rs index f38de5d2..c639e545 100644 --- a/crates/integration/src/lib.rs +++ b/crates/integration/src/lib.rs @@ -44,12 +44,12 @@ const ENV_OUTPUT_DIR: &str = "OUTPUT_DIR"; /// Enviroment settings for test: fork pub fn testing_hardfork() -> ForkName { - ForkName::Feynman + testing_version().fork } /// Test settings (version). pub fn testing_version() -> Version { - Version::feynman() + Version::galileo() } pub fn testing_version_validium() -> Version { diff --git a/crates/integration/src/testers/batch.rs b/crates/integration/src/testers/batch.rs index 6c30dbd9..cc923883 100644 --- a/crates/integration/src/testers/batch.rs +++ b/crates/integration/src/testers/batch.rs @@ -16,8 +16,8 @@ impl PartialProvingTask for BatchWitness { fn identifier(&self) -> String { let header_hash = match &self.reference_header { ReferenceHeader::V6(h) => h.batch_hash(), - ReferenceHeader::V7(h) => h.batch_hash(), - ReferenceHeader::V8(h) => h.batch_hash(), + ReferenceHeader::V7_V8_V9(h) => h.batch_hash(), + ReferenceHeader::V8(_) => unreachable!("Unexpected ReferenceHeader::V8 0.7.0 onwards"), ReferenceHeader::Validium(h) => h.batch_hash(), }; header_hash.to_string() diff --git a/crates/integration/src/testers/chunk.rs b/crates/integration/src/testers/chunk.rs index 540bfd75..ca4d583a 100644 --- a/crates/integration/src/testers/chunk.rs +++ b/crates/integration/src/testers/chunk.rs @@ -219,6 +219,7 @@ pub fn preset_chunk() -> ChunkTaskGenerator { ForkName::EuclidV1 => (Version::euclid_v1(), 12508460u64..=12508463u64), ForkName::EuclidV2 => (Version::euclid_v2(), 1u64..=4u64), ForkName::Feynman => (Version::feynman(), 16525000u64..=16525003u64), + ForkName::Galileo => (Version::galileo(), 20239156..=20239235), }; ChunkTaskGenerator { @@ -280,6 +281,14 @@ pub fn preset_chunk_multiple() -> Vec { ], Version::feynman(), ), + ForkName::Galileo => ( + vec![ + 20239220..=20239220, + 20239221..=20239221, + 20239222..=20239222, + ], + Version::galileo(), + ), }; create_canonical_tasks(version, block_range.into_iter()) .expect("must success for preset collections") diff --git a/crates/integration/src/utils/mod.rs b/crates/integration/src/utils/mod.rs index 5054b7f5..83c95e9d 100644 --- a/crates/integration/src/utils/mod.rs +++ b/crates/integration/src/utils/mod.rs @@ -3,7 +3,7 @@ use bytesize::ByteSize; use sbv_core::BlockWitness; use sbv_primitives::types::consensus::ScrollTransaction; use sbv_primitives::{B256, types::eips::Encodable2718}; -use scroll_zkvm_types::batch::build_point_eval_witness; +use scroll_zkvm_types::batch::{N_BLOB_BYTES, build_point_eval_witness}; use scroll_zkvm_types::{ batch::{ BatchHeader, BatchHeaderV6, BatchHeaderV7, BatchHeaderValidium, BatchHeaderValidiumV1, @@ -53,10 +53,9 @@ impl Default for LastHeader { // create a default LastHeader according to the dummy value // being set in the e2e test in scroll-prover: // https://github.com/scroll-tech/scroll-prover/blob/82f8ed3fabee5c3001b0b900cda1608413e621f8/integration/tests/e2e_tests.rs#L203C1-L207C8 - Self { batch_index: 123, - version: testing_hardfork().to_protocol_version(), + version: testing_version().as_version_byte(), batch_hash: B256::new([ 0xab, 0xac, 0xad, 0xae, 0xaf, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -70,8 +69,10 @@ impl From<&ReferenceHeader> for LastHeader { fn from(value: &ReferenceHeader) -> Self { match value { ReferenceHeader::V6(h) => h.into(), - ReferenceHeader::V7(h) => h.into(), - ReferenceHeader::V8(h) => h.into(), + ReferenceHeader::V7_V8_V9(h) => h.into(), + ReferenceHeader::V8(_) => { + unreachable!("Unexpected ReferenceHeader::V8 from 0.7.0 onwards") + } ReferenceHeader::Validium(h) => h.into(), } } @@ -202,9 +203,17 @@ pub fn build_batch_witnesses( // compress ... let compressed_payload = zstd_encode(&payload); - let heading = compressed_payload.len() as u32 + ((version.as_version_byte() as u32) << 24); + // 5 bytes are utilised by version (1), compressed_len (3) and is_encoded (1). + if compressed_payload.len() > N_BLOB_BYTES - 5 { + return Err(eyre::eyre!( + "compression payload of batch too big: len={}", + compressed_payload.len() + )); + } + + let heading = compressed_payload.len() as u32 + ((version.stf_version as u32) << 24); - let blob_bytes = if testing_hardfork() >= ForkName::EuclidV2 { + let blob_bytes = if version.fork >= ForkName::EuclidV2 { let mut blob_bytes = Vec::from(heading.to_be_bytes()); blob_bytes.push(1u8); // compressed flag blob_bytes.extend(compressed_payload); @@ -289,20 +298,9 @@ pub fn build_batch_witnesses( blob_data_proof: point_evaluations.map(|u| B256::new(u.to_be_bytes())), }) } - ForkName::EuclidV2 => { + ForkName::EuclidV2 | ForkName::Feynman | ForkName::Galileo => { use scroll_zkvm_types::batch::BatchHeaderV7; - let _ = x + z; - ReferenceHeader::V7(BatchHeaderV7 { - version: last_header.version, - batch_index: last_header.batch_index + 1, - parent_batch_hash: last_header.batch_hash, - blob_versioned_hash, - }) - } - ForkName::Feynman => { - use scroll_zkvm_types::batch::BatchHeaderV8; - let _ = x + z; - ReferenceHeader::V8(BatchHeaderV8 { + ReferenceHeader::V7_V8_V9(BatchHeaderV7 { version: last_header.version, batch_index: last_header.batch_index + 1, parent_batch_hash: last_header.batch_hash, @@ -429,6 +427,10 @@ fn test_build_and_parse_batch_task() -> eyre::Result<()> { block_range: (16525000..=16525003).collect(), ..Default::default() }, + ForkName::Galileo => ChunkTaskGenerator { + block_range: (20239156..=20239192).collect(), + ..Default::default() + }, } .get_or_build_witness()?; @@ -447,14 +449,11 @@ fn test_build_and_parse_batch_task() -> eyre::Result<()> { let enveloped = batch::EnvelopeV6::from_slice(&task_wit.blob_bytes); ::from_envelope(&enveloped).validate(h, infos); } - ReferenceHeader::V7(h) => { + ReferenceHeader::V7_V8_V9(h) => { let enveloped = batch::EnvelopeV7::from_slice(&task_wit.blob_bytes); ::from_envelope(&enveloped).validate(h, infos); } - ReferenceHeader::V8(h) => { - let enveloped = batch::EnvelopeV8::from_slice(&task_wit.blob_bytes); - ::from_envelope(&enveloped).validate(h, infos); - } + ReferenceHeader::V8(_) => unreachable!("Unexpected ReferenceHeader::V8 from 0.7.0 onwards"), ReferenceHeader::Validium(_h) => { todo!() } diff --git a/crates/integration/tests/batch_circuit.rs b/crates/integration/tests/batch_circuit.rs index 1bdaebda..abe959ce 100644 --- a/crates/integration/tests/batch_circuit.rs +++ b/crates/integration/tests/batch_circuit.rs @@ -108,6 +108,14 @@ fn verify_batch_hash_invariant() -> eyre::Result<()> { 16525003u64..=16525003u64, ], ), + ForkName::Galileo => ( + Version::galileo(), + vec![ + 20239156..=20239162, + 20239163..=20239175, + 20239176..=20239192, + ], + ), }; let outcome_2 = create_canonical_tasks(version, block_range.into_iter())?; diff --git a/crates/integration/tests/bundle_circuit.rs b/crates/integration/tests/bundle_circuit.rs index 337715fb..26797844 100644 --- a/crates/integration/tests/bundle_circuit.rs +++ b/crates/integration/tests/bundle_circuit.rs @@ -7,7 +7,7 @@ use scroll_zkvm_integration::{ chunk::ChunkProverTester, load_local_task, }, - testing_hardfork, testing_version_validium, + testing_version, testing_version_validium, utils::metadata_from_bundle_witnesses, }; use scroll_zkvm_prover::{Prover, ProverConfig}; @@ -154,12 +154,14 @@ fn e2e_inner( let metadata = metadata_from_bundle_witnesses(&wit)?; // Sanity check for pi of bundle hash, update the expected hash if block witness changed - let pi_str = match testing_hardfork() { + let version = testing_version(); + let pi_str = match version.fork { ForkName::EuclidV1 => "3cc70faf6b5a4bd565694a4c64de59befb735f4aac2a4b9e6a6fc2ee950b8a72", ForkName::EuclidV2 => "2028510c403837c6ed77660fd92814ba61d7b746e7268cc8dfc14d163d45e6bd", ForkName::Feynman => "80523a61b2b94b2922638ec90edd084b1022798e1e5539c3a079d2b0736e4f32", + ForkName::Galileo => "86290e8c329dd2ec430df4a8b2ae8396b3996b3e814afff24b7cedeb26387087", }; - let expected_pi_hash = metadata.pi_hash(testing_hardfork()); + let expected_pi_hash = metadata.pi_hash_by_version(version); // sanity check for pi of bundle hash, update the expected hash if block witness changed assert_eq!( alloy_primitives::hex::encode(expected_pi_hash), diff --git a/crates/types/base/src/fork_name.rs b/crates/types/base/src/fork_name.rs index cc58bd34..854d4d38 100644 --- a/crates/types/base/src/fork_name.rs +++ b/crates/types/base/src/fork_name.rs @@ -22,6 +22,7 @@ pub enum ForkName { EuclidV1, EuclidV2, Feynman, + Galileo, } impl fmt::Display for ForkName { @@ -30,6 +31,7 @@ impl fmt::Display for ForkName { ForkName::EuclidV1 => "euclidv1", ForkName::EuclidV2 => "euclidv2", ForkName::Feynman => "feynman", + ForkName::Galileo => "galileo", }; write!(f, "{}", s) } @@ -42,14 +44,7 @@ impl ForkName { ForkName::EuclidV1 => "euclidv1", ForkName::EuclidV2 => "euclidv2", ForkName::Feynman => "feynman", - } - } - /// Convert ForkName to its protocol version - pub fn to_protocol_version(&self) -> u8 { - match self { - ForkName::EuclidV1 => 6, - ForkName::EuclidV2 => 7, - ForkName::Feynman => 8, + ForkName::Galileo => "galileo", } } } @@ -61,6 +56,7 @@ impl From> for ForkName { Some("euclidv1") => ForkName::EuclidV1, Some("euclidv2") => ForkName::EuclidV2, Some("feynman") => ForkName::Feynman, + Some("galileo") => ForkName::Galileo, Some(s) => unreachable!("hardfork not accepted: {s}"), } } @@ -72,6 +68,7 @@ impl From<&str> for ForkName { "euclidv1" => ForkName::EuclidV1, "euclidv2" => ForkName::EuclidV2, "feynman" => ForkName::Feynman, + "galileo" => ForkName::Galileo, s => unreachable!("hardfork not accepted: {s}"), } } diff --git a/crates/types/base/src/public_inputs.rs b/crates/types/base/src/public_inputs.rs index 03a0dda4..d60d71a3 100644 --- a/crates/types/base/src/public_inputs.rs +++ b/crates/types/base/src/public_inputs.rs @@ -18,7 +18,6 @@ pub trait PublicInputs { /// helper trait to extend PublicInputs pub trait MultiVersionPublicInputs { - fn pi_hash_by_fork(&self, fork_name: ForkName) -> B256; fn pi_hash_by_version(&self, version: Version) -> B256; fn validate(&self, prev_pi: &Self, version: Version); } diff --git a/crates/types/base/src/public_inputs/batch.rs b/crates/types/base/src/public_inputs/batch.rs index 80d1cb0a..882d4799 100644 --- a/crates/types/base/src/public_inputs/batch.rs +++ b/crates/types/base/src/public_inputs/batch.rs @@ -107,6 +107,36 @@ impl BatchInfo { self.pi_hash_euclidv2() } + /// Public input hash for a batch (galileo or da-codec@v9) is defined as + /// + /// keccak( + /// version || + /// parent state root || + /// parent batch hash || + /// state root || + /// batch hash || + /// chain id || + /// withdraw root || + /// prev msg queue hash || + /// post msg queue hash + /// ) + fn pi_hash_galileo(&self, version: Version) -> B256 { + keccak256( + std::iter::empty() + .chain(&[version.as_version_byte()]) + .chain(self.parent_state_root.as_slice()) + .chain(self.parent_batch_hash.as_slice()) + .chain(self.state_root.as_slice()) + .chain(self.batch_hash.as_slice()) + .chain(self.chain_id.to_be_bytes().as_slice()) + .chain(self.withdraw_root.as_slice()) + .chain(self.prev_msg_queue_hash.as_slice()) + .chain(self.post_msg_queue_hash.as_slice()) + .cloned() + .collect::>(), + ) + } + /// Public input hash for a L3 validium @ v1. /// /// keccak( @@ -143,19 +173,12 @@ impl BatchInfo { pub type VersionedBatchInfo = (BatchInfo, Version); impl MultiVersionPublicInputs for BatchInfo { - fn pi_hash_by_fork(&self, fork_name: ForkName) -> B256 { - match fork_name { - ForkName::EuclidV1 => self.pi_hash_euclidv1(), - ForkName::EuclidV2 => self.pi_hash_euclidv2(), - ForkName::Feynman => self.pi_hash_feynman(), - } - } - fn pi_hash_by_version(&self, version: Version) -> B256 { match (version.domain, version.stf_version) { - (Domain::Scroll, STFVersion::V6) => self.pi_hash_by_fork(ForkName::EuclidV1), - (Domain::Scroll, STFVersion::V7) => self.pi_hash_by_fork(ForkName::EuclidV2), - (Domain::Scroll, STFVersion::V8) => self.pi_hash_by_fork(ForkName::Feynman), + (Domain::Scroll, STFVersion::V6) => self.pi_hash_euclidv1(), + (Domain::Scroll, STFVersion::V7) => self.pi_hash_euclidv2(), + (Domain::Scroll, STFVersion::V8) => self.pi_hash_feynman(), + (Domain::Scroll, STFVersion::V9) => self.pi_hash_galileo(version), (Domain::Validium, STFVersion::V1) => self.pi_hash_validium(version), (domain, stf_version) => { unreachable!("unsupported version=({domain:?}, {stf_version:?})") diff --git a/crates/types/base/src/public_inputs/bundle.rs b/crates/types/base/src/public_inputs/bundle.rs index d663587b..b9076d59 100644 --- a/crates/types/base/src/public_inputs/bundle.rs +++ b/crates/types/base/src/public_inputs/bundle.rs @@ -1,7 +1,7 @@ use alloy_primitives::B256; use crate::{ - public_inputs::{ForkName, MultiVersionPublicInputs}, + public_inputs::MultiVersionPublicInputs, utils::keccak256, version::{Domain, STFVersion, Version}, }; @@ -94,22 +94,21 @@ impl BundleInfo { keccak256(self.pi_euclidv2()) } - pub fn pi_hash_feynman(&self) -> B256 { - let protocol_version = - B256::left_padding_from(&ForkName::Feynman.to_protocol_version().to_be_bytes()); - let pi: Vec = std::iter::empty() - .chain(protocol_version.as_slice()) - .chain(self.pi_euclidv2().as_slice()) - .cloned() - .collect(); - keccak256(pi) + pub fn pi_feynman(&self) -> Vec { + self.pi_euclidv2() + } + + pub fn pi_galileo(&self) -> Vec { + self.pi_euclidv2() } pub fn pi_hash_versioned(&self, version: Version, pi: &[u8]) -> B256 { - let version_byte = version.as_version_byte(); keccak256( std::iter::empty() - .chain(B256::left_padding_from(&version_byte.to_be_bytes()).as_slice()) + .chain( + B256::left_padding_from(version.as_version_byte().to_be_bytes().as_slice()) + .as_slice(), + ) .chain(pi) .cloned() .collect::>(), @@ -123,32 +122,21 @@ impl BundleInfo { .cloned() .collect() } - - pub fn pi_hash(&self, fork_name: ForkName) -> B256 { - match fork_name { - ForkName::EuclidV1 => self.pi_hash_euclidv1(), - ForkName::EuclidV2 => self.pi_hash_euclidv2(), - ForkName::Feynman => self.pi_hash_feynman(), - } - } } pub type VersionedBundleInfo = (BundleInfo, Version); impl MultiVersionPublicInputs for BundleInfo { - fn pi_hash_by_fork(&self, fork_name: ForkName) -> B256 { - match fork_name { - ForkName::EuclidV1 => self.pi_hash_euclidv1(), - ForkName::EuclidV2 => self.pi_hash_euclidv2(), - ForkName::Feynman => self.pi_hash_feynman(), - } - } - fn pi_hash_by_version(&self, version: Version) -> B256 { match (version.domain, version.stf_version) { (Domain::Scroll, STFVersion::V6) => self.pi_hash_euclidv1(), (Domain::Scroll, STFVersion::V7) => self.pi_hash_euclidv2(), - (Domain::Scroll, STFVersion::V8) => self.pi_hash_feynman(), + (Domain::Scroll, STFVersion::V8) => { + self.pi_hash_versioned(version, self.pi_feynman().as_slice()) + } + (Domain::Scroll, STFVersion::V9) => { + self.pi_hash_versioned(version, self.pi_galileo().as_slice()) + } (Domain::Validium, STFVersion::V1) => { self.pi_hash_versioned(version, self.pi_validium_v1().as_slice()) } diff --git a/crates/types/base/src/public_inputs/chunk.rs b/crates/types/base/src/public_inputs/chunk.rs index 2312861d..26dbda09 100644 --- a/crates/types/base/src/public_inputs/chunk.rs +++ b/crates/types/base/src/public_inputs/chunk.rs @@ -272,6 +272,49 @@ impl ChunkInfo { ) } + /// Feynman chunk public inputs are the same as EuclidV2. + pub fn pi_hash_feynman(&self) -> B256 { + self.pi_hash_euclidv2() + } + + /// Public input hash for a given chunk (galileo or da-codec@v9) is defined as + /// + /// keccak( + /// version || + /// chain id || + /// prev state root || + /// post state root || + /// withdraw root || + /// tx data digest || + /// prev msg queue hash || + /// post msg queue hash || + /// initial block number || + /// block_ctx for block_ctx in block_ctxs + /// ) + pub fn pi_hash_galileo(&self, version: Version) -> B256 { + keccak256( + std::iter::empty() + .chain(&[version.as_version_byte()]) + .chain(&self.chain_id.to_be_bytes()) + .chain(self.prev_state_root.as_slice()) + .chain(self.post_state_root.as_slice()) + .chain(self.withdraw_root.as_slice()) + .chain(self.tx_data_digest.as_slice()) + .chain(self.prev_msg_queue_hash.as_slice()) + .chain(self.post_msg_queue_hash.as_slice()) + .chain(&self.initial_block_number.to_be_bytes()) + .chain( + self.block_ctxs + .iter() + .flat_map(|block_ctx| block_ctx.to_bytes()) + .collect::>() + .as_slice(), + ) + .cloned() + .collect::>(), + ) + } + /// Public input hash for a given chunk for L3 validium @ v1: /// /// keccak( @@ -320,27 +363,16 @@ impl ChunkInfo { pub type VersionedChunkInfo = (ChunkInfo, Version); impl MultiVersionPublicInputs for ChunkInfo { - /// Compute the public input hash for the chunk. - fn pi_hash_by_fork(&self, fork_name: ForkName) -> B256 { - match fork_name { - ForkName::EuclidV1 => { - assert_ne!(self.data_hash, B256::ZERO, "v6 must has valid data hash"); - self.pi_hash_euclidv1() - } - ForkName::EuclidV2 => self.pi_hash_euclidv2(), - ForkName::Feynman => { - // Feynman fork uses the same hash as EuclidV2 - self.pi_hash_euclidv2() - } - } - } - /// Compute the public input hash for the chunk given the version tuple. fn pi_hash_by_version(&self, version: Version) -> B256 { match (version.domain, version.stf_version) { - (Domain::Scroll, STFVersion::V6) => self.pi_hash_by_fork(ForkName::EuclidV1), - (Domain::Scroll, STFVersion::V7) => self.pi_hash_by_fork(ForkName::EuclidV2), - (Domain::Scroll, STFVersion::V8) => self.pi_hash_by_fork(ForkName::Feynman), + (Domain::Scroll, STFVersion::V6) => { + assert_ne!(self.data_hash, B256::ZERO, "v6 must have valid data_hash"); + self.pi_hash_euclidv1() + } + (Domain::Scroll, STFVersion::V7) => self.pi_hash_euclidv2(), + (Domain::Scroll, STFVersion::V8) => self.pi_hash_feynman(), + (Domain::Scroll, STFVersion::V9) => self.pi_hash_galileo(version), (Domain::Validium, STFVersion::V1) => self.pi_hash_validium(version), (domain, stf_version) => { unreachable!("unsupported version=({domain:?}, {stf_version:?})") diff --git a/crates/types/base/src/version.rs b/crates/types/base/src/version.rs index 16f47aee..abf27413 100644 --- a/crates/types/base/src/version.rs +++ b/crates/types/base/src/version.rs @@ -54,6 +54,8 @@ pub enum STFVersion { V7 = 7, /// Scroll@v8. V8 = 8, + /// Scroll@v9. + V9 = 9, } impl From for STFVersion { @@ -63,6 +65,7 @@ impl From for STFVersion { 6 => Self::V6, 7 => Self::V7, 8 => Self::V8, + 9 => Self::V9, value => unreachable!("unsupported stf-version={value}"), } } @@ -74,11 +77,20 @@ pub enum Codec { /// da-codec@v6. V6, /// da-codec@v7. + /// + /// Between EuclidV2, Feynman and Galileo hardforks, i.e. STF versions 7, 8 and 9, the da-codec + /// implementation remains unchanged. As a result, we use the Codec::V7 for each of those + /// hardforks. V7, - /// da-codec@v8. - V8, - /// da-codec@v9. - V9, +} + +impl From for u8 { + fn from(value: Codec) -> Self { + match value { + Codec::V6 => 6, + Codec::V7 => 7, + } + } } /// The number of bits used for [`STFVersion`]. @@ -128,7 +140,16 @@ impl Version { domain: Domain::Scroll, stf_version: STFVersion::V8, fork: ForkName::Feynman, - codec: Codec::V8, + codec: Codec::V7, + } + } + + pub const fn galileo() -> Self { + Self { + domain: Domain::Scroll, + stf_version: STFVersion::V9, + fork: ForkName::Galileo, + codec: Codec::V7, } } @@ -137,18 +158,22 @@ impl Version { domain: Domain::Validium, stf_version: STFVersion::V1, fork: ForkName::Feynman, - codec: Codec::V9, + codec: Codec::V7, } } pub fn is_validium(&self) -> bool { self.domain == Domain::Validium } + + pub fn codec(&self) -> u8 { + self.codec.into() + } } impl Default for Version { fn default() -> Self { - Self::feynman() + Self::galileo() } } @@ -161,6 +186,7 @@ impl From for Version { (Domain::Scroll, STFVersion::V6) => Self::euclid_v1(), (Domain::Scroll, STFVersion::V7) => Self::euclid_v2(), (Domain::Scroll, STFVersion::V8) => Self::feynman(), + (Domain::Scroll, STFVersion::V9) => Self::galileo(), (Domain::Validium, STFVersion::V1) => Self::validium_v1(), (domain, stf_version) => { unreachable!("unsupported version=({domain:?}, {stf_version:?})") @@ -170,5 +196,7 @@ impl From for Version { } /// Version byte for Validium @ v1. -pub const VALIDIUM_V1: u8 = - ((Domain::Validium as u8) << N_BITS_STF_VERSION) + (STFVersion::V1 as u8); +pub const VALIDIUM_V1: u8 = Version::validium_v1().as_version_byte(); + +/// Version byte for Galileo @ v9. +pub const SCROLL_GALILEO: u8 = Version::galileo().as_version_byte(); diff --git a/crates/types/batch/src/builder/mod.rs b/crates/types/batch/src/builder/mod.rs index 591eef27..b575968c 100644 --- a/crates/types/batch/src/builder/mod.rs +++ b/crates/types/batch/src/builder/mod.rs @@ -4,16 +4,11 @@ pub use v6::BatchInfoBuilderV6; pub mod v7; pub use v7::BatchInfoBuilderV7; -pub mod v8; -pub use v8::BatchInfoBuilderV8; - pub mod validium; use types_base::public_inputs::{batch::BatchInfo, chunk::ChunkInfo}; -use crate::{ - BatchHeader, BatchHeaderV6, BatchHeaderV7, BatchHeaderV8, PointEvalWitness, payload::Payload, -}; +use crate::{BatchHeader, BatchHeaderV6, BatchHeaderV7, PointEvalWitness, payload::Payload}; pub struct BuilderArgs { pub header: Header, @@ -24,12 +19,11 @@ pub struct BuilderArgs { pub type BuilderArgsV6 = BuilderArgs; pub type BuilderArgsV7 = BuilderArgs; -pub type BuilderArgsV8 = BuilderArgs; pub trait BatchInfoBuilder { type Payload: Payload; /// Build the public-input values [`BatchInfo`] for the [`BatchCircuit`][crate::circuit::BatchCircuit] /// by processing the witness, while making some validations. - fn build(args: BuilderArgs<::BatchHeader>) -> BatchInfo; + fn build(version: u8, args: BuilderArgs<::BatchHeader>) -> BatchInfo; } diff --git a/crates/types/batch/src/builder/v6.rs b/crates/types/batch/src/builder/v6.rs index 826aca4e..3c59c3cd 100644 --- a/crates/types/batch/src/builder/v6.rs +++ b/crates/types/batch/src/builder/v6.rs @@ -15,6 +15,7 @@ impl super::BatchInfoBuilder for BatchInfoBuilderV6 { type Payload = PayloadV6; fn build( + _version: u8, args: super::BuilderArgs<::BatchHeader>, ) -> BatchInfo { // Construct the batch payload using blob bytes. diff --git a/crates/types/batch/src/builder/v7.rs b/crates/types/batch/src/builder/v7.rs index 2b8d58ff..adf1afc5 100644 --- a/crates/types/batch/src/builder/v7.rs +++ b/crates/types/batch/src/builder/v7.rs @@ -2,6 +2,7 @@ use std::marker::PhantomData; use alloy_primitives::B256; use types_base::public_inputs::batch::BatchInfo; +use types_base::version::Version; use crate::PointEvalWitness; use crate::witness::build_point; @@ -69,6 +70,7 @@ impl super::BatchInfoBuilder for GenericBatchInfoBuilderV7

{ type Payload = P; fn build( + version: u8, args: super::BuilderArgs<::BatchHeader>, ) -> BatchInfo { // Sanity check on the length of unpadded blob bytes. @@ -100,6 +102,24 @@ impl super::BatchInfoBuilder for GenericBatchInfoBuilderV7

{ // Validate payload (batch data). let (first_chunk, last_chunk) = payload.validate(&args.header, args.chunk_infos.as_slice()); + // Validate versions from the blob and batch header. + let version = Version::from(version); + let stf_version = version.stf_version as u8; + assert_eq!( + envelope.version(), + Some(stf_version), + "blob codec version mismatch: expected(witness)={:?}, got(blob)={:?}", + stf_version, + envelope.version(), + ); + assert_eq!( + args.header.version(), + stf_version, + "batch header version mismatch: expected(witness)={:?}, got(onchain)={:?}", + stf_version, + args.header.version() + ); + BatchInfo { parent_state_root: first_chunk.prev_state_root, parent_batch_hash: args.header.parent_batch_hash(), diff --git a/crates/types/batch/src/builder/v8.rs b/crates/types/batch/src/builder/v8.rs deleted file mode 100644 index a0cf0066..00000000 --- a/crates/types/batch/src/builder/v8.rs +++ /dev/null @@ -1,7 +0,0 @@ -use crate::PayloadV8; - -use super::v7::GenericBatchInfoBuilderV7; - -/// Builder that consumes DA-codec@v8 [`BatchHeader`][BatchHeaderV8] and builds the public-input -/// values [`BatchInfo`] for the batch-circuit. -pub type BatchInfoBuilderV8 = GenericBatchInfoBuilderV7; diff --git a/crates/types/batch/src/header/mod.rs b/crates/types/batch/src/header/mod.rs index befec940..ccea3256 100644 --- a/crates/types/batch/src/header/mod.rs +++ b/crates/types/batch/src/header/mod.rs @@ -1,11 +1,11 @@ +#![allow(non_camel_case_types)] + use alloy_primitives::B256; pub mod v6; pub mod v7; -pub mod v8; - pub mod validium; pub trait BatchHeader { @@ -51,10 +51,24 @@ pub trait ValidiumBatchHeader: BatchHeader { pub enum ReferenceHeader { /// Represents DA-codec v6. V6(v6::BatchHeaderV6), - /// Represents DA-codec v7. - V7(v7::BatchHeaderV7), - /// Represents DA-codec v8. - V8(v8::BatchHeaderV8), + /// Represents DA-codec v7, v8 and v9. + /// + /// Since the codec implementation is unchanged across STF-versions v7, v8 and v9, we define a + /// single variant to cover all those cases. + V7_V8_V9(v7::BatchHeaderV7), + /// Batch header v8 for backwards compatibility to support Feynman (0.5.2). + V8(v7::BatchHeaderV7), /// Represents batch header utilised in L3 validium. Validium(validium::BatchHeaderValidium), } + +impl ReferenceHeader { + /// Consumes the reference header that is expected to be [`Self::V7_V8_V9`] and transforms it + /// to [`Self::V8`] for backwards compatibilty support for [`Version::feynman`]. + pub fn into_v8_feynman(self) -> Self { + match self { + Self::V7_V8_V9(h) => Self::V8(h), + _ => unreachable!("Expect ReferenceHeader::V7_V8_V9 from 0.7.0 onwards"), + } + } +} diff --git a/crates/types/batch/src/header/v8.rs b/crates/types/batch/src/header/v8.rs deleted file mode 100644 index 0d8dec8e..00000000 --- a/crates/types/batch/src/header/v8.rs +++ /dev/null @@ -1,7 +0,0 @@ -use crate::{ArchivedBatchHeaderV7, BatchHeaderV7}; - -/// There is no difference in the header structure between da-codec@v7 and da-codec@v8. -pub type BatchHeaderV8 = BatchHeaderV7; - -/// There is no difference in the header structure between da-codec@v7 and da-codec@v8. -pub type ArchivedBatchHeaderV8 = ArchivedBatchHeaderV7; diff --git a/crates/types/batch/src/lib.rs b/crates/types/batch/src/lib.rs index 1e9c38be..85795e1e 100644 --- a/crates/types/batch/src/lib.rs +++ b/crates/types/batch/src/lib.rs @@ -3,7 +3,6 @@ pub use header::{ ArchivedReferenceHeader, BatchHeader, ReferenceHeader, v6::{ArchivedBatchHeaderV6, BatchHeaderV6}, v7::{ArchivedBatchHeaderV7, BatchHeaderV7}, - v8::{ArchivedBatchHeaderV8, BatchHeaderV8}, validium::{BatchHeaderValidium, BatchHeaderValidiumV1}, }; @@ -12,7 +11,6 @@ pub use payload::{ BLOB_WIDTH, Envelope, N_BLOB_BYTES, N_DATA_BYTES_PER_COEFFICIENT, Payload, v6::{EnvelopeV6, PayloadV6}, v7::{EnvelopeV7, PayloadV7}, - v8::{EnvelopeV8, PayloadV8}, }; pub mod blob_consistency; diff --git a/crates/types/batch/src/payload/mod.rs b/crates/types/batch/src/payload/mod.rs index 1d3b9d6f..53e5d525 100644 --- a/crates/types/batch/src/payload/mod.rs +++ b/crates/types/batch/src/payload/mod.rs @@ -7,8 +7,6 @@ pub mod v6; pub mod v7; -pub mod v8; - /// The number data bytes we pack each BLS12-381 scalar into. The most-significant byte is 0. pub const N_DATA_BYTES_PER_COEFFICIENT: usize = 31; @@ -22,16 +20,14 @@ pub const BLOB_WIDTH: usize = 4096; /// This allows us to use only up to 31 bytes in each such chunk, hence the reduced capacity. pub const N_BLOB_BYTES: usize = BLOB_WIDTH * N_DATA_BYTES_PER_COEFFICIENT; -/// da-codec@v7 -pub const DA_CODEC_VERSION_V7: u8 = 7; - -/// da-codec@v8 -pub const DA_CODEC_VERSION_V8: u8 = 8; - pub trait Envelope { fn from_slice(bytes: &[u8]) -> Self; fn challenge_digest(&self, versioned_hash: B256) -> B256; + + fn version(&self) -> Option { + None + } } pub trait Payload { diff --git a/crates/types/batch/src/payload/v7.rs b/crates/types/batch/src/payload/v7.rs index 44252ebc..71652b95 100644 --- a/crates/types/batch/src/payload/v7.rs +++ b/crates/types/batch/src/payload/v7.rs @@ -4,26 +4,26 @@ use types_base::{ utils::keccak256, }; -use crate::BatchHeaderV7; - -use super::{DA_CODEC_VERSION_V7, N_BLOB_BYTES}; +use crate::{BatchHeaderV7, N_BLOB_BYTES}; /// Envelope@v7 represents the generic envelope type from v7 onwards, marked by the appropriate /// da-codec version byte. -pub type EnvelopeV7 = GenericEnvelopeV7; +/// +/// The same envelope is used in da-codec versions v7, v8 and v9. +pub type EnvelopeV7 = GenericEnvelopeV7; -pub type PayloadV7 = GenericPayloadV7; +pub type PayloadV7 = GenericPayloadV7; /// Represents the data contained within an EIP-4844 blob that is published on-chain. /// /// The bytes following some metadata represent zstd-encoded [`PayloadV7`] if the envelope is /// indicated as `is_encoded == true`. /// -/// Both da-codec@v7 and da-codec@v8 use the same envelope and payload structure, the only +/// da-codec@v7, da-codec@v8 and da-codec@v9 use the same envelope and payload structure, the only /// difference being the codec version byte in the envelope. Hence we supply that as a generic /// version type to [`EnvelopeV7`]. #[derive(Debug, Clone)] -pub struct GenericEnvelopeV7 { +pub struct GenericEnvelopeV7 { /// The original envelope bytes supplied. /// /// Caching just for re-use later in challenge digest computation. @@ -37,14 +37,13 @@ pub struct GenericEnvelopeV7 { pub unpadded_bytes: Vec, } -impl super::Envelope for GenericEnvelopeV7 { +impl super::Envelope for GenericEnvelopeV7 { fn from_slice(blob_bytes: &[u8]) -> Self { // The number of bytes is as expected. assert_eq!(blob_bytes.len(), N_BLOB_BYTES); // The version of the blob encoding was as expected, i.e. da-codec@v7. let version = blob_bytes[0]; - assert_eq!(version, CODEC_VERSION); // Calculate the unpadded size of the encoded payload. // @@ -92,6 +91,10 @@ impl super::Envelope for GenericEnvelopeV7>(), ) } + + fn version(&self) -> Option { + Some(self.version) + } } pub const INDEX_PREV_MSG_QUEUE_HASH: usize = 0; @@ -113,7 +116,7 @@ pub const INDEX_BLOCK_CTX: usize = INDEX_NUM_BLOCKS + 2; /// | blockCtxs[n-1] | 52 | BlockContextV2 | 74 + 52*(n-1) | /// | l2TxsData | dynamic | bytes | 74 + 52*n | #[derive(Debug, Clone)] -pub struct GenericPayloadV7 { +pub struct GenericPayloadV7 { /// The version from da-codec, i.e. v7 in this case. /// /// Note: This is not really a part of payload, simply coopied from the envelope for @@ -133,10 +136,10 @@ pub struct GenericPayloadV7 { pub tx_data: Vec, } -impl super::Payload for GenericPayloadV7 { +impl super::Payload for GenericPayloadV7 { type BatchHeader = BatchHeaderV7; - type Envelope = GenericEnvelopeV7; + type Envelope = GenericEnvelopeV7; fn from_envelope(envelope: &Self::Envelope) -> Self { // Conditionally decode depending on the flag set in the envelope. @@ -194,7 +197,7 @@ impl super::Payload for GenericPayloadV7 fn validate<'a>( &self, - header: &Self::BatchHeader, + _header: &Self::BatchHeader, chunk_infos: &'a [ChunkInfo], ) -> (&'a ChunkInfo, &'a ChunkInfo) { // Get the first and last chunks' info, to construct the batch info. @@ -203,9 +206,6 @@ impl super::Payload for GenericPayloadV7 chunk_infos.last().expect("at least one chunk in batch"), ); - // version from payload is what's present in the on-chain batch header - assert_eq!(self.version, header.version); - // number of blocks in the batch assert_eq!( usize::from(self.num_blocks), diff --git a/crates/types/batch/src/payload/v8.rs b/crates/types/batch/src/payload/v8.rs deleted file mode 100644 index 4eefd17e..00000000 --- a/crates/types/batch/src/payload/v8.rs +++ /dev/null @@ -1,10 +0,0 @@ -use super::{ - DA_CODEC_VERSION_V8, - v7::{GenericEnvelopeV7, GenericPayloadV7}, -}; - -/// Envelope@v8 represents the generic envelope type for da-codec@v8 is marked by the -/// appropriate da-codec version byte. -pub type EnvelopeV8 = GenericEnvelopeV7; - -pub type PayloadV8 = GenericPayloadV7; diff --git a/crates/types/batch/src/witness.rs b/crates/types/batch/src/witness.rs index 19baa665..e8096df0 100644 --- a/crates/types/batch/src/witness.rs +++ b/crates/types/batch/src/witness.rs @@ -10,8 +10,7 @@ use types_base::{ use crate::{ builder::{ - BatchInfoBuilder, BatchInfoBuilderV6, BatchInfoBuilderV7, BatchInfoBuilderV8, - BuilderArgsV6, BuilderArgsV7, BuilderArgsV8, + BatchInfoBuilder, BatchInfoBuilderV6, BatchInfoBuilderV7, BuilderArgsV6, BuilderArgsV7, validium::{ValidiumBatchInfoBuilder, ValidiumBuilderArgs}, }, header::ReferenceHeader, @@ -183,7 +182,10 @@ impl From for LegacyBatchWitness { chunk_infos: value.chunk_infos.into_iter().map(|c| c.into()).collect(), blob_bytes: value.blob_bytes, point_eval_witness: point_eval_witness.clone().into(), - reference_header: value.reference_header, + reference_header: match value.fork_name { + ForkName::Feynman => value.reference_header.into_v8_feynman(), + _ => unreachable!("0.5.2 expects fork=Feynman"), + }, fork_name: value.fork_name, } } @@ -207,9 +209,9 @@ impl From<&BatchWitness> for BatchInfo { blob_bytes: witness.blob_bytes.to_vec(), point_eval_witness: None, }; - BatchInfoBuilderV6::build(args) + BatchInfoBuilderV6::build(witness.version, args) } - ReferenceHeader::V7(header) => { + ReferenceHeader::V7_V8_V9(header) => { let point_eval_witness = witness .point_eval_witness .as_ref() @@ -220,20 +222,10 @@ impl From<&BatchWitness> for BatchInfo { blob_bytes: witness.blob_bytes.to_vec(), point_eval_witness: Some(point_eval_witness.clone()), }; - BatchInfoBuilderV7::build(args) + BatchInfoBuilderV7::build(witness.version, args) } - ReferenceHeader::V8(header) => { - let point_eval_witness = witness - .point_eval_witness - .as_ref() - .expect("point_eval_witness missing for header::v8"); - let args = BuilderArgsV8 { - header: *header, - chunk_infos, - blob_bytes: witness.blob_bytes.to_vec(), - point_eval_witness: Some(point_eval_witness.clone()), - }; - BatchInfoBuilderV8::build(args) + ReferenceHeader::V8(_) => { + unreachable!("Unexpected ReferenceHeader::V8 from 0.7.0 onwards"); } ReferenceHeader::Validium(header) => ValidiumBatchInfoBuilder::build( ValidiumBuilderArgs::new(witness.version, *header, chunk_infos), diff --git a/crates/types/chunk/src/scroll/execute.rs b/crates/types/chunk/src/scroll/execute.rs index 74ee2784..90cb745a 100644 --- a/crates/types/chunk/src/scroll/execute.rs +++ b/crates/types/chunk/src/scroll/execute.rs @@ -16,7 +16,7 @@ use types_base::{ public_inputs::chunk::{BlockContextV2, ChunkInfo}, }; -/// `compression_ratios` can be `None` in host mode. +/// `compression_infos` can be `None` in host mode. /// But in guest mode, it must be provided. pub fn execute(witness: ChunkWitness) -> Result { let chain = Chain::from_id(witness.blocks[0].chain_id); @@ -33,6 +33,7 @@ pub fn execute(witness: ChunkWitness) -> Result { ForkName::EuclidV1 => Hardfork::Euclid, ForkName::EuclidV2 => Hardfork::EuclidV2, ForkName::Feynman => Hardfork::Feynman, + ForkName::Galileo => Hardfork::Galileo, }, ); diff --git a/crates/types/chunk/src/scroll/witness.rs b/crates/types/chunk/src/scroll/witness.rs index 3fd81db2..dff158a5 100644 --- a/crates/types/chunk/src/scroll/witness.rs +++ b/crates/types/chunk/src/scroll/witness.rs @@ -3,6 +3,7 @@ use alloy_primitives::B256; use sbv_core::{verifier::StateCommitMode, witness::BlockWitness}; use sbv_primitives::U256; use sbv_primitives::types::consensus::TxL1Message; +use sbv_primitives::types::evm::ScrollTxCompressionInfos; use std::collections::HashSet; use types_base::version::Version; use types_base::{fork_name::ForkName, public_inputs::chunk::ChunkInfo}; @@ -18,8 +19,8 @@ pub struct ChunkWitness { pub prev_msg_queue_hash: B256, /// The code version specify the chain spec pub fork_name: ForkName, - /// The compression ratios for each block in the chunk. - pub compression_infos: Vec>, + /// The compression info for each block in the chunk. + pub compression_infos: Vec, /// Validium encrypted txs and secret key if this is a validium chain. pub validium: Option, } diff --git a/crates/verifier/src/verifier.rs b/crates/verifier/src/verifier.rs index 0d4d25a1..38aca119 100644 --- a/crates/verifier/src/verifier.rs +++ b/crates/verifier/src/verifier.rs @@ -52,9 +52,10 @@ impl UniversalVerifier { // TODO: clean this after we get rid of openvm v1.3. let is_openvm_v13 = { let hash = sha256::digest(&evm_verifier); - // from 0.5.2 release files - let is_openvm_v13 = - hash == ("4f1b70db9fade2ce7425924dc662d75c5a315f3a611ed8cadd68b516407a4cf1"); + // from 0.5.2 and 0.5.6 release files + let is_openvm_v13 = hash + == ("4f1b70db9fade2ce7425924dc662d75c5a315f3a611ed8cadd68b516407a4cf1") + || hash == ("d1f7a8066bd45c1bb82b73c7a7138d5793589fb8c6b2eb3c74b94db63109501d"); println!( "is_openvm_v13: {}, verifier.bin sha256sum: {}", is_openvm_v13, hash diff --git a/release-fork b/release-fork index a8690d6a..bfe701a9 100644 --- a/release-fork +++ b/release-fork @@ -1 +1 @@ -feynman +galileo