diff --git a/Cargo.lock b/Cargo.lock index 0065c587..e57872e1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -105,14 +105,14 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.0.38" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a0dd3ed764953a6b20458b2b7abbfdc93d20d14b38babe1a70fe631a443a9f1" +checksum = "90d103d3e440ad6f703dd71a5b58a6abd24834563bde8a5fabe706e00242f810" dependencies = [ - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "alloy-trie 0.9.1", "alloy-tx-macros", "auto_impl", @@ -131,15 +131,15 @@ dependencies = [ [[package]] name = "alloy-consensus-any" -version = "1.0.38" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9556182afa73cddffa91e64a5aa9508d5e8c912b3a15f26998d2388a824d2c7b" +checksum = "48ead76c8c84ab3a50c31c56bc2c748c2d64357ad2131c32f9b10ab790a25e1a" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "serde", ] @@ -203,16 +203,16 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "1.0.38" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305fa99b538ca7006b0c03cfed24ec6d82beda67aac857ef4714be24231d15e6" +checksum = "7bdbec74583d0067798d77afa43d58f00d93035335d7ceaa5d3f93857d461bb9" dependencies = [ "alloy-eip2124", "alloy-eip2930", "alloy-eip7702", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "auto_impl", "c-kzg", "derive_more 2.0.1", @@ -227,12 +227,12 @@ dependencies = [ [[package]] name = "alloy-evm" -version = "0.21.2" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06a5f67ee74999aa4fe576a83be1996bdf74a30fce3d248bf2007d6fc7dae8aa" +checksum = "08e9e656d58027542447c1ca5aa4ca96293f09e6920c4651953b7451a7c35e4e" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-hardforks", "alloy-primitives", "alloy-rpc-types-engine", @@ -240,10 +240,10 @@ 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.16", ] @@ -253,9 +253,9 @@ version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a272533715aefc900f89d51db00c96e6fd4f517ea081a12fea482a352c8c815c" dependencies = [ - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "alloy-trie 0.9.1", "serde", "serde_with", @@ -263,9 +263,9 @@ dependencies = [ [[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", @@ -289,9 +289,9 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.0.38" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91676d242c0ced99c0dd6d0096d7337babe9457cc43407d26aa6367fcf90553" +checksum = "d7c69f6c9c68a1287c9d5ff903d0010726934de0dac10989be37b75a29190d55" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -304,19 +304,19 @@ dependencies = [ [[package]] name = "alloy-network" -version = "1.0.38" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77f82150116b30ba92f588b87f08fa97a46a1bd5ffc0d0597efdf0843d36bfda" +checksum = "8eaf2ae05219e73e0979cb2cf55612aafbab191d130f203079805eaf881cca58" dependencies = [ "alloy-consensus", "alloy-consensus-any", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-json-rpc", "alloy-network-primitives", "alloy-primitives", "alloy-rpc-types-any", "alloy-rpc-types-eth", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "alloy-signer", "alloy-sol-types", "async-trait", @@ -330,21 +330,21 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "1.0.38" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "223612259a080160ce839a4e5df0125ca403a1d5e7206cc911cea54af5d769aa" +checksum = "a0e7918396eecd69d9c907046ec8a93fb09b89e2f325d5e7ea9c4e3929aa0dd2" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "serde", ] [[package]] name = "alloy-primitives" -version = "1.3.1" -source = "git+https://github.com/scroll-tech/alloy-core?branch=feat%2Frkyv#d748da779d515c0a8344c15e811482e254ba897f" +version = "1.4.1" +source = "git+https://github.com/scroll-tech/alloy-core?branch=feat%2F1.4.1-rkyv#3aaa867471c56a6deba7aaae15e4aa0fb1312e72" dependencies = [ "alloy-rlp", "bytes", @@ -370,13 +370,13 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "1.0.38" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7283b81b6f136100b152e699171bc7ed8184a58802accbc91a7df4ebb944445" +checksum = "de2597751539b1cc8fe4204e5325f9a9ed83fcacfb212018dfcfa7877e76de21" dependencies = [ "alloy-chains", "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-json-rpc", "alloy-network", "alloy-network-primitives", @@ -431,9 +431,9 @@ dependencies = [ [[package]] name = "alloy-rpc-client" -version = "1.0.38" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1154b12d470bef59951c62676e106f4ce5de73b987d86b9faa935acebb138ded" +checksum = "edf8eb8be597cfa8c312934d2566ec4516f066d69164f9212d7a148979fdcfd8" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -454,20 +454,20 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "1.0.38" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cc57ee0c1ac9fb14854195fc249494da7416591dc4a4d981ddfd5dd93b9bce" +checksum = "fbde0801a32d21c5f111f037bee7e22874836fba7add34ed4a6919932dd7cf23" dependencies = [ "alloy-consensus-any", "alloy-rpc-types-eth", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", ] [[package]] name = "alloy-rpc-types-debug" -version = "1.0.38" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0ac29dd005c33e3f7e09087accc80843315303685c3f7a1b888002cd27785b" +checksum = "01731601ea631bd825c652a225701ab466c09457f446b8d8129368a095389c5d" dependencies = [ "alloy-primitives", "derive_more 2.0.1", @@ -477,15 +477,15 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "1.0.38" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d9d173854879bcf26c7d71c1c3911972a3314df526f4349ffe488e676af577d" +checksum = "07da696cc7fbfead4b1dda8afe408685cae80975cbb024f843ba74d9639cd0d3" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "derive_more 2.0.1", "ethereum_ssz", "ethereum_ssz_derive", @@ -495,17 +495,17 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "1.0.38" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7d47bca1a2a1541e4404aa38b7e262bb4dffd9ac23b4f178729a4ddc5a5caa" +checksum = "361cd87ead4ba7659bda8127902eda92d17fa7ceb18aba1676f7be10f7222487" dependencies = [ "alloy-consensus", "alloy-consensus-any", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-network-primitives", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "alloy-sol-types", "itertools 0.14.0", "serde", @@ -527,9 +527,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.0.38" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8468f1a7f9ee3bae73c24eead0239abea720dbf7779384b9c7e20d51bfb6b0" +checksum = "01e856112bfa0d9adc85bd7c13db03fad0e71d1d6fb4c2010e475b6718108236" dependencies = [ "alloy-primitives", "serde", @@ -538,9 +538,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.0.38" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33387c90b0a5021f45a5a77c2ce6c49b8f6980e66a318181468fb24cea771670" +checksum = "66a4f629da632d5279bbc5731634f0f5c9484ad9c4cad0cd974d9669dc1f46d6" dependencies = [ "alloy-primitives", "async-trait", @@ -623,9 +623,9 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "1.0.38" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702002659778d89a94cd4ff2044f6b505460df6c162e2f47d1857573845b0ace" +checksum = "025a940182bddaeb594c26fe3728525ae262d0806fe6a4befdf5d7bc13d54bce" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -648,9 +648,9 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.0.38" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6bdc0830e5e8f08a4c70a4c791d400a86679c694a3b4b986caf26fad680438" +checksum = "e3b5064d1e1e1aabc918b5954e7fb8154c39e77ec6903a581b973198b26628fa" dependencies = [ "alloy-json-rpc", "alloy-transport", @@ -695,11 +695,10 @@ dependencies = [ [[package]] name = "alloy-tx-macros" -version = "1.0.38" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bf39928a5e70c9755d6811a2928131b53ba785ad37c8bf85c90175b5d43b818" +checksum = "7ccf423f6de62e8ce1d6c7a11fb7508ae3536d02e0d68aaeb05c8669337d0937" dependencies = [ - "alloy-primitives", "darling 0.21.3", "proc-macro2", "quote", @@ -1478,9 +1477,9 @@ checksum = "f5c434ae3cf0089ca203e9019ebe529c47ff45cefe8af7c85ecb734ef541822f" [[package]] name = "c-kzg" -version = "2.1.1" +version = "2.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7318cfa722931cb5fe0838b98d3ce5621e75f6a6408abc21721d80de9223f2e4" +checksum = "e00bf4b112b07b505472dbefd19e37e53307e2bfed5a79e0cc161d58ccd0e687" dependencies = [ "blst", "cc", @@ -2281,7 +2280,7 @@ dependencies = [ [[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#b167b3fb2350995dd319da0bc71f5cbc7feb367f" dependencies = [ "zstd", ] @@ -4119,43 +4118,57 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a501241474c3118833d6195312ae7eb7cc90bbb0d5f524cbb0b06619e49ff67" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "derive_more 2.0.1", "serde", "serde_with", "thiserror 2.0.16", ] +[[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.0", + "alloy-primitives", + "alloy-rlp", + "derive_more 2.0.1", + "thiserror 2.0.16", +] + [[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.0.38", + "alloy-eips 1.1.0", "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.16", ] [[package]] name = "op-revm" -version = "10.0.0" +version = "11.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba21d705bbbfc947a423cba466d75e4af0c7d43ee89ba0a0f1cfa04963cede9" +checksum = "3f68e30e34902f61fc053ea3094229d0bf7c78ed1d24e6d0d89306c2d2db1687" dependencies = [ "auto_impl", - "revm 29.0.1", + "revm 30.2.0", "serde", ] @@ -5760,8 +5773,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", ] @@ -5771,18 +5795,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.106", +] + +[[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.106", @@ -5797,6 +5844,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" @@ -6296,11 +6352,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-chains", "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-evm", "alloy-genesis", "alloy-primitives", @@ -6316,16 +6372,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "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", @@ -6334,7 +6390,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "proc-macro2", "quote", @@ -6344,7 +6400,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -6357,10 +6413,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "reth-chainspec", "reth-consensus", "reth-primitives-traits", @@ -6369,9 +6425,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", "reth-primitives-traits", ] @@ -6379,7 +6435,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -6390,10 +6446,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", "reth-chainspec", "reth-consensus", @@ -6406,7 +6462,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -6418,14 +6474,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-eth", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "reth-codecs", "reth-primitives-traits", "serde", @@ -6435,10 +6491,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-evm", "alloy-primitives", "auto_impl", @@ -6450,17 +6506,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-evm", "alloy-primitives", "alloy-rpc-types-engine", @@ -6471,13 +6527,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-evm", "alloy-primitives", @@ -6490,23 +6546,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -6518,7 +6574,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", "once_cell", @@ -6531,10 +6587,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-genesis", "alloy-primitives", "alloy-rlp", @@ -6544,11 +6600,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", @@ -6559,7 +6615,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-primitives", "derive_more 2.0.1", @@ -6569,26 +6625,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" 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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-chains", "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-genesis", "alloy-primitives", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "auto_impl", "derive_more 2.0.1", "once_cell", @@ -6606,10 +6662,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-evm", "alloy-primitives", "alloy-rpc-types-engine", @@ -6623,9 +6679,9 @@ dependencies = [ "reth-scroll-forks", "reth-scroll-primitives", "reth-storage-api", - "revm 29.0.1", - "revm-primitives 20.2.1", - "revm-scroll", + "revm 30.1.1", + "revm-primitives 21.0.1", + "revm-scroll 0.1.0 (git+https://github.com/scroll-tech/scroll-revm?branch=feat%2Fv88)", "scroll-alloy-consensus", "scroll-alloy-evm", "scroll-alloy-hardforks", @@ -6636,7 +6692,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-chains", "alloy-primitives", @@ -6650,10 +6706,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", "alloy-rlp", "bytes", @@ -6667,7 +6723,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-primitives", "reth-trie-common", @@ -6676,7 +6732,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -6702,7 +6758,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-primitives", "derive_more 2.0.1", @@ -6713,10 +6769,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", "alloy-rpc-types-engine", "auto_impl", @@ -6729,32 +6785,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "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.16", ] [[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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", "alloy-rlp", "alloy-trie 0.9.1", @@ -6766,14 +6822,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -6783,13 +6839,13 @@ dependencies = [ "itertools 0.14.0", "nybbles 0.4.5", "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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -6805,7 +6861,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "zstd", ] @@ -6829,22 +6885,78 @@ dependencies = [ "revm-state 3.0.0", ] +[[package]] +name = "revm" +version = "29.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718d90dce5f07e115d0e66450b1b8aa29694c1cf3f89ebddaddccc2ccbd2f13e" +dependencies = [ + "revm-bytecode 6.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-context 9.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-context-interface 10.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-database 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-database-interface 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-handler 10.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-inspector 10.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-interpreter 25.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-precompile 27.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-primitives 20.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-state 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "revm" version = "29.0.1" source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ - "revm-bytecode 6.2.2", - "revm-context 9.1.0", - "revm-context-interface 10.2.0", - "revm-database 7.0.5", - "revm-database-interface 7.0.5", - "revm-handler 10.0.1", - "revm-inspector 10.0.1", - "revm-interpreter 25.0.3", - "revm-precompile 27.0.0", - "revm-primitives 20.2.1", - "revm-state 7.0.5", + "revm-bytecode 6.2.2 (git+https://github.com/scroll-tech/revm)", + "revm-context 9.1.0 (git+https://github.com/scroll-tech/revm)", + "revm-context-interface 10.2.0 (git+https://github.com/scroll-tech/revm)", + "revm-database 7.0.5 (git+https://github.com/scroll-tech/revm)", + "revm-database-interface 7.0.5 (git+https://github.com/scroll-tech/revm)", + "revm-handler 10.0.1 (git+https://github.com/scroll-tech/revm)", + "revm-inspector 10.0.1 (git+https://github.com/scroll-tech/revm)", + "revm-interpreter 25.0.3 (git+https://github.com/scroll-tech/revm)", + "revm-precompile 27.0.0 (git+https://github.com/scroll-tech/revm)", + "revm-primitives 20.2.1 (git+https://github.com/scroll-tech/revm)", + "revm-state 7.0.5 (git+https://github.com/scroll-tech/revm)", +] + +[[package]] +name = "revm" +version = "30.1.1" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +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.5", + "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.1", + "revm-state 8.1.1", ] [[package]] @@ -6854,19 +6966,52 @@ 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", ] +[[package]] +name = "revm-bytecode" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66c52031b73cae95d84cd1b07725808b5fd1500da3e5e24574a3b2dc13d9f16d" +dependencies = [ + "bitvec", + "phf 0.11.3", + "revm-primitives 20.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", +] + [[package]] name = "revm-bytecode" version = "6.2.2" source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ "bitvec", - "phf", - "revm-primitives 20.2.1", + "revm-primitives 20.2.1 (git+https://github.com/scroll-tech/revm)", +] + +[[package]] +name = "revm-bytecode" +version = "7.0.1" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +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", ] @@ -6886,6 +7031,23 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-context" +version = "9.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a20c98e7008591a6f012550c2a00aa36cba8c14cc88eb88dec32eb9102554b4" +dependencies = [ + "bitvec", + "cfg-if", + "derive-where", + "revm-bytecode 6.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-context-interface 10.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-database-interface 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-primitives 20.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-state 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", +] + [[package]] name = "revm-context" version = "9.1.0" @@ -6894,11 +7056,43 @@ dependencies = [ "bitvec", "cfg-if", "derive-where", - "revm-bytecode 6.2.2", - "revm-context-interface 10.2.0", - "revm-database-interface 7.0.5", - "revm-primitives 20.2.1", - "revm-state 7.0.5", + "revm-bytecode 6.2.2 (git+https://github.com/scroll-tech/revm)", + "revm-context-interface 10.2.0 (git+https://github.com/scroll-tech/revm)", + "revm-database-interface 7.0.5 (git+https://github.com/scroll-tech/revm)", + "revm-primitives 20.2.1 (git+https://github.com/scroll-tech/revm)", + "revm-state 7.0.5 (git+https://github.com/scroll-tech/revm)", +] + +[[package]] +name = "revm-context" +version = "10.1.1" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +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.1", + "revm-state 8.1.1", "serde", ] @@ -6917,6 +7111,22 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-context-interface" +version = "10.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b50d241ed1ce647b94caf174fcd0239b7651318b2c4c06b825b59b973dfb8495" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702", + "auto_impl", + "either", + "revm-database-interface 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-primitives 20.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-state 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", +] + [[package]] name = "revm-context-interface" version = "10.2.0" @@ -6926,9 +7136,39 @@ dependencies = [ "alloy-eip7702", "auto_impl", "either", - "revm-database-interface 7.0.5", - "revm-primitives 20.2.1", - "revm-state 7.0.5", + "revm-database-interface 7.0.5 (git+https://github.com/scroll-tech/revm)", + "revm-primitives 20.2.1 (git+https://github.com/scroll-tech/revm)", + "revm-state 7.0.5 (git+https://github.com/scroll-tech/revm)", +] + +[[package]] +name = "revm-context-interface" +version = "11.1.1" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +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.1", + "revm-state 8.1.1", "serde", ] @@ -6946,16 +7186,55 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-database" +version = "7.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39a276ed142b4718dcf64bc9624f474373ed82ef20611025045c3fb23edbef9c" +dependencies = [ + "alloy-eips 1.1.0", + "revm-bytecode 6.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-database-interface 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-primitives 20.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-state 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", +] + [[package]] name = "revm-database" version = "7.0.5" source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ - "alloy-eips 1.0.38", - "revm-bytecode 6.2.2", - "revm-database-interface 7.0.5", - "revm-primitives 20.2.1", - "revm-state 7.0.5", + "revm-bytecode 6.2.2 (git+https://github.com/scroll-tech/revm)", + "revm-database-interface 7.0.5 (git+https://github.com/scroll-tech/revm)", + "revm-primitives 20.2.1 (git+https://github.com/scroll-tech/revm)", + "revm-state 7.0.5 (git+https://github.com/scroll-tech/revm)", +] + +[[package]] +name = "revm-database" +version = "9.0.1" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +dependencies = [ + "alloy-eips 1.1.0", + "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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b6c15bb255481fcf29f5ef7c97f00ed4c28a6ab6c490d77b990d73603031569" +dependencies = [ + "alloy-eips 1.1.0", + "revm-bytecode 7.1.1", + "revm-database-interface 8.0.5", + "revm-primitives 21.0.2", + "revm-state 8.1.1", "serde", ] @@ -6971,6 +7250,19 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-database-interface" +version = "7.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c523c77e74eeedbac5d6f7c092e3851dbe9c7fec6f418b85992bd79229db361" +dependencies = [ + "auto_impl", + "either", + "revm-primitives 20.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-state 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", +] + [[package]] name = "revm-database-interface" version = "7.0.5" @@ -6978,8 +7270,32 @@ source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece dependencies = [ "auto_impl", "either", - "revm-primitives 20.2.1", - "revm-state 7.0.5", + "revm-primitives 20.2.1 (git+https://github.com/scroll-tech/revm)", + "revm-state 7.0.5 (git+https://github.com/scroll-tech/revm)", +] + +[[package]] +name = "revm-database-interface" +version = "8.0.2" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +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", ] @@ -7001,6 +7317,25 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-handler" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "550331ea85c1d257686e672081576172fe3d5a10526248b663bbf54f1bef226a" +dependencies = [ + "auto_impl", + "derive-where", + "revm-bytecode 6.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-context 9.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-context-interface 10.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-database-interface 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-interpreter 25.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-precompile 27.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-primitives 20.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-state 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", +] + [[package]] name = "revm-handler" version = "10.0.1" @@ -7008,14 +7343,50 @@ source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece dependencies = [ "auto_impl", "derive-where", - "revm-bytecode 6.2.2", - "revm-context 9.1.0", - "revm-context-interface 10.2.0", - "revm-database-interface 7.0.5", - "revm-interpreter 25.0.3", - "revm-precompile 27.0.0", - "revm-primitives 20.2.1", - "revm-state 7.0.5", + "revm-bytecode 6.2.2 (git+https://github.com/scroll-tech/revm)", + "revm-context 9.1.0 (git+https://github.com/scroll-tech/revm)", + "revm-context-interface 10.2.0 (git+https://github.com/scroll-tech/revm)", + "revm-database-interface 7.0.5 (git+https://github.com/scroll-tech/revm)", + "revm-interpreter 25.0.3 (git+https://github.com/scroll-tech/revm)", + "revm-precompile 27.0.0 (git+https://github.com/scroll-tech/revm)", + "revm-primitives 20.2.1 (git+https://github.com/scroll-tech/revm)", + "revm-state 7.0.5 (git+https://github.com/scroll-tech/revm)", +] + +[[package]] +name = "revm-handler" +version = "11.1.1" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +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.1", + "revm-state 8.1.1", "serde", ] @@ -7036,6 +7407,24 @@ dependencies = [ "serde_json", ] +[[package]] +name = "revm-inspector" +version = "10.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c0a6e9ccc2ae006f5bed8bd80cd6f8d3832cd55c5e861b9402fdd556098512f" +dependencies = [ + "auto_impl", + "either", + "revm-context 9.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-database-interface 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-handler 10.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-interpreter 25.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-primitives 20.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-state 7.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", + "serde_json", +] + [[package]] name = "revm-inspector" version = "10.0.1" @@ -7043,12 +7432,45 @@ source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece dependencies = [ "auto_impl", "either", - "revm-context 9.1.0", - "revm-database-interface 7.0.5", - "revm-handler 10.0.1", - "revm-interpreter 25.0.3", - "revm-primitives 20.2.1", - "revm-state 7.0.5", + "revm-context 9.1.0 (git+https://github.com/scroll-tech/revm)", + "revm-database-interface 7.0.5 (git+https://github.com/scroll-tech/revm)", + "revm-handler 10.0.1 (git+https://github.com/scroll-tech/revm)", + "revm-interpreter 25.0.3 (git+https://github.com/scroll-tech/revm)", + "revm-primitives 20.2.1 (git+https://github.com/scroll-tech/revm)", + "revm-state 7.0.5 (git+https://github.com/scroll-tech/revm)", +] + +[[package]] +name = "revm-inspector" +version = "11.1.1" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +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.1", + "revm-state 8.1.1", "serde", "serde_json", ] @@ -7065,14 +7487,50 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-interpreter" +version = "25.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06575dc51b1d8f5091daa12a435733a90b4a132dca7ccee0666c7db3851bc30c" +dependencies = [ + "revm-bytecode 6.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-context-interface 10.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-primitives 20.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", +] + [[package]] name = "revm-interpreter" version = "25.0.3" source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ - "revm-bytecode 6.2.2", - "revm-context-interface 10.2.0", - "revm-primitives 20.2.1", + "revm-bytecode 6.2.2 (git+https://github.com/scroll-tech/revm)", + "revm-context-interface 10.2.0 (git+https://github.com/scroll-tech/revm)", + "revm-primitives 20.2.1 (git+https://github.com/scroll-tech/revm)", +] + +[[package]] +name = "revm-interpreter" +version = "27.0.1" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +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.1", + "revm-state 8.1.1", "serde", ] @@ -7104,7 +7562,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", @@ -7119,7 +7578,50 @@ dependencies = [ "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "libsecp256k1", "p256 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", - "revm-primitives 20.2.1", + "revm-primitives 20.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ripemd", + "rug", + "secp256k1 0.31.1", + "sha2 0.10.9", +] + +[[package]] +name = "revm-precompile" +version = "27.0.0" +source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +dependencies = [ + "ark-bls12-381", + "ark-bn254", + "ark-ec", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "arrayref", + "aurora-engine-modexp", + "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 20.2.1 (git+https://github.com/scroll-tech/revm)", + "ripemd", + "sha2 0.10.9", +] + +[[package]] +name = "revm-precompile" +version = "28.1.1" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +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", @@ -7137,10 +7639,44 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-primitives" +version = "20.2.1" +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 = "20.2.1" source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" +dependencies = [ + "alloy-primitives", + "num_enum", + "once_cell", +] + +[[package]] +name = "revm-primitives" +version = "21.0.1" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +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", @@ -7151,17 +7687,30 @@ 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?branch=feat%2Fv88#ae062484bda09e638a4b576dcdfac11dba1823d1" 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", ] +[[package]] +name = "revm-scroll" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/scroll-revm#919aa258ae00c5533380c9d866e8acc2cb95f8bc" +dependencies = [ + "auto_impl", + "enumn", + "once_cell", + "revm 29.0.1 (git+https://github.com/scroll-tech/revm)", + "revm-inspector 10.0.1 (git+https://github.com/scroll-tech/revm)", + "revm-primitives 20.2.1 (git+https://github.com/scroll-tech/revm)", +] + [[package]] name = "revm-state" version = "3.0.0" @@ -7174,14 +7723,48 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-state" +version = "7.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f64fbacb86008394aaebd3454f9643b7d5a782bd251135e17c5b33da592d84d" +dependencies = [ + "bitflags", + "revm-bytecode 6.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "revm-primitives 20.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", +] + [[package]] name = "revm-state" version = "7.0.5" source = "git+https://github.com/scroll-tech/revm#51f65cca104d85ea41125e88d58ece665d1f43c1" dependencies = [ "bitflags", - "revm-bytecode 6.2.2", - "revm-primitives 20.2.1", + "revm-bytecode 6.2.2 (git+https://github.com/scroll-tech/revm)", + "revm-primitives 20.2.1 (git+https://github.com/scroll-tech/revm)", +] + +[[package]] +name = "revm-state" +version = "8.0.1" +source = "git+https://github.com/scroll-tech/revm?branch=feat%2Fv88#852d0f9fbfdd579898bc19085b720cc202b68541" +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", ] @@ -7406,7 +7989,7 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[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?branch=fix%2Fbuild-chainspec#9f1fc6c9939cc8b9e9d019e0f6bd939a9336835b" dependencies = [ "auto_impl", "itertools 0.14.0", @@ -7423,7 +8006,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?branch=fix%2Fbuild-chainspec#9f1fc6c9939cc8b9e9d019e0f6bd939a9336835b" dependencies = [ "tracing", ] @@ -7431,16 +8014,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?branch=fix%2Fbuild-chainspec#9f1fc6c9939cc8b9e9d019e0f6bd939a9336835b" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-evm", "alloy-network", "alloy-primitives", "alloy-rpc-types-debug", "alloy-rpc-types-eth", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "auto_impl", "itertools 0.14.0", "reth-chainspec", @@ -7454,8 +8037,8 @@ dependencies = [ "reth-scroll-evm", "reth-scroll-forks", "reth-scroll-primitives", - "revm 29.0.1", - "revm-scroll", + "revm 30.1.1", + "revm-scroll 0.1.0 (git+https://github.com/scroll-tech/scroll-revm)", "rkyv", "sbv-helpers", "scroll-alloy-consensus", @@ -7468,7 +8051,7 @@ 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?branch=fix%2Fbuild-chainspec#9f1fc6c9939cc8b9e9d019e0f6bd939a9336835b" dependencies = [ "alloy-rlp", "alloy-trie 0.9.1", @@ -7485,7 +8068,7 @@ dependencies = [ [[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?branch=fix%2Fbuild-chainspec#9f1fc6c9939cc8b9e9d019e0f6bd939a9336835b" dependencies = [ "alloy-provider", "alloy-rpc-client", @@ -7540,13 +8123,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "derive_more 2.0.1", "reth-codecs", "serde", @@ -7556,16 +8139,16 @@ 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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-evm", "alloy-primitives", "auto_impl", "encoder-standard", - "revm 29.0.1", - "revm-scroll", + "revm 30.1.1", + "revm-scroll 0.1.0 (git+https://github.com/scroll-tech/scroll-revm?branch=feat%2Fv88)", "scroll-alloy-consensus", "scroll-alloy-hardforks", "serde", @@ -7574,7 +8157,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-hardforks", "auto_impl", @@ -7584,7 +8167,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", "alloy-network", @@ -7599,14 +8182,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?rev=4a86e62b0e872de859edaf8604342fbfb00185e6#4a86e62b0e872de859edaf8604342fbfb00185e6" dependencies = [ "alloy-consensus", - "alloy-eips 1.0.38", + "alloy-eips 1.1.0", "alloy-network-primitives", "alloy-primitives", "alloy-rpc-types-eth", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "derive_more 2.0.1", "scroll-alloy-consensus", "serde", @@ -7631,7 +8214,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-build-guest" -version = "0.6.0" +version = "0.7.0" dependencies = [ "cargo_metadata 0.19.2", "clap", @@ -7686,7 +8269,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-integration" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-primitives", "alloy-provider", @@ -7712,7 +8295,7 @@ dependencies = [ "openvm-sdk", "rayon", "regex", - "revm 29.0.1", + "revm 29.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "rkyv", "sbv-core", "sbv-primitives", @@ -7733,7 +8316,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-prover" -version = "0.6.0" +version = "0.7.0" dependencies = [ "base64", "bincode 1.3.3", @@ -7759,7 +8342,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-primitives", "base64", @@ -7779,10 +8362,10 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-base" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-primitives", - "alloy-serde 1.0.38", + "alloy-serde 1.1.1", "rkyv", "serde", "sha2 0.10.9", @@ -7791,7 +8374,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-batch" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-primitives", "c-kzg", @@ -7812,7 +8395,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-bundle" -version = "0.6.0" +version = "0.7.0" dependencies = [ "rkyv", "scroll-zkvm-types-base", @@ -7821,7 +8404,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-chunk" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7846,7 +8429,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-circuit" -version = "0.6.0" +version = "0.7.0" dependencies = [ "alloy-primitives", "itertools 0.14.0", @@ -7858,7 +8441,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" -version = "0.6.0" +version = "0.7.0" dependencies = [ "bincode 1.3.3", "eyre", diff --git a/Cargo.toml b/Cargo.toml index 0180f674..7ec8e774 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,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 @@ -69,17 +69,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", branch = "fix/build-chainspec" } +sbv-helpers = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "fix/build-chainspec", features = ["dev"] } +sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "fix/build-chainspec" } +sbv-utils = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "fix/build-chainspec" } +sbv-trie = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "fix/build-chainspec" } 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", @@ -143,20 +143,20 @@ 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" } +revm = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } +revm-bytecode = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } +revm-context = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } +revm-context-interface = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } +revm-database = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } +revm-database-interface = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } +revm-handler = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } +revm-inspector = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } +revm-interpreter = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } +revm-precompile = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } +revm-primitives = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } +revm-state = { git = "https://github.com/scroll-tech/revm", branch = "feat/v88" } -alloy-primitives = { git = "https://github.com/scroll-tech/alloy-core", branch = "feat/rkyv" } +alloy-primitives = { git = "https://github.com/scroll-tech/alloy-core", branch = "feat/1.4.1-rkyv" } ## 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 31ba7cf6..6848ffc4 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] = [1649793006, 453918448, 700472053, 1708688727, 1956651385, 1452705656, 611459631, 1820274171]; +pub const COMMIT: [u32; 8] = [179444281, 1587991515, 1300088146, 1606962582, 808229465, 212272225, 1248403816, 112660624]; diff --git a/crates/circuits/bundle-circuit/bundle_exe_commit.rs b/crates/circuits/bundle-circuit/bundle_exe_commit.rs index 527a5026..b8d66558 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] = [2012351307, 1390891344, 349217220, 1980321794, 92671869, 1673212720, 1290433404, 1552447571]; +pub const COMMIT: [u32; 8] = [395162506, 141621820, 1610171743, 6703395, 658678113, 251228707, 1166092945, 1635313873]; diff --git a/crates/circuits/chunk-circuit/chunk_exe_commit.rs b/crates/circuits/chunk-circuit/chunk_exe_commit.rs index 70205ab2..5a17e19a 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] = [534218310, 1811212981, 1016259372, 652600422, 1802874675, 1341042917, 594473376, 479497145]; +pub const COMMIT: [u32; 8] = [1209101837, 99643033, 996198416, 1107956009, 1219145045, 927684997, 1902587021, 1745407319]; diff --git a/crates/integration/src/lib.rs b/crates/integration/src/lib.rs index 09dae8fe..4fcc2eee 100644 --- a/crates/integration/src/lib.rs +++ b/crates/integration/src/lib.rs @@ -39,12 +39,12 @@ const ENV_OUTPUT_DIR: &str = "OUTPUT_DIR"; /// Enviroment settings for test: fork pub fn testing_hardfork() -> ForkName { - ForkName::Feynman + ForkName::Galileo } /// 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/chunk.rs b/crates/integration/src/testers/chunk.rs index bf46db83..991ea3c8 100644 --- a/crates/integration/src/testers/chunk.rs +++ b/crates/integration/src/testers/chunk.rs @@ -221,6 +221,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 { @@ -282,6 +283,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 ecb2a150..736a1b3a 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, @@ -202,9 +202,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); @@ -299,7 +307,7 @@ pub fn build_batch_witnesses( blob_versioned_hash, }) } - ForkName::Feynman => { + ForkName::Feynman | ForkName::Galileo => { use scroll_zkvm_types::batch::BatchHeaderV8; let _ = x + z; ReferenceHeader::V8(BatchHeaderV8 { @@ -429,6 +437,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()?; diff --git a/crates/integration/tests/batch_circuit.rs b/crates/integration/tests/batch_circuit.rs index 1adedcd8..d2f1907b 100644 --- a/crates/integration/tests/batch_circuit.rs +++ b/crates/integration/tests/batch_circuit.rs @@ -96,6 +96,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 be2c0c7b..f7757315 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}; @@ -133,12 +133,14 @@ fn e2e() -> eyre::Result<()> { 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..da95a2e2 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,6 +44,7 @@ impl ForkName { ForkName::EuclidV1 => "euclidv1", ForkName::EuclidV2 => "euclidv2", ForkName::Feynman => "feynman", + ForkName::Galileo => "galileo", } } /// Convert ForkName to its protocol version @@ -50,6 +53,7 @@ impl ForkName { ForkName::EuclidV1 => 6, ForkName::EuclidV2 => 7, ForkName::Feynman => 8, + ForkName::Galileo => 9, } } } @@ -61,6 +65,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 +77,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/batch.rs b/crates/types/base/src/public_inputs/batch.rs index 80d1cb0a..c34d1514 100644 --- a/crates/types/base/src/public_inputs/batch.rs +++ b/crates/types/base/src/public_inputs/batch.rs @@ -107,6 +107,35 @@ 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( @@ -148,6 +177,7 @@ impl MultiVersionPublicInputs for BatchInfo { ForkName::EuclidV1 => self.pi_hash_euclidv1(), ForkName::EuclidV2 => self.pi_hash_euclidv2(), ForkName::Feynman => self.pi_hash_feynman(), + _ => unreachable!("Fork > Feynman should use `pi_hash_by_version`"), } } @@ -156,6 +186,7 @@ impl MultiVersionPublicInputs for BatchInfo { (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::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..7042569d 100644 --- a/crates/types/base/src/public_inputs/bundle.rs +++ b/crates/types/base/src/public_inputs/bundle.rs @@ -105,6 +105,20 @@ impl BundleInfo { keccak256(pi) } + pub fn pi_galileo(&self) -> Vec { + std::iter::empty() + .chain(self.chain_id.to_be_bytes().as_slice()) + .chain(self.msg_queue_hash.as_slice()) + .chain(self.num_batches.to_be_bytes().as_slice()) + .chain(self.prev_state_root.as_slice()) + .chain(self.prev_batch_hash.as_slice()) + .chain(self.post_state_root.as_slice()) + .chain(self.batch_hash.as_slice()) + .chain(self.withdraw_root.as_slice()) + .cloned() + .collect() + } + pub fn pi_hash_versioned(&self, version: Version, pi: &[u8]) -> B256 { let version_byte = version.as_version_byte(); keccak256( @@ -129,6 +143,7 @@ impl BundleInfo { ForkName::EuclidV1 => self.pi_hash_euclidv1(), ForkName::EuclidV2 => self.pi_hash_euclidv2(), ForkName::Feynman => self.pi_hash_feynman(), + _ => unreachable!("Fork > Feynman should use `pi_hash_by_version`"), } } } @@ -141,6 +156,7 @@ impl MultiVersionPublicInputs for BundleInfo { ForkName::EuclidV1 => self.pi_hash_euclidv1(), ForkName::EuclidV2 => self.pi_hash_euclidv2(), ForkName::Feynman => self.pi_hash_feynman(), + _ => unreachable!("Fork > Feynman should use `pi_hash_by_version`"), } } @@ -149,6 +165,9 @@ impl MultiVersionPublicInputs for BundleInfo { (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_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..3362937f 100644 --- a/crates/types/base/src/public_inputs/chunk.rs +++ b/crates/types/base/src/public_inputs/chunk.rs @@ -272,6 +272,44 @@ impl ChunkInfo { ) } + /// 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( @@ -332,6 +370,7 @@ impl MultiVersionPublicInputs for ChunkInfo { // Feynman fork uses the same hash as EuclidV2 self.pi_hash_euclidv2() } + _ => unreachable!("Fork > Feynman should use `pi_hash_by_version`"), } } @@ -341,6 +380,7 @@ impl MultiVersionPublicInputs for ChunkInfo { (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::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..be8c8661 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}"), } } @@ -77,8 +80,16 @@ pub enum Codec { 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, + Codec::V8 => 8, + } + } } /// The number of bits used for [`STFVersion`]. @@ -132,18 +143,31 @@ impl Version { } } + pub const fn galileo() -> Self { + Self { + domain: Domain::Scroll, + stf_version: STFVersion::V9, + fork: ForkName::Galileo, + codec: Codec::V8, + } + } + pub const fn validium_v1() -> Self { Self { domain: Domain::Validium, stf_version: STFVersion::V1, fork: ForkName::Feynman, - codec: Codec::V9, + codec: Codec::V8, } } pub fn is_validium(&self) -> bool { self.domain == Domain::Validium } + + pub fn codec(&self) -> u8 { + self.codec.into() + } } impl Default for Version { @@ -161,6 +185,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 +195,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..77fb8c99 100644 --- a/crates/types/batch/src/builder/mod.rs +++ b/crates/types/batch/src/builder/mod.rs @@ -31,5 +31,5 @@ pub trait BatchInfoBuilder { /// 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/payload/mod.rs b/crates/types/batch/src/payload/mod.rs index 1d3b9d6f..98668208 100644 --- a/crates/types/batch/src/payload/mod.rs +++ b/crates/types/batch/src/payload/mod.rs @@ -22,16 +22,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..a25ff738 100644 --- a/crates/types/batch/src/payload/v7.rs +++ b/crates/types/batch/src/payload/v7.rs @@ -6,13 +6,13 @@ use types_base::{ use crate::BatchHeaderV7; -use super::{DA_CODEC_VERSION_V7, N_BLOB_BYTES}; +use super::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; +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. /// @@ -23,7 +23,7 @@ pub type PayloadV7 = GenericPayloadV7; /// 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 index 4eefd17e..dad654b1 100644 --- a/crates/types/batch/src/payload/v8.rs +++ b/crates/types/batch/src/payload/v8.rs @@ -1,10 +1,7 @@ -use super::{ - DA_CODEC_VERSION_V8, - v7::{GenericEnvelopeV7, GenericPayloadV7}, -}; +use super::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 EnvelopeV8 = GenericEnvelopeV7; -pub type PayloadV8 = GenericPayloadV7; +pub type PayloadV8 = GenericPayloadV7; diff --git a/crates/types/batch/src/witness.rs b/crates/types/batch/src/witness.rs index 19baa665..0d2bcd8a 100644 --- a/crates/types/batch/src/witness.rs +++ b/crates/types/batch/src/witness.rs @@ -207,7 +207,7 @@ 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) => { let point_eval_witness = witness @@ -220,7 +220,7 @@ 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 @@ -233,7 +233,7 @@ impl From<&BatchWitness> for BatchInfo { blob_bytes: witness.blob_bytes.to_vec(), point_eval_witness: Some(point_eval_witness.clone()), }; - BatchInfoBuilderV8::build(args) + BatchInfoBuilderV8::build(witness.version, args) } 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/release-fork b/release-fork index a8690d6a..bfe701a9 100644 --- a/release-fork +++ b/release-fork @@ -1 +1 @@ -feynman +galileo