diff --git a/Cargo.lock b/Cargo.lock index 1c1ee8e..b2219f0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -146,10 +146,10 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6440213a22df93a87ed512d2f668e7dc1d62a05642d107f82d61edc9e12370" dependencies = [ - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.2", + "alloy-serde", "alloy-trie 0.9.1", "alloy-tx-macros", "auto_impl", @@ -174,10 +174,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15d0bea09287942405c4f9d2a4f22d1e07611c2dbd9d5bf94b75366340f9e6e0" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.2", + "alloy-serde", "serde", ] @@ -221,26 +221,6 @@ dependencies = [ "thiserror 2.0.17", ] -[[package]] -name = "alloy-eips" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "609515c1955b33af3d78d26357540f68c5551a90ef58fd53def04f2aa074ec43" -dependencies = [ - "alloy-eip2124", - "alloy-eip2930", - "alloy-eip7702", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 0.14.0", - "auto_impl", - "c-kzg", - "derive_more 2.0.1", - "either", - "serde", - "sha2 0.10.9", -] - [[package]] name = "alloy-eips" version = "1.1.2" @@ -252,7 +232,7 @@ dependencies = [ "alloy-eip7702", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.2", + "alloy-serde", "auto_impl", "borsh", "c-kzg", @@ -271,7 +251,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08e9e656d58027542447c1ca5aa4ca96293f09e6920c4651953b7451a7c35e4e" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-hardforks", "alloy-primitives", "alloy-sol-types", @@ -287,9 +267,9 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc47eaae86488b07ea8e20236184944072a78784a1f4993f8ec17b3aa5d08c21" dependencies = [ - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", - "alloy-serde 1.1.2", + "alloy-serde", "alloy-trie 0.9.1", "borsh", "serde", @@ -309,6 +289,18 @@ dependencies = [ "dyn-clone", ] +[[package]] +name = "alloy-json-abi" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5513d5e6bd1cba6bdcf5373470f559f320c05c8c59493b6e98912fbe6733943f" +dependencies = [ + "alloy-primitives", + "alloy-sol-type-parser", + "serde", + "serde_json", +] + [[package]] name = "alloy-network-primitives" version = "1.1.2" @@ -316,9 +308,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7805124ad69e57bbae7731c9c344571700b2a18d351bda9e0eba521c991d1bcb" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", - "alloy-serde 1.1.2", + "alloy-serde", "serde", ] @@ -390,7 +382,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4c53a8b0905d931e7921774a1830609713bd3e8222347963172b03a3ecc68" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", "derive_more 2.0.1", @@ -405,11 +397,11 @@ checksum = "ed5fafb741c19b3cca4cdd04fa215c89413491f9695a3e928dee2ae5657f607e" dependencies = [ "alloy-consensus", "alloy-consensus-any", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-network-primitives", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.2", + "alloy-serde", "alloy-sol-types", "itertools 0.14.0", "serde", @@ -418,17 +410,6 @@ dependencies = [ "thiserror 2.0.17", ] -[[package]] -name = "alloy-serde" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4dba6ff08916bc0a9cbba121ce21f67c0b554c39cf174bc7b9df6c651bd3c3b" -dependencies = [ - "alloy-primitives", - "serde", - "serde_json", -] - [[package]] name = "alloy-serde" version = "1.1.2" @@ -488,14 +469,26 @@ dependencies = [ "syn-solidity", ] +[[package]] +name = "alloy-sol-type-parser" +version = "1.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c2a8abc3334044013b23d5e438cc5dc802e5544cc42b713d0840d5185967cc" +dependencies = [ + "serde", + "winnow 1.0.4", +] + [[package]] name = "alloy-sol-types" version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70319350969a3af119da6fb3e9bddb1bce66c9ea933600cb297c8b1850ad2a3c" dependencies = [ + "alloy-json-abi", "alloy-primitives", "alloy-sol-macro", + "serde", ] [[package]] @@ -1048,24 +1041,10 @@ version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "648bd963d2e5d465377acecfb4b827f9f553b6bc97a8f61715779e9ed9e52b74" dependencies = [ - "arrayvec", - "bitcode_derive", "bytemuck", - "glam", "serde", ] -[[package]] -name = "bitcode_derive" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffebfc2d28a12b262c303cb3860ee77b91bd83b1f20f0bd2a9693008e2f55a9e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.110", -] - [[package]] name = "bitcoin-io" version = "0.1.3" @@ -1130,19 +1109,6 @@ dependencies = [ "constant_time_eq", ] -[[package]] -name = "blake3" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.9.0" @@ -1253,7 +1219,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" dependencies = [ "once_cell", - "proc-macro-crate", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", "syn 2.0.110", @@ -1292,6 +1258,12 @@ dependencies = [ "serde", ] +[[package]] +name = "bytesize" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7354288c522e7e980fafd2075d63d1285794c3a6a16cdd492f189ea406e5f18b" + [[package]] name = "c-kzg" version = "2.1.5" @@ -1426,6 +1398,15 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" +[[package]] +name = "cobs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" +dependencies = [ + "thiserror 2.0.17", +] + [[package]] name = "colorchoice" version = "1.0.4" @@ -1659,6 +1640,22 @@ dependencies = [ "rand_core 0.9.3", ] +[[package]] +name = "ctor" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67773048316103656a637612c4a62477603b777d91d9c62ff2290f9cde178fdb" +dependencies = [ + "ctor-proc-macro", + "dtor", +] + +[[package]] +name = "ctor-proc-macro" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2931af7e13dc045d8e9d26afccc6fa115d64e115c9c84b1166288b46f6782c2" + [[package]] name = "ctr" version = "0.10.0-rc.1" @@ -1864,6 +1861,21 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "dtor" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "404d02eeb088a82cfd873006cb713fe411306c7d182c344905e101fb1167d301" +dependencies = [ + "dtor-proc-macro", +] + +[[package]] +name = "dtor-proc-macro" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" + [[package]] name = "dunce" version = "1.0.5" @@ -1951,6 +1963,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + [[package]] name = "encoding_rs" version = "0.8.35" @@ -1986,29 +2010,6 @@ dependencies = [ "syn 2.0.110", ] -[[package]] -name = "enum_dispatch" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" -dependencies = [ - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.110", -] - -[[package]] -name = "enumn" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.110", -] - [[package]] name = "equivalent" version = "1.0.2" @@ -2294,12 +2295,6 @@ version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" -[[package]] -name = "glam" -version = "0.30.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd47b05dddf0005d850e5644cae7f2b14ac3df487979dbfff3b56f20b1a6ae46" - [[package]] name = "glob" version = "0.3.3" @@ -2371,9 +2366,8 @@ dependencies = [ [[package]] name = "halo2-axiom" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aee3f8178b78275038e5ea0e2577140056d2c4c87fccaf6777dc0a8eebe455a" +version = "0.5.2" +source = "git+https://github.com/axiom-crypto/halo2.git?tag=v0.5.2#1eed471495b64ec1edf22f0661bbc65d0e4381d5" dependencies = [ "blake2b_simd", "crossbeam", @@ -2393,9 +2387,8 @@ dependencies = [ [[package]] name = "halo2-base" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678cf3adc0a39d7b4d9b82315a655201aa24a430dd1902b162c508047f56ac69" +version = "0.5.4" +source = "git+https://github.com/axiom-crypto/halo2-lib.git?tag=v0.5.4#a69fdee77f41bdd48ad658b69673dea5a0815db4" dependencies = [ "getset", "halo2-axiom", @@ -2414,9 +2407,8 @@ dependencies = [ [[package]] name = "halo2-ecc" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c00681fdd1febaf552d8814e9f5a6a142d81a1514102190da07039588b366" +version = "0.5.4" +source = "git+https://github.com/axiom-crypto/halo2-lib.git?tag=v0.5.4#a69fdee77f41bdd48ad658b69673dea5a0815db4" dependencies = [ "halo2-base", "itertools 0.11.0", @@ -2580,6 +2572,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +[[package]] +name = "hex-literal" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" + [[package]] name = "hkdf" version = "0.12.4" @@ -3023,12 +3021,12 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "ecdsa", "elliptic-curve", "ff 0.13.1", - "hex-literal", + "hex-literal 1.1.0", "num-bigint", "once_cell", "openvm", @@ -3197,6 +3195,16 @@ dependencies = [ "regex-automata", ] +[[package]] +name = "matrixmultiply" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f607c237553f086e7043417a51df26b2eb899d3caff94e6a67592ff992fedc7" +dependencies = [ + "autocfg", + "rawpointer", +] + [[package]] name = "maybe-rayon" version = "0.1.1" @@ -3338,6 +3346,21 @@ dependencies = [ "tempfile", ] +[[package]] +name = "ndarray" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841" +dependencies = [ + "matrixmultiply", + "num-complex", + "num-integer", + "num-traits", + "portable-atomic", + "portable-atomic-util", + "rawpointer", +] + [[package]] name = "nibble_vec" version = "0.1.0" @@ -3491,12 +3514,21 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", "syn 2.0.110", ] +[[package]] +name = "nvtx" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad2e855e8019f99e4b94ac33670eb4e4f570a2e044f3749a0b2c7f83b841e52c" +dependencies = [ + "cc", +] + [[package]] name = "nybbles" version = "0.3.4" @@ -3556,10 +3588,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a501241474c3118833d6195312ae7eb7cc90bbb0d5f524cbb0b06619e49ff67" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.2", + "alloy-serde", "derive_more 2.0.1", "serde", "serde_with", @@ -3618,8 +3650,8 @@ dependencies = [ [[package]] name = "openvm" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "bytemuck", "getrandom 0.2.16", @@ -3633,8 +3665,8 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "blstrs", "cfg-if", @@ -3644,11 +3676,13 @@ dependencies = [ "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", "num-bigint", "num-traits", + "once_cell", "openvm-algebra-transpiler", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-instructions", "openvm-mod-circuit-builder", "openvm-rv32-adapters", @@ -3663,8 +3697,8 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "openvm-macros-common", "quote", @@ -3673,8 +3707,8 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", "num-bigint", @@ -3689,8 +3723,8 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "num-bigint", "num-prime", @@ -3701,8 +3735,8 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3715,8 +3749,8 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3726,6 +3760,7 @@ dependencies = [ "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-instructions", "openvm-rv32-adapters", "openvm-rv32im-circuit", @@ -3738,8 +3773,8 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "openvm-platform", "strum_macros 0.26.4", @@ -3747,8 +3782,8 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3762,8 +3797,8 @@ dependencies = [ [[package]] name = "openvm-build" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "cargo_metadata", "eyre", @@ -3774,17 +3809,16 @@ dependencies = [ [[package]] name = "openvm-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "abi_stable", "backtrace", + "bytesize", "cfg-if", "dashmap", - "derivative", "derive-new 0.6.0", "derive_more 1.0.0", - "enum_dispatch", "eyre", "getset", "itertools 0.14.0", @@ -3793,6 +3827,7 @@ dependencies = [ "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-instructions", "openvm-poseidon2-air", "openvm-stark-backend", @@ -3810,8 +3845,8 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3821,170 +3856,166 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", "num-bigint", "num-traits", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-cuda-builder", "openvm-stark-backend", "rand 0.9.2", + "struct-reflection", "tracing", ] [[package]] name = "openvm-circuit-primitives-derive" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "itertools 0.14.0", + "proc-macro2", "quote", "syn 2.0.110", ] [[package]] -name = "openvm-continuations" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" -dependencies = [ - "derivative", - "openvm-circuit", - "openvm-native-compiler", - "openvm-native-recursion", - "openvm-stark-backend", - "openvm-stark-sdk", - "p3-bn254", - "serde", - "static_assertions", -] - -[[package]] -name = "openvm-cuda-builder" -version = "1.4.0" -source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.4.0#2d4c6da0c84f43b15fcdac84ce13fd2325148c66" -dependencies = [ - "cc", - "glob", -] - -[[package]] -name = "openvm-custom-insn" -version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-codec-derive" +version = "2.0.0" +source = "git+https://github.com/openvm-org/stark-backend.git?tag=v2.0.0#16d60de724c21dcadfde7d8315a1db507e5832d7" dependencies = [ + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 2.0.110", ] [[package]] -name = "openvm-ecc-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-continuations" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ - "blstrs", "cfg-if", + "derivative", "derive-new 0.6.0", - "derive_more 1.0.0", - "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", - "hex-literal", - "lazy_static", + "eyre", + "hex", + "itertools 0.14.0", "num-bigint", - "num-traits", - "once_cell", - "openvm-algebra-circuit", "openvm-circuit", - "openvm-circuit-derive", "openvm-circuit-primitives", - "openvm-ecc-transpiler", - "openvm-instructions", - "openvm-mod-circuit-builder", - "openvm-rv32-adapters", + "openvm-cpu-backend", + "openvm-cuda-backend", + "openvm-poseidon2-air", + "openvm-recursion-circuit", + "openvm-recursion-circuit-derive", "openvm-stark-backend", - "rand 0.9.2", + "openvm-stark-sdk", + "openvm-verify-stark-host", + "p3-air", + "p3-bn254", + "p3-field", + "p3-matrix", "serde", - "serde_with", - "strum 0.26.3", + "tracing", ] [[package]] -name = "openvm-ecc-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-cpu-backend" +version = "2.0.0" +source = "git+https://github.com/openvm-org/stark-backend.git?tag=v2.0.0#16d60de724c21dcadfde7d8315a1db507e5832d7" dependencies = [ - "ecdsa", - "elliptic-curve", - "group 0.13.0", - "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", - "once_cell", - "openvm", - "openvm-algebra-guest", - "openvm-custom-insn", - "openvm-ecc-sw-macros", - "openvm-rv32im-guest", - "serde", - "strum_macros 0.26.4", -] + "cfg-if", + "derive-new 0.7.0", + "getset", + "itertools 0.14.0", + "openvm-stark-backend", + "p3-air", + "p3-baby-bear", + "p3-dft", + "p3-field", + "p3-interpolation", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "rayon", + "rustc-hash 2.1.1", + "serde", + "thiserror 1.0.69", + "tracing", +] [[package]] -name = "openvm-ecc-sw-macros" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-cuda-backend" +version = "2.0.0" +source = "git+https://github.com/openvm-org/stark-backend.git?tag=v2.0.0#16d60de724c21dcadfde7d8315a1db507e5832d7" dependencies = [ - "openvm-macros-common", - "quote", - "syn 2.0.110", + "derive-new 0.7.0", + "getset", + "glob", + "itertools 0.14.0", + "openvm-cuda-builder", + "openvm-cuda-common", + "openvm-stark-backend", + "openvm-stark-sdk", + "p3-baby-bear", + "p3-bn254", + "p3-dft", + "p3-field", + "p3-symmetric", + "p3-util", + "rand 0.9.2", + "rustc-hash 2.1.1", + "serde", + "thiserror 1.0.69", + "tracing", + "zkhash-axiom", ] [[package]] -name = "openvm-ecc-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-cuda-builder" +version = "2.0.0" +source = "git+https://github.com/openvm-org/stark-backend.git?tag=v2.0.0#16d60de724c21dcadfde7d8315a1db507e5832d7" dependencies = [ - "openvm-ecc-guest", - "openvm-instructions", - "openvm-instructions-derive", - "openvm-stark-backend", - "openvm-transpiler", - "rrs-lib", - "strum 0.26.3", + "cc", + "glob", ] [[package]] -name = "openvm-instructions" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-cuda-common" +version = "2.0.0" +source = "git+https://github.com/openvm-org/stark-backend.git?tag=v2.0.0#16d60de724c21dcadfde7d8315a1db507e5832d7" dependencies = [ - "backtrace", - "derive-new 0.6.0", - "itertools 0.14.0", - "num-bigint", - "num-traits", - "openvm-instructions-derive", - "openvm-stark-backend", - "serde", - "strum 0.26.3", - "strum_macros 0.26.4", + "bytesize", + "ctor", + "lazy_static", + "metrics", + "openvm-cuda-builder", + "thiserror 1.0.69", + "tracing", ] [[package]] -name = "openvm-instructions-derive" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-custom-insn" +version = "0.1.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ + "proc-macro2", "quote", "syn 2.0.110", ] [[package]] -name = "openvm-keccak256-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-deferral-circuit" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "cfg-if", + "dashmap", "derive-new 0.6.0", "derive_more 1.0.0", "itertools 0.14.0", @@ -3992,173 +4023,225 @@ dependencies = [ "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", + "openvm-deferral-transpiler", "openvm-instructions", - "openvm-keccak256-transpiler", + "openvm-poseidon2-air", "openvm-rv32im-circuit", "openvm-stark-backend", "openvm-stark-sdk", - "p3-keccak-air", + "p3-field", "rand 0.9.2", + "rustc-hash 2.1.1", "serde", - "strum 0.26.3", - "tiny-keccak", ] [[package]] -name = "openvm-keccak256-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-deferral-guest" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ - "openvm-platform", + "openvm-custom-insn", + "strum_macros 0.26.4", ] [[package]] -name = "openvm-keccak256-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-deferral-transpiler" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ + "eyre", + "openvm-deferral-guest", "openvm-instructions", "openvm-instructions-derive", - "openvm-keccak256-guest", - "openvm-stark-backend", "openvm-transpiler", + "p3-field", "rrs-lib", + "serde", "strum 0.26.3", ] [[package]] -name = "openvm-macros-common" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-ecc-circuit" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" +dependencies = [ + "blstrs", + "cfg-if", + "derive-new 0.6.0", + "derive_more 1.0.0", + "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", + "hex-literal 1.1.0", + "lazy_static", + "num-bigint", + "num-traits", + "once_cell", + "openvm-algebra-circuit", + "openvm-circuit", + "openvm-circuit-derive", + "openvm-circuit-primitives", + "openvm-cpu-backend", + "openvm-ecc-transpiler", + "openvm-instructions", + "openvm-mod-circuit-builder", + "openvm-rv32-adapters", + "openvm-stark-backend", + "rand 0.9.2", + "serde", + "serde_with", + "strum 0.26.3", +] + +[[package]] +name = "openvm-ecc-guest" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ + "ecdsa", + "elliptic-curve", + "group 0.13.0", + "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", + "once_cell", + "openvm", + "openvm-algebra-guest", + "openvm-custom-insn", + "openvm-ecc-sw-macros", + "openvm-rv32im-guest", + "serde", + "strum_macros 0.26.4", +] + +[[package]] +name = "openvm-ecc-sw-macros" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" +dependencies = [ + "openvm-macros-common", + "quote", "syn 2.0.110", ] [[package]] -name = "openvm-mod-circuit-builder" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-ecc-transpiler" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ + "openvm-ecc-guest", + "openvm-instructions", + "openvm-instructions-derive", + "openvm-stark-backend", + "openvm-transpiler", + "rrs-lib", + "strum 0.26.3", +] + +[[package]] +name = "openvm-instructions" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" +dependencies = [ + "backtrace", + "derive-new 0.6.0", "itertools 0.14.0", "num-bigint", "num-traits", - "openvm-circuit", - "openvm-circuit-primitives", - "openvm-cuda-builder", - "openvm-instructions", + "openvm-instructions-derive", "openvm-stark-backend", - "openvm-stark-sdk", - "rand 0.8.5", - "rand 0.9.2", - "tracing", + "serde", + "strum 0.26.3", + "strum_macros 0.26.4", ] [[package]] -name = "openvm-native-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-instructions-derive" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" +dependencies = [ + "quote", + "syn 2.0.110", +] + +[[package]] +name = "openvm-keccak256-circuit" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ - "cfg-if", "derive-new 0.6.0", "derive_more 1.0.0", - "eyre", "itertools 0.14.0", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-instructions", - "openvm-native-compiler", - "openvm-poseidon2-air", + "openvm-keccak256-transpiler", "openvm-rv32im-circuit", - "openvm-rv32im-transpiler", "openvm-stark-backend", "openvm-stark-sdk", - "p3-field", + "p3-keccak-air", "rand 0.9.2", "serde", - "static_assertions", "strum 0.26.3", + "tiny-keccak", ] [[package]] -name = "openvm-native-compiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-keccak256-guest" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" +dependencies = [ + "openvm-platform", +] + +[[package]] +name = "openvm-keccak256-transpiler" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ - "backtrace", - "itertools 0.14.0", - "num-bigint", - "num-integer", - "openvm-circuit", "openvm-instructions", "openvm-instructions-derive", - "openvm-native-compiler-derive", - "openvm-rv32im-transpiler", + "openvm-keccak256-guest", "openvm-stark-backend", - "openvm-stark-sdk", - "serde", - "snark-verifier-sdk", + "openvm-transpiler", + "rrs-lib", "strum 0.26.3", - "strum_macros 0.26.4", - "zkhash", ] [[package]] -name = "openvm-native-compiler-derive" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-macros-common" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ - "quote", "syn 2.0.110", ] [[package]] -name = "openvm-native-recursion" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-mod-circuit-builder" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ - "cfg-if", "itertools 0.14.0", - "lazy_static", - "once_cell", + "num-bigint", + "num-traits", "openvm-circuit", - "openvm-native-circuit", - "openvm-native-compiler", - "openvm-native-compiler-derive", + "openvm-circuit-primitives", + "openvm-instructions", "openvm-stark-backend", "openvm-stark-sdk", - "p3-dft", - "p3-fri", - "p3-merkle-tree", - "p3-symmetric", "rand 0.8.5", "rand 0.9.2", - "serde", - "serde_json", - "serde_with", - "snark-verifier-sdk", "tracing", ] -[[package]] -name = "openvm-native-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" -dependencies = [ - "openvm-instructions", - "openvm-transpiler", - "p3-field", -] - [[package]] name = "openvm-pairing" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "group 0.13.0", "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", - "hex-literal", + "hex-literal 1.1.0", "itertools 0.14.0", "num-bigint", "num-traits", @@ -4177,8 +4260,8 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4191,6 +4274,7 @@ dependencies = [ "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", + "openvm-cpu-backend", "openvm-ecc-circuit", "openvm-ecc-guest", "openvm-instructions", @@ -4206,12 +4290,12 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "blstrs", "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", - "hex-literal", + "hex-literal 1.1.0", "itertools 0.14.0", "lazy_static", "num-bigint", @@ -4227,8 +4311,8 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4240,8 +4324,8 @@ dependencies = [ [[package]] name = "openvm-platform" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "libm", "openvm-custom-insn", @@ -4250,11 +4334,12 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "derivative", "lazy_static", + "openvm-circuit-primitives", "openvm-cuda-builder", "openvm-stark-backend", "openvm-stark-sdk", @@ -4262,13 +4347,47 @@ dependencies = [ "p3-poseidon2-air", "p3-symmetric", "rand 0.9.2", - "zkhash", + "zkhash-axiom", +] + +[[package]] +name = "openvm-recursion-circuit" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" +dependencies = [ + "derive-new 0.6.0", + "itertools 0.14.0", + "openvm-circuit", + "openvm-circuit-primitives", + "openvm-cpu-backend", + "openvm-poseidon2-air", + "openvm-recursion-circuit-derive", + "openvm-stark-backend", + "openvm-stark-sdk", + "p3-air", + "p3-baby-bear", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-symmetric", + "strum 0.26.3", + "strum_macros 0.26.4", + "tracing", +] + +[[package]] +name = "openvm-recursion-circuit-derive" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" +dependencies = [ + "quote", + "syn 2.0.110", ] [[package]] name = "openvm-rv32-adapters" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4284,8 +4403,8 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4297,28 +4416,29 @@ dependencies = [ "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-instructions", "openvm-rv32im-transpiler", "openvm-stark-backend", "rand 0.9.2", "serde", "strum 0.26.3", + "tracing", ] [[package]] name = "openvm-rv32im-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "openvm-custom-insn", - "p3-field", "strum_macros 0.26.4", ] [[package]] name = "openvm-rv32im-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4333,120 +4453,143 @@ dependencies = [ [[package]] name = "openvm-sdk" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ + "alloy-sol-types", "bitcode", - "bon", "cfg-if", "clap", "derivative", + "derive-new 0.6.0", "derive_more 1.0.0", "eyre", "getset", + "halo2-base", "hex", "itertools 0.14.0", - "metrics", - "num-bigint", "openvm", + "openvm-build", + "openvm-circuit", + "openvm-continuations", + "openvm-cuda-backend", + "openvm-deferral-circuit", + "openvm-recursion-circuit", + "openvm-sdk-config", + "openvm-stark-backend", + "openvm-stark-sdk", + "openvm-static-verifier", + "openvm-transpiler", + "openvm-verify-stark-circuit", + "openvm-verify-stark-host", + "serde", + "serde_json", + "serde_with", + "tempfile", + "thiserror 1.0.69", + "tracing", +] + +[[package]] +name = "openvm-sdk-config" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" +dependencies = [ + "bon", + "cfg-if", + "derive_more 1.0.0", "openvm-algebra-circuit", "openvm-algebra-transpiler", "openvm-bigint-circuit", "openvm-bigint-transpiler", - "openvm-build", "openvm-circuit", "openvm-continuations", + "openvm-cpu-backend", + "openvm-deferral-circuit", + "openvm-deferral-transpiler", "openvm-ecc-circuit", "openvm-ecc-transpiler", "openvm-keccak256-circuit", "openvm-keccak256-transpiler", - "openvm-native-circuit", - "openvm-native-compiler", - "openvm-native-recursion", - "openvm-native-transpiler", "openvm-pairing-circuit", "openvm-pairing-transpiler", "openvm-rv32im-circuit", "openvm-rv32im-transpiler", - "openvm-sha256-circuit", - "openvm-sha256-transpiler", + "openvm-sha2-circuit", + "openvm-sha2-transpiler", "openvm-stark-backend", "openvm-stark-sdk", "openvm-transpiler", - "p3-bn254", - "p3-fri", - "rand 0.9.2", - "rrs-lib", + "openvm-verify-stark-circuit", "serde", - "serde_json", - "serde_with", - "snark-verifier", - "snark-verifier-sdk", - "tempfile", - "thiserror 1.0.69", "toml", - "tracing", ] [[package]] name = "openvm-sha2" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ - "openvm-sha256-guest", + "openvm-sha2-guest", "sha2 0.10.9", ] [[package]] -name = "openvm-sha256-air" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-sha2-air" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ + "ndarray", + "num_enum", "openvm-circuit-primitives", + "openvm-circuit-primitives-derive", "openvm-stark-backend", "rand 0.9.2", "sha2 0.10.9", ] [[package]] -name = "openvm-sha256-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-sha2-circuit" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "cfg-if", "derive-new 0.6.0", "derive_more 1.0.0", + "itertools 0.14.0", + "ndarray", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", + "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-instructions", "openvm-rv32im-circuit", - "openvm-sha256-air", - "openvm-sha256-transpiler", + "openvm-sha2-air", + "openvm-sha2-transpiler", "openvm-stark-backend", "openvm-stark-sdk", "rand 0.9.2", "serde", "sha2 0.10.9", - "strum 0.26.3", ] [[package]] -name = "openvm-sha256-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-sha2-guest" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "openvm-platform", ] [[package]] -name = "openvm-sha256-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-sha2-transpiler" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "openvm-instructions", "openvm-instructions-derive", - "openvm-sha256-guest", + "openvm-sha2-guest", "openvm-stark-backend", "openvm-transpiler", "rrs-lib", @@ -4455,22 +4598,28 @@ dependencies = [ [[package]] name = "openvm-stark-backend" -version = "1.4.0" -source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.4.0#2d4c6da0c84f43b15fcdac84ce13fd2325148c66" +version = "2.0.0" +source = "git+https://github.com/openvm-org/stark-backend.git?tag=v2.0.0#16d60de724c21dcadfde7d8315a1db507e5832d7" dependencies = [ - "bitcode", "cfg-if", "derivative", "derive-new 0.7.0", "eyre", + "getset", + "hex-literal 1.1.0", "itertools 0.14.0", + "num-bigint", + "openvm-codec-derive", "p3-air", "p3-challenger", - "p3-commit", + "p3-dft", "p3-field", + "p3-interpolation", "p3-matrix", "p3-maybe-rayon", + "p3-symmetric", "p3-util", + "postcard", "rayon", "rustc-hash 2.1.1", "serde", @@ -4481,46 +4630,61 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" -version = "1.4.0" -source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.4.0#2d4c6da0c84f43b15fcdac84ce13fd2325148c66" +version = "2.0.0" +source = "git+https://github.com/openvm-org/stark-backend.git?tag=v2.0.0#16d60de724c21dcadfde7d8315a1db507e5832d7" dependencies = [ "dashmap", - "derivative", - "derive_more 1.0.0", - "ff 0.13.1", + "derive-new 0.7.0", + "eyre", + "hex-literal 1.1.0", "itertools 0.14.0", - "metrics", "metrics-tracing-context", "metrics-util", "num-bigint", + "nvtx", + "openvm-cpu-backend", "openvm-stark-backend", "p3-baby-bear", - "p3-blake3", "p3-bn254", - "p3-dft", - "p3-fri", - "p3-goldilocks", - "p3-keccak", - "p3-koala-bear", - "p3-merkle-tree", - "p3-poseidon", + "p3-field", "p3-poseidon2", - "p3-symmetric", "rand 0.9.2", "serde", "serde_json", "static_assertions", - "toml", "tracing", "tracing-forest", "tracing-subscriber 0.3.20", - "zkhash", + "zkhash-axiom", +] + +[[package]] +name = "openvm-static-verifier" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" +dependencies = [ + "halo2-base", + "itertools 0.14.0", + "num-bigint", + "num-integer", + "once_cell", + "openvm-continuations", + "openvm-cpu-backend", + "openvm-recursion-circuit", + "openvm-stark-sdk", + "openvm-verify-stark-host", + "rand_chacha 0.3.1", + "serde", + "serde_json", + "serde_with", + "snark-verifier-sdk", + "tracing", ] [[package]] name = "openvm-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "elf", "eyre", @@ -4531,6 +4695,52 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "openvm-verify-stark-circuit" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" +dependencies = [ + "bitcode", + "cfg-if", + "derive-new 0.6.0", + "eyre", + "itertools 0.14.0", + "openvm-circuit", + "openvm-circuit-primitives", + "openvm-continuations", + "openvm-cpu-backend", + "openvm-deferral-circuit", + "openvm-poseidon2-air", + "openvm-recursion-circuit", + "openvm-recursion-circuit-derive", + "openvm-stark-backend", + "openvm-stark-sdk", + "openvm-verify-stark-host", + "p3-air", + "p3-field", + "p3-matrix", + "serde", + "tracing", +] + +[[package]] +name = "openvm-verify-stark-host" +version = "2.0.0" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" +dependencies = [ + "bitcode", + "eyre", + "openvm-circuit", + "openvm-circuit-primitives", + "openvm-recursion-circuit-derive", + "openvm-stark-backend", + "openvm-stark-sdk", + "p3-field", + "serde", + "thiserror 1.0.69", + "zstd", +] + [[package]] name = "ordered-float" version = "4.6.0" @@ -4555,12 +4765,12 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?tag=v1.6.0#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +source = "git+https://github.com/openvm-org/openvm.git?tag=v2.0.0#15a7ab6baed03d75050dbef2bbad4b4e98fb8dba" dependencies = [ "ecdsa", "elliptic-curve", "ff 0.13.1", - "hex-literal", + "hex-literal 1.1.0", "num-bigint", "openvm", "openvm-algebra-guest", @@ -4595,17 +4805,6 @@ dependencies = [ "rand 0.9.2", ] -[[package]] -name = "p3-blake3" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a8f97fd783752532861bf29bac344b7c226a0d1e2151148834c43c651a5d401" -dependencies = [ - "blake3", - "p3-symmetric", - "p3-util", -] - [[package]] name = "p3-bn254" version = "0.4.3" @@ -4636,21 +4835,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "p3-commit" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf6d7dcb58a8f21f0e1325dc7f7699ad749878ccbe7e286e61f9d46bde2bfa88" -dependencies = [ - "itertools 0.14.0", - "p3-challenger", - "p3-dft", - "p3-field", - "p3-matrix", - "p3-util", - "serde", -] - [[package]] name = "p3-dft" version = "0.4.3" @@ -4682,46 +4866,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "p3-fri" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13ca6a795cfc4180425fbf16dfdb4c9c2bfa85971dd55b5930d97b513e0835df" -dependencies = [ - "itertools 0.14.0", - "p3-challenger", - "p3-commit", - "p3-dft", - "p3-field", - "p3-interpolation", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", - "rand 0.9.2", - "serde", - "thiserror 2.0.17", - "tracing", -] - -[[package]] -name = "p3-goldilocks" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c47d5c650bbeb25941b9a1fa9bfaf59b3cd202a438ea2c20892489af001399" -dependencies = [ - "num-bigint", - "p3-challenger", - "p3-dft", - "p3-field", - "p3-mds", - "p3-poseidon2", - "p3-symmetric", - "p3-util", - "paste", - "rand 0.9.2", - "serde", -] - [[package]] name = "p3-interpolation" version = "0.4.3" @@ -4734,45 +4878,19 @@ dependencies = [ "p3-util", ] -[[package]] -name = "p3-keccak" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a61b090fb42152d1fcb2f82227b8619b1b022f9cd4a123123dccc9c2ab75d5de" -dependencies = [ - "p3-field", - "p3-symmetric", - "p3-util", - "tiny-keccak", -] - [[package]] name = "p3-keccak-air" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4832d817455f7a4a35b598cbb8a42f1ee0430ee82df0203956c26917b2509865" dependencies = [ - "p3-air", - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", - "rand 0.9.2", - "tracing", -] - -[[package]] -name = "p3-koala-bear" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfb02789fca0950e246123d652bd78e75a76e3b90a651fd88dbb215cd3e81f5a" -dependencies = [ - "p3-challenger", + "p3-air", "p3-field", - "p3-monty-31", - "p3-poseidon2", - "p3-symmetric", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", "rand 0.9.2", + "tracing", ] [[package]] @@ -4812,25 +4930,6 @@ dependencies = [ "rand 0.9.2", ] -[[package]] -name = "p3-merkle-tree" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e20f61ea816e94f83ed7b8134a5e98d0cad7bd6dff226bc1da17a5143c63cb" -dependencies = [ - "itertools 0.14.0", - "p3-commit", - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-symmetric", - "p3-util", - "rand 0.9.2", - "serde", - "thiserror 2.0.17", - "tracing", -] - [[package]] name = "p3-monty-31" version = "0.4.3" @@ -4854,18 +4953,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "p3-poseidon" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "548af7ff569975882bc411f653aba7d89a6d85813ca58ef922fd0b1ecb6b5866" -dependencies = [ - "p3-field", - "p3-mds", - "p3-symmetric", - "rand 0.9.2", -] - [[package]] name = "p3-poseidon2" version = "0.4.3" @@ -4955,7 +5042,7 @@ version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", "syn 2.0.110", @@ -5044,6 +5131,7 @@ checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ "phf_macros 0.11.3", "phf_shared 0.11.3", + "serde", ] [[package]] @@ -5166,6 +5254,15 @@ version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +[[package]] +name = "portable-atomic-util" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715" +dependencies = [ + "portable-atomic", +] + [[package]] name = "poseidon-primitives" version = "0.2.0" @@ -5181,6 +5278,18 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "postcard" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" +dependencies = [ + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "serde", +] + [[package]] name = "potential_utf" version = "0.1.4" @@ -5235,6 +5344,16 @@ dependencies = [ "uint", ] +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + [[package]] name = "proc-macro-crate" version = "3.4.0" @@ -5435,6 +5554,12 @@ dependencies = [ "bitflags", ] +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + [[package]] name = "rayon" version = "1.11.0" @@ -5559,7 +5684,7 @@ source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186d dependencies = [ "alloy-chains", "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-evm", "alloy-genesis", "alloy-primitives", @@ -5578,7 +5703,7 @@ version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-genesis", "alloy-primitives", "alloy-trie 0.9.1", @@ -5619,7 +5744,7 @@ version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "reth-chainspec", "reth-consensus", "reth-primitives-traits", @@ -5630,7 +5755,7 @@ name = "reth-db-models" version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", "reth-primitives-traits", ] @@ -5652,7 +5777,7 @@ version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", "reth-chainspec", "reth-consensus", @@ -5680,11 +5805,11 @@ version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-eth", - "alloy-serde 1.1.2", + "alloy-serde", "reth-codecs", "reth-primitives-traits", "serde", @@ -5697,7 +5822,7 @@ version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-evm", "alloy-primitives", "auto_impl", @@ -5718,7 +5843,7 @@ version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-evm", "alloy-primitives", "alloy-rpc-types-engine", @@ -5751,7 +5876,7 @@ version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-evm", "alloy-primitives", "derive_more 2.0.1", @@ -5792,7 +5917,7 @@ version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-genesis", "alloy-primitives", "alloy-rlp", @@ -5888,7 +6013,7 @@ version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "auto_impl", @@ -5909,7 +6034,7 @@ name = "reth-storage-errors" version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", "derive_more 2.0.1", @@ -5926,7 +6051,7 @@ version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-trie 0.9.1", @@ -5982,25 +6107,6 @@ dependencies = [ "zstd", ] -[[package]] -name = "revm" -version = "22.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5378e95ffe5c8377002dafeb6f7d370a55517cef7d6d6c16fc552253af3b123" -dependencies = [ - "revm-bytecode 3.0.0", - "revm-context 3.0.1", - "revm-context-interface 3.0.0", - "revm-database 3.0.0", - "revm-database-interface 3.0.0", - "revm-handler 3.0.1", - "revm-inspector 3.0.1", - "revm-interpreter 18.0.0", - "revm-precompile 19.0.0", - "revm-primitives 18.0.0", - "revm-state 3.0.0", -] - [[package]] name = "revm" version = "24.0.0" @@ -6020,6 +6126,25 @@ dependencies = [ "revm-state 4.0.1", ] +[[package]] +name = "revm" +version = "27.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6bf82101a1ad8a2b637363a37aef27f88b4efc8a6e24c72bf5f64923dc5532" +dependencies = [ + "revm-bytecode 6.2.2", + "revm-context 8.0.4", + "revm-context-interface 9.0.0", + "revm-database 7.0.5", + "revm-database-interface 7.0.5", + "revm-handler 8.1.0", + "revm-inspector 8.1.0", + "revm-interpreter 24.0.0", + "revm-precompile 25.0.0", + "revm-primitives 20.2.1", + "revm-state 7.0.5", +] + [[package]] name = "revm" version = "30.1.1" @@ -6040,26 +6165,26 @@ dependencies = [ [[package]] name = "revm-bytecode" -version = "3.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e63e138d520c5c5bc25ecc82506e9e4e6e85a811809fc5251c594378dccabfc6" +checksum = "942fe4724cf552fd28db6b0a2ca5b79e884d40dd8288a4027ed1e9090e0c6f49" dependencies = [ "bitvec", + "once_cell", "phf 0.11.3", - "revm-primitives 18.0.0", + "revm-primitives 19.2.0", "serde", ] [[package]] name = "revm-bytecode" -version = "4.1.0" +version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942fe4724cf552fd28db6b0a2ca5b79e884d40dd8288a4027ed1e9090e0c6f49" +checksum = "66c52031b73cae95d84cd1b07725808b5fd1500da3e5e24574a3b2dc13d9f16d" dependencies = [ "bitvec", - "once_cell", "phf 0.11.3", - "revm-primitives 19.2.0", + "revm-primitives 20.2.1", "serde", ] @@ -6076,33 +6201,33 @@ dependencies = [ [[package]] name = "revm-context" -version = "3.0.1" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9765628dfea4f3686aa8f2a72471c52801e6b38b601939ac16965f49bac66580" +checksum = "b01aad49e1233f94cebda48a4e5cef022f7c7ed29b4edf0d202b081af23435ef" dependencies = [ "cfg-if", "derive-where", - "revm-bytecode 3.0.0", - "revm-context-interface 3.0.0", - "revm-database-interface 3.0.0", - "revm-primitives 18.0.0", - "revm-state 3.0.0", + "revm-bytecode 4.1.0", + "revm-context-interface 5.0.0", + "revm-database-interface 4.0.1", + "revm-primitives 19.2.0", + "revm-state 4.0.1", "serde", ] [[package]] name = "revm-context" -version = "5.0.1" +version = "8.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01aad49e1233f94cebda48a4e5cef022f7c7ed29b4edf0d202b081af23435ef" +checksum = "9cd508416a35a4d8a9feaf5ccd06ac6d6661cd31ee2dc0252f9f7316455d71f9" dependencies = [ "cfg-if", "derive-where", - "revm-bytecode 4.1.0", - "revm-context-interface 5.0.0", - "revm-database-interface 4.0.1", - "revm-primitives 19.2.0", - "revm-state 4.0.1", + "revm-bytecode 6.2.2", + "revm-context-interface 9.0.0", + "revm-database-interface 7.0.5", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "serde", ] @@ -6124,32 +6249,33 @@ dependencies = [ [[package]] name = "revm-context-interface" -version = "3.0.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d74335aa1f14222cc4d3be1f62a029cc7dc03819cc8d080ff17b7e1d76375f" +checksum = "1b844f48a411e62c7dde0f757bf5cce49c85b86d6fc1d3b2722c07f2bec4c3ce" dependencies = [ "alloy-eip2930", "alloy-eip7702", "auto_impl", - "revm-database-interface 3.0.0", - "revm-primitives 18.0.0", - "revm-state 3.0.0", + "either", + "revm-database-interface 4.0.1", + "revm-primitives 19.2.0", + "revm-state 4.0.1", "serde", ] [[package]] name = "revm-context-interface" -version = "5.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b844f48a411e62c7dde0f757bf5cce49c85b86d6fc1d3b2722c07f2bec4c3ce" +checksum = "dc90302642d21c8f93e0876e201f3c5f7913c4fcb66fb465b0fd7b707dfe1c79" dependencies = [ "alloy-eip2930", "alloy-eip7702", "auto_impl", "either", - "revm-database-interface 4.0.1", - "revm-primitives 19.2.0", - "revm-state 4.0.1", + "revm-database-interface 7.0.5", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "serde", ] @@ -6170,29 +6296,29 @@ dependencies = [ [[package]] name = "revm-database" -version = "3.0.0" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5c80c5a2fd605f2119ee32a63fb3be941fb6a81ced8cdb3397abca28317224" +checksum = "ad3fbe34f6bb00a9c3155723b3718b9cb9f17066ba38f9eb101b678cd3626775" dependencies = [ - "alloy-eips 0.14.0", - "revm-bytecode 3.0.0", - "revm-database-interface 3.0.0", - "revm-primitives 18.0.0", - "revm-state 3.0.0", + "alloy-eips", + "revm-bytecode 4.1.0", + "revm-database-interface 4.0.1", + "revm-primitives 19.2.0", + "revm-state 4.0.1", "serde", ] [[package]] name = "revm-database" -version = "4.0.1" +version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad3fbe34f6bb00a9c3155723b3718b9cb9f17066ba38f9eb101b678cd3626775" +checksum = "39a276ed142b4718dcf64bc9624f474373ed82ef20611025045c3fb23edbef9c" dependencies = [ - "alloy-eips 1.1.2", - "revm-bytecode 4.1.0", - "revm-database-interface 4.0.1", - "revm-primitives 19.2.0", - "revm-state 4.0.1", + "alloy-eips", + "revm-bytecode 6.2.2", + "revm-database-interface 7.0.5", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "serde", ] @@ -6201,7 +6327,7 @@ name = "revm-database" version = "9.0.1" source = "git+https://github.com/scroll-tech/revm?tag=scroll-v91#10e11b985ed28bd383e624539868bcc3f613d77c" dependencies = [ - "alloy-eips 1.1.2", + "alloy-eips", "revm-bytecode 7.0.1", "revm-database-interface 8.0.2", "revm-primitives 21.0.1", @@ -6211,25 +6337,26 @@ dependencies = [ [[package]] name = "revm-database-interface" -version = "3.0.0" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0e4dfbc734b1ea67b5e8f8b3c7dc4283e2210d978cdaf6c7a45e97be5ea53b3" +checksum = "7b8acd36784a6d95d5b9e1b7be3ce014f1e759abb59df1fa08396b30f71adc2a" dependencies = [ "auto_impl", - "revm-primitives 18.0.0", - "revm-state 3.0.0", + "revm-primitives 19.2.0", + "revm-state 4.0.1", "serde", ] [[package]] name = "revm-database-interface" -version = "4.0.1" +version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b8acd36784a6d95d5b9e1b7be3ce014f1e759abb59df1fa08396b30f71adc2a" +checksum = "8c523c77e74eeedbac5d6f7c092e3851dbe9c7fec6f418b85992bd79229db361" dependencies = [ "auto_impl", - "revm-primitives 19.2.0", - "revm-state 4.0.1", + "either", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "serde", ] @@ -6245,24 +6372,6 @@ dependencies = [ "serde", ] -[[package]] -name = "revm-handler" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8676379521c7bf179c31b685c5126ce7800eab5844122aef3231b97026d41a10" -dependencies = [ - "auto_impl", - "revm-bytecode 3.0.0", - "revm-context 3.0.1", - "revm-context-interface 3.0.0", - "revm-database-interface 3.0.0", - "revm-interpreter 18.0.0", - "revm-precompile 19.0.0", - "revm-primitives 18.0.0", - "revm-state 3.0.0", - "serde", -] - [[package]] name = "revm-handler" version = "5.0.1" @@ -6281,6 +6390,25 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-handler" +version = "8.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1529c8050e663be64010e80ec92bf480315d21b1f2dbf65540028653a621b27d" +dependencies = [ + "auto_impl", + "derive-where", + "revm-bytecode 6.2.2", + "revm-context 8.0.4", + "revm-context-interface 9.0.0", + "revm-database-interface 7.0.5", + "revm-interpreter 24.0.0", + "revm-precompile 25.0.0", + "revm-primitives 20.2.1", + "revm-state 7.0.5", + "serde", +] + [[package]] name = "revm-handler" version = "11.1.1" @@ -6301,34 +6429,35 @@ dependencies = [ [[package]] name = "revm-inspector" -version = "3.0.1" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfed4ecf999a3f6ae776ae2d160478c5dca986a8c2d02168e04066b1e34c789e" +checksum = "fdc1167ef8937d8867888e63581d8ece729a72073d322119ef4627d813d99ecb" dependencies = [ "auto_impl", - "revm-context 3.0.1", - "revm-database-interface 3.0.0", - "revm-handler 3.0.1", - "revm-interpreter 18.0.0", - "revm-primitives 18.0.0", - "revm-state 3.0.0", + "revm-context 5.0.1", + "revm-database-interface 4.0.1", + "revm-handler 5.0.1", + "revm-interpreter 20.0.0", + "revm-primitives 19.2.0", + "revm-state 4.0.1", "serde", "serde_json", ] [[package]] name = "revm-inspector" -version = "5.0.1" +version = "8.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc1167ef8937d8867888e63581d8ece729a72073d322119ef4627d813d99ecb" +checksum = "f78db140e332489094ef314eaeb0bd1849d6d01172c113ab0eb6ea8ab9372926" dependencies = [ "auto_impl", - "revm-context 5.0.1", - "revm-database-interface 4.0.1", - "revm-handler 5.0.1", - "revm-interpreter 20.0.0", - "revm-primitives 19.2.0", - "revm-state 4.0.1", + "either", + "revm-context 8.0.4", + "revm-database-interface 7.0.5", + "revm-handler 8.1.0", + "revm-interpreter 24.0.0", + "revm-primitives 20.2.1", + "revm-state 7.0.5", "serde", "serde_json", ] @@ -6352,25 +6481,25 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "18.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb20260342003cfb791536e678ef5bbea1bfd1f8178b170e8885ff821985473" +checksum = "b5ee65e57375c6639b0f50555e92a4f1b2434349dd32f52e2176f5c711171697" dependencies = [ - "revm-bytecode 3.0.0", - "revm-context-interface 3.0.0", - "revm-primitives 18.0.0", + "revm-bytecode 4.1.0", + "revm-context-interface 5.0.0", + "revm-primitives 19.2.0", "serde", ] [[package]] name = "revm-interpreter" -version = "20.0.0" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5ee65e57375c6639b0f50555e92a4f1b2434349dd32f52e2176f5c711171697" +checksum = "ff9d7d9d71e8a33740b277b602165b6e3d25fff091ba3d7b5a8d373bf55f28a7" dependencies = [ - "revm-bytecode 4.1.0", - "revm-context-interface 5.0.0", - "revm-primitives 19.2.0", + "revm-bytecode 6.2.2", + "revm-context-interface 9.0.0", + "revm-primitives 20.2.1", "serde", ] @@ -6388,9 +6517,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "19.0.0" +version = "21.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418e95eba68c9806c74f3e36cd5d2259170b61e90ac608b17ff8c435038ddace" +checksum = "0f9311e735123d8d53a02af2aa81877bba185be7c141be7f931bb3d2f3af449c" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -6405,7 +6534,7 @@ dependencies = [ "libsecp256k1", "once_cell", "p256 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", - "revm-primitives 18.0.0", + "revm-primitives 19.2.0", "ripemd", "secp256k1 0.30.0", "sha2 0.10.9", @@ -6413,15 +6542,16 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "21.0.0" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9311e735123d8d53a02af2aa81877bba185be7c141be7f931bb3d2f3af449c" +checksum = "4cee3f336b83621294b4cfe84d817e3eef6f3d0fce00951973364cc7f860424d" dependencies = [ "ark-bls12-381", "ark-bn254", "ark-ec", "ark-ff 0.5.0", "ark-serialize 0.5.0", + "arrayref", "aurora-engine-modexp", "blst", "c-kzg", @@ -6430,9 +6560,10 @@ dependencies = [ "libsecp256k1", "once_cell", "p256 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", - "revm-primitives 19.2.0", + "revm-primitives 20.2.1", "ripemd", - "secp256k1 0.30.0", + "rug", + "secp256k1 0.31.1", "sha2 0.10.9", ] @@ -6461,23 +6592,24 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "18.0.0" +version = "19.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc2283ff87358ec7501956c5dd8724a6c2be959c619c4861395ae5e0054575f" +checksum = "1c1588093530ec4442461163be49c433c07a3235d1ca6f6799fef338dacc50d3" dependencies = [ "alloy-primitives", - "enumn", + "num_enum", "serde", ] [[package]] name = "revm-primitives" -version = "19.2.0" +version = "20.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c1588093530ec4442461163be49c433c07a3235d1ca6f6799fef338dacc50d3" +checksum = "5aa29d9da06fe03b249b6419b33968ecdf92ad6428e2f012dc57bcd619b5d94e" dependencies = [ "alloy-primitives", "num_enum", + "once_cell", "serde", ] @@ -6494,25 +6626,25 @@ dependencies = [ [[package]] name = "revm-state" -version = "3.0.0" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09dd121f6e66d75ab111fb51b4712f129511569bc3e41e6067ae760861418bd8" +checksum = "0040c61c30319254b34507383ba33d85f92949933adf6525a2cede05d165e1fa" dependencies = [ "bitflags", - "revm-bytecode 3.0.0", - "revm-primitives 18.0.0", + "revm-bytecode 4.1.0", + "revm-primitives 19.2.0", "serde", ] [[package]] name = "revm-state" -version = "4.0.1" +version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0040c61c30319254b34507383ba33d85f92949933adf6525a2cede05d165e1fa" +checksum = "1f64fbacb86008394aaebd3454f9643b7d5a782bd251135e17c5b33da592d84d" dependencies = [ "bitflags", - "revm-bytecode 4.1.0", - "revm-primitives 19.2.0", + "revm-bytecode 6.2.2", + "revm-primitives 20.2.1", "serde", ] @@ -6783,12 +6915,12 @@ version = "2.0.0" source = "git+https://github.com/scroll-tech/stateless-block-verifier?tag=scroll-v91.2#3a32848c9438432125751eae8837757f6b87562e" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-evm", "alloy-primitives", "alloy-rpc-types-debug", "alloy-rpc-types-eth", - "alloy-serde 1.1.2", + "alloy-serde", "reth-chainspec", "reth-ethereum-forks", "reth-evm", @@ -6859,10 +6991,10 @@ version = "1.8.2" source = "git+https://github.com/scroll-tech/reth?tag=scroll-v91.2#11d0a3f73186dee7a1ba0d51ea5416dc8fef3e46" dependencies = [ "alloy-consensus", - "alloy-eips 1.1.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.1.2", + "alloy-serde", "derive_more 2.0.1", "reth-codecs", "serde", @@ -6876,19 +7008,19 @@ dependencies = [ "clap", "eyre", "hex", - "openvm-native-recursion", "openvm-sdk", "openvm-stark-sdk", "reqwest", "revm 24.0.0", "scroll-zkvm-verifier", + "serde_json", "snark-verifier-sdk", ] [[package]] name = "scroll-zkvm-types" -version = "0.8.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.8.0#5de3d673b78880c0c65756845b502b6cadf079a9" +version = "0.9.0" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.9.0#bf8494e57828bc449e9582ca6f97b53bd9b6eaf1" dependencies = [ "alloy-primitives", "base64", @@ -6896,9 +7028,11 @@ dependencies = [ "eyre", "hex", "once_cell", - "openvm-native-recursion", + "openvm-circuit", "openvm-sdk", "openvm-stark-sdk", + "openvm-static-verifier", + "openvm-verify-stark-host", "sbv-primitives", "scroll-zkvm-types-base", "scroll-zkvm-types-batch", @@ -6911,11 +7045,11 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-base" -version = "0.8.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.8.0#5de3d673b78880c0c65756845b502b6cadf079a9" +version = "0.9.0" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.9.0#bf8494e57828bc449e9582ca6f97b53bd9b6eaf1" dependencies = [ "alloy-primitives", - "alloy-serde 1.1.2", + "alloy-serde", "serde", "sha2 0.10.9", "sha3", @@ -6923,8 +7057,8 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-batch" -version = "0.8.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.8.0#5de3d673b78880c0c65756845b502b6cadf079a9" +version = "0.9.0" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.9.0#bf8494e57828bc449e9582ca6f97b53bd9b6eaf1" dependencies = [ "alloy-primitives", "c-kzg", @@ -6944,8 +7078,8 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-bundle" -version = "0.8.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.8.0#5de3d673b78880c0c65756845b502b6cadf079a9" +version = "0.9.0" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.9.0#bf8494e57828bc449e9582ca6f97b53bd9b6eaf1" dependencies = [ "scroll-zkvm-types-base", "serde", @@ -6953,20 +7087,20 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-chunk" -version = "0.8.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.8.0#5de3d673b78880c0c65756845b502b6cadf079a9" +version = "0.9.0" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.9.0#bf8494e57828bc449e9582ca6f97b53bd9b6eaf1" dependencies = [ "alloy-consensus", "alloy-primitives", "alloy-sol-types", "ecies", - "hex-literal", + "hex-literal 0.4.1", "itertools 0.14.0", - "k256 0.13.4 (git+https://github.com/openvm-org/openvm.git?tag=v1.6.0)", + "k256 0.13.4 (git+https://github.com/openvm-org/openvm.git?tag=v2.0.0)", "openvm-ecc-guest", "openvm-pairing", "openvm-sha2", - "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?tag=v1.6.0)", + "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?tag=v2.0.0)", "sbv-core", "sbv-helpers", "sbv-primitives", @@ -6978,15 +7112,18 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" -version = "0.8.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.8.0#5de3d673b78880c0c65756845b502b6cadf079a9" +version = "0.9.0" +source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.9.0#bf8494e57828bc449e9582ca6f97b53bd9b6eaf1" dependencies = [ "bincode", "eyre", "once_cell", + "openvm-circuit", "openvm-continuations", - "openvm-native-recursion", "openvm-sdk", + "openvm-stark-sdk", + "openvm-static-verifier", + "openvm-verify-stark-host", "scroll-zkvm-types", "serde", "serde_json", @@ -7337,9 +7474,8 @@ dependencies = [ [[package]] name = "snark-verifier" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d798d8ce8e29b8820ecc1028ac44cc4fc0f0296728af6fe6a0c4db05782c0a4" +version = "0.2.6" +source = "git+https://github.com/axiom-crypto/snark-verifier.git?tag=v0.2.6#364e82654c746b063aff528d8cb660890908278a" dependencies = [ "halo2-base", "halo2-ecc", @@ -7351,7 +7487,7 @@ dependencies = [ "num-traits", "pairing 0.23.0", "rand 0.8.5", - "revm 22.0.1", + "revm 27.1.0", "ruint", "serde", "sha3", @@ -7359,9 +7495,8 @@ dependencies = [ [[package]] name = "snark-verifier-sdk" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338d065044702bf751e87cf353daac63e2fc4c53a3e323cbcd98c603ee6e66c" +version = "0.2.6" +source = "git+https://github.com/axiom-crypto/snark-verifier.git?tag=v0.2.6#364e82654c746b063aff528d8cb660890908278a" dependencies = [ "ark-std 0.3.0", "bincode", @@ -7440,6 +7575,26 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[package]] +name = "struct-reflection" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "701b671d1ad68e250e05718f95dae3014a17f4e69cbe51842531c30495ff3301" +dependencies = [ + "struct-reflection-derive", +] + +[[package]] +name = "struct-reflection-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ab74230a0592602e361bd63c645413fa8cbe4500d10274e849179e5c72548f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "strum" version = "0.25.0" @@ -7820,6 +7975,17 @@ dependencies = [ "serde_core", ] +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.12.1", + "toml_datetime 0.6.11", + "winnow 0.5.40", +] + [[package]] name = "toml_edit" version = "0.22.27" @@ -7831,7 +7997,7 @@ dependencies = [ "serde_spanned", "toml_datetime 0.6.11", "toml_write", - "winnow", + "winnow 0.7.13", ] [[package]] @@ -7843,7 +8009,7 @@ dependencies = [ "indexmap 2.12.1", "toml_datetime 0.7.3", "toml_parser", - "winnow", + "winnow 0.7.13", ] [[package]] @@ -7852,7 +8018,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" dependencies = [ - "winnow", + "winnow 0.7.13", ] [[package]] @@ -8510,6 +8676,15 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + [[package]] name = "winnow" version = "0.7.13" @@ -8519,6 +8694,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winnow" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" +dependencies = [ + "memchr", +] + [[package]] name = "wit-bindgen" version = "0.46.0" @@ -8658,9 +8842,10 @@ dependencies = [ ] [[package]] -name = "zkhash" +name = "zkhash-axiom" version = "0.2.0" -source = "git+https://github.com/HorizenLabs/poseidon2.git?rev=bb476b9#bb476b9ca38198cf5092487283c8b8c5d4317c4e" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d038a7895d0e3ab0a352f53e7eb4f1f829f88fce2fb3cff93d665a8a0e01af6" dependencies = [ "ark-ff 0.4.2", "ark-std 0.4.0", diff --git a/Cargo.toml b/Cargo.toml index 5dd6777..9062fc0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,34 +6,36 @@ edition = "2024" [dependencies] # openvm -openvm-native-recursion = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.6.0", default-features = false } -openvm-sdk = { git = "https://github.com/openvm-org/openvm.git", tag = "v1.6.0", default-features = false, features = [ +# +# `evm-verify` (which subsumes `evm-prove`) provides +# Sdk::generate_halo2_verifier_solidity_with_version_name, used by `--recompute`. +openvm-sdk = { git = "https://github.com/openvm-org/openvm.git", tag = "v2.0.0", default-features = false, features = [ "parallel", - "evm-prove", + "evm-verify", "tco", "unprotected", ] } -openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.4.0" } +openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v2.0.0", default-features = false } # revm revm = "=24.0.0" # snark-verifier -snark-verifier-sdk = { version = "=0.2.1", default-features = false, features = [ +snark-verifier-sdk = { git = "https://github.com/axiom-crypto/snark-verifier.git", tag = "v0.2.6", default-features = false, features = [ "loader_halo2", - "halo2-axiom", "display", "revm", ] } # scroll-tech/zkvm-prover -scroll-zkvm-verifier = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.8.0" } +scroll-zkvm-verifier = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.9.0" } # miscellaneous clap = "4" eyre = "0.6" hex = "0.4" reqwest = { version = "0.12", features = ["blocking"] } +serde_json = "1" [patch.crates-io] revm = { git = "https://github.com/scroll-tech/revm", tag = "scroll-v91" } diff --git a/README.md b/README.md index 0618a90..70bb12f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Scroll Security Council Tools -The repository offers tools for the Security Council to run and validate certain operations against Scroll's ZkVM [release](https://github.com/scroll-tech/zkvm-prover/releases/tag/v0.8.0) +The repository offers tools for the Security Council to run and validate certain operations against Scroll's ZkVM [release](https://github.com/scroll-tech/zkvm-prover/releases/tag/v0.9.0) ## Setup @@ -11,7 +11,7 @@ $ git clone git@github.com:scroll-tech/scroll-sc-tools.git && cd scroll-sc-tools - [Install Rust](https://www.rust-lang.org/tools/install) - Install Specific Nightly Toolchain (specified in [rust-toolchain.toml](./rust-toolchain.toml)) ``` -rustup toolchain install nightly-2025-08-18 +rustup toolchain install nightly-2025-11-20 ``` ## Generate Verifier @@ -35,16 +35,16 @@ $ svm install 0.8.19 $ solc --version ``` -* For `--recompute` only: install [Foundry](https://getfoundry.sh/) **v1.5.0**. The re-computed verifier source must be formatted with the same `forge fmt` version used by OpenVM to publish `Halo2Verifier.sol`, otherwise the embedded `solc` metadata hash (and thus the codehash) will not match the deployed verifier. +The deployed contract is [`OpenVmHalo2Verifier`](https://github.com/openvm-org/openvm-solidity-sdk/blob/v2.0/src/v2.0-deferral/OpenVmHalo2Verifier.sol), a thin wrapper that inherits the flat [`Halo2Verifier`](https://github.com/openvm-org/openvm-solidity-sdk/blob/v2.0/src/v2.0-deferral/Halo2Verifier.sol). Scroll's bundle circuit defers proof verification, so it uses the `v2.0-deferral` variant rather than `v2.0-base`. -In order to generate the verifier contract, we can either download the source from [`OpenVM`](https://github.com/openvm-org/openvm-solidity-sdk/blob/v1.6/src/v1.6/Halo2Verifier.sol) or re-compute it. +In order to generate the verifier contract, we can either download the source from [`OpenVM`](https://github.com/openvm-org/openvm-solidity-sdk/tree/v2.0/src/v2.0-deferral) or re-compute it. * Download the verifier contract: ```shell $ cargo run --release -- generate-verifier ``` -* Re-compute the verifier contract (using [`OpenVM SDK`](https://github.com/openvm-org/openvm/blob/v1.6.0/crates/sdk/src/lib.rs#L805)): +* Re-compute the verifier contract (using [`OpenVM SDK`](https://github.com/openvm-org/openvm/tree/v2.0.0/crates/sdk)): ```shell # download SRS parameters $ bash scripts/download-params.sh @@ -55,7 +55,9 @@ $ RUST_MIN_STACK=16777216 cargo run --release -- generate-verifier --recompute Note: Re-computation requires very large amounts of computation and memory (~200 GB). It took about 4 minutes on AWS c7a.24xlarge. -Because `solc` embeds a metadata hash derived from the exact Solidity source text, the re-computed verifier must be formatted identically to the published `Halo2Verifier.sol` before compilation. `generate-verifier --recompute` therefore invokes `forge fmt` with the same formatter configuration used by OpenVM. For the resulting codehash to match the deployed verifier, the local `forge` binary should be **Foundry v1.5.0** (the version used to publish the OpenVM v1.6 verifier). Using a different `forge` version may produce a different codehash even though the verifier runtime logic is identical; in that case run `cargo run --release -- generate-verifier` (download mode) to obtain the exact on-chain codehash. +`solc` embeds a metadata hash that covers the source unit names and the compiler settings, and that hash is part of the deployed bytecode. Both modes therefore compile through `solc --standard-json` using the same source paths (`src/v2.0-deferral/...`) and settings as the OpenVM SDK: optimizer enabled with 100000 runs, `constantOptimizer` and the Yul optimizer both off, `evmVersion` `paris`, and the `forge-std/` remapping. Changing any of these changes the codehash even though the executable code is identical. The compiler version needs no separate check, since the sources pin `pragma solidity 0.8.19`. + +For reference, release `v0.9.0` produces codehash `0x00dfb6855747412fa70b8a75aaa4950f1deafaace9d2a4e9923ad2e1a3589928`. ## Compute Digests diff --git a/rust-toolchain.toml b/rust-toolchain.toml index a43d994..9f33c24 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "nightly-2025-08-18" +channel = "nightly-2025-11-20" diff --git a/src/verifier/helpers.rs b/src/verifier/helpers.rs index 021ef05..c7b4789 100644 --- a/src/verifier/helpers.rs +++ b/src/verifier/helpers.rs @@ -1,122 +1,161 @@ -use openvm_native_recursion::halo2::utils::Halo2ParamsReader; -use openvm_sdk::Sdk; -use snark_verifier_sdk::{ - SHPLONK, - evm::gen_evm_verifier_sol_code, - halo2::aggregation::AggregationCircuit, - snark_verifier::loader::evm::compile_solidity, +use std::io::Write; + +use openvm_sdk::{ + Sdk, + config::{AggregationSystemParams, AppConfig}, + prover::DeferralHookCommits, +}; +use openvm_stark_sdk::config::{ + MAX_APP_LOG_STACKED_HEIGHT, app_params_with_100_bits_security, + hook_params_with_100_bits_security, }; -/// URL to download the Halo2 verifier's solidity code. +/// The `openvm-solidity-sdk` release tag to download the verifier from. /// -/// Note the following: +/// This tracks the **solidity-sdk** release tag, which follows its own tagging +/// scheme and is *not* the same as the `openvm` crate version. +const SOLIDITY_SDK_TAG: &str = "v2.0"; + +/// The verifier variant published by the solidity SDK. /// -/// - OpenVM version is v1.6 (instead of v1.6.x patches) since patches don't include -/// circuit-specific changes. +/// Scroll's bundle circuit defers proof verification, so it deploys the +/// deferral-enabled verifier. `v2.0-base` is for circuits that do not defer. +const VERIFIER_VARIANT: &str = "v2.0-deferral"; + +/// The flat Halo2 verifier emitted by `snark-verifier`. +const FILE_HALO2_VERIFIER: &str = "Halo2Verifier.sol"; + +/// The thin wrapper that Scroll deploys. It inherits `Halo2Verifier` and +/// exposes the friendlier `IOpenVmHalo2Verifier` interface. +const FILE_OPENVM_VERIFIER: &str = "OpenVmHalo2Verifier.sol"; + +/// Interface implemented by [`FILE_OPENVM_VERIFIER`]. +const FILE_OPENVM_INTERFACE: &str = "interfaces/IOpenVmHalo2Verifier.sol"; + +/// Name of the contract whose bytecode is deployed on L1. +const CONTRACT_NAME: &str = "OpenVmHalo2Verifier"; + +/// Build the `solc` source unit name for a file in the verifier directory. /// -/// - The source points to [tag=v1.6][tag] +/// `solc` embeds a metadata hash in the compiled bytecode, and that hash covers +/// the source unit names as well as the compiler settings. These names must +/// therefore match the ones used by the OpenVM SDK verbatim, otherwise the +/// codehash differs from the deployed verifier's even though the executable +/// code is identical. +fn source_unit_name(file: &str) -> String { + format!("src/{VERIFIER_VARIANT}/{file}") +} + +/// Compile the three verifier sources and return the initcode of +/// [`CONTRACT_NAME`]. /// -/// [tag]: https://github.com/openvm-org/openvm-solidity-sdk/releases/tag/v1.6 -const URL_OPENVM_HALO2_VERIFIER: &str = "https://github.com/openvm-org/openvm-solidity-sdk/raw/refs/heads/main/src/v1.6/Halo2Verifier.sol"; - -/// Foundry formatter configuration used by OpenVM when publishing -/// `Halo2Verifier.sol`. `solc` embeds a metadata hash that depends on the exact -/// source text, so re-generated code must be formatted identically before -/// compilation in order to reproduce the on-chain codehash. -const FOUNDRY_FMT_TOML: &str = r#"[fmt] -sort_imports = true -bracket_spacing = true -int_types = "long" -line_length = 120 -multiline_func_header = "attributes_first" -number_underscore = "thousands" -quote_style = "double" -single_line_statement_blocks = "single" -tab_width = 4 -wrap_comments = false -"#; - -/// Format Solidity source with `forge fmt` using the canonical formatter config. -fn format_solidity(sol_code: &str) -> eyre::Result { - let temp_dir = std::env::temp_dir().join("scroll-sc-tools-verifier-fmt"); - let _ = std::fs::remove_dir_all(&temp_dir); - std::fs::create_dir_all(&temp_dir)?; - - let result = (|| { - let sol_path = temp_dir.join("Halo2Verifier.sol"); - let config_path = temp_dir.join("foundry.toml"); - std::fs::write(&config_path, FOUNDRY_FMT_TOML)?; - std::fs::write(&sol_path, sol_code)?; - - let format_output = std::process::Command::new("forge") - .arg("fmt") - .arg(&sol_path) - .current_dir(&temp_dir) - .output(); - - match format_output { - Ok(output) if output.status.success() => { - std::fs::read_to_string(&sol_path).map_err(Into::into) - } - Ok(output) => { - let stderr = String::from_utf8_lossy(&output.stderr); - Err(eyre::eyre!("forge fmt failed: {stderr}")) - } - Err(e) => Err(eyre::eyre!("failed to spawn forge fmt: {e}")), +/// The settings mirror the OpenVM SDK exactly. `solc` enforces the compiler +/// version itself, since the sources pin `pragma solidity 0.8.19`. +fn compile_verifier( + halo2_verifier_code: &str, + openvm_verifier_code: &str, + openvm_verifier_interface: &str, +) -> eyre::Result> { + let solc_input = serde_json::json!({ + "language": "Solidity", + "sources": { + source_unit_name(FILE_HALO2_VERIFIER): { "content": halo2_verifier_code }, + source_unit_name(FILE_OPENVM_VERIFIER): { "content": openvm_verifier_code }, + source_unit_name(FILE_OPENVM_INTERFACE): { "content": openvm_verifier_interface }, + }, + "settings": { + "remappings": ["forge-std/=lib/forge-std/src/"], + "optimizer": { + "enabled": true, + "runs": 100_000, + "details": { "constantOptimizer": false, "yul": false } + }, + "evmVersion": "paris", + "viaIR": false, + "outputSelection": { "*": { "*": ["metadata", "evm.bytecode.object"] } } } - })(); + }); - let _ = std::fs::remove_dir_all(&temp_dir); - result -} + let mut child = std::process::Command::new("solc") + .arg("--standard-json") + .stdin(std::process::Stdio::piped()) + .stdout(std::process::Stdio::piped()) + .spawn() + .map_err(|e| eyre::eyre!("failed to spawn solc: {e}"))?; + child + .stdin + .take() + .ok_or_else(|| eyre::eyre!("failed to open solc stdin"))? + .write_all(solc_input.to_string().as_bytes())?; -/// Generate and return the EVM PLONK verifier's initcode. -pub(crate) fn generate() -> eyre::Result> { - // The re-computed source must be formatted with the same Foundry version - // used by OpenVM to publish Halo2Verifier.sol, otherwise the embedded - // metadata hash (and thus the codehash) will differ. - match std::process::Command::new("forge").arg("--version").output() { - Ok(output) if output.status.success() => { - let version = String::from_utf8_lossy(&output.stdout); - if !version.contains("1.5.0") { - eprintln!( - "Warning: local forge version is {}; for the re-computed codehash to match the deployed verifier, use Foundry v1.5.0.", - version.trim() - ); - } + let output = child.wait_with_output()?; + if !output.status.success() { + return Err(eyre::eyre!("solc exited with status {}", output.status)); + } + + let parsed: serde_json::Value = serde_json::from_slice(&output.stdout) + .map_err(|e| eyre::eyre!("solc returned invalid JSON: {e}"))?; + + // `errors` also carries warnings, so only genuine errors are fatal. + if let Some(errors) = parsed["errors"].as_array() { + let fatal = errors + .iter() + .filter(|e| e["severity"] == "error") + .map(|e| e["formattedMessage"].as_str().unwrap_or_default()) + .collect::>(); + if !fatal.is_empty() { + return Err(eyre::eyre!("solc reported errors:\n{}", fatal.join("\n"))); } - _ => eprintln!("Warning: could not determine local forge version."), } - // Get the OpenVM SDK with the standard RISC-V 32-bit configuration. The Halo2 - // verifier only depends on the OpenVM aggregation circuit, which is the same - // for all Scroll circuits that use this VM configuration. - let sdk = Sdk::riscv32(); - let halo2_params_reader = sdk.halo2_params_reader(); - let halo2_pk = sdk.halo2_pk(); - let halo2_params = halo2_params_reader - .read_params(halo2_pk.wrapper.pinning.metadata.config_params.k); - - // Generate the verifier Solidity code using the same method as - // scroll-zkvm-prover's build-guest, then format it canonically before - // compiling so the resulting codehash matches the deployed verifier. - let sol_code = gen_evm_verifier_sol_code::( - &halo2_params, - halo2_pk.wrapper.pinning.pk.get_vk(), - halo2_pk.wrapper.pinning.metadata.num_pvs.clone(), - ); - - let sol_code = format_solidity(&sol_code)?; - Ok(compile_solidity(&sol_code)) + let bytecode = parsed["contracts"][source_unit_name(FILE_OPENVM_VERIFIER)][CONTRACT_NAME] + ["evm"]["bytecode"]["object"] + .as_str() + .ok_or_else(|| eyre::eyre!("could not find {CONTRACT_NAME} bytecode in solc output"))? + .to_string(); + + hex::decode(bytecode).map_err(|e| eyre::eyre!("solc returned invalid hex: {e}")) +} + +/// Re-generate the EVM verifier from the circuit and return its initcode. +/// +/// This mirrors `openvm-solidity-sdk`'s own `generate-verifier` tool, so the +/// emitted Solidity is already the canonical text and needs no reformatting +/// before it compiles to the published bytecode. +pub(crate) fn generate() -> eyre::Result> { + let app_params = app_params_with_100_bits_security(MAX_APP_LOG_STACKED_HEIGHT); + let agg_params = AggregationSystemParams::default(); + let hook_commits = + DeferralHookCommits::from_system_params(&agg_params, hook_params_with_100_bits_security()); + + let sdk = Sdk::builder() + .app_config(AppConfig::riscv32(app_params)) + .agg_params(agg_params) + .deferral_hook_commits(hook_commits) + .build()?; + + let verifier = sdk.generate_halo2_verifier_solidity_with_version_name(VERIFIER_VARIANT)?; + + compile_verifier( + &verifier.halo2_verifier_code, + &verifier.openvm_verifier_code, + &verifier.openvm_verifier_interface, + ) } -/// Download the published Halo2 verifier from GitHub and compile to binary. +/// Download the published verifier sources from GitHub and compile them. pub(crate) fn download_and_compile() -> eyre::Result> { - let sol_code: String = reqwest::blocking::Client::new() - .get(URL_OPENVM_HALO2_VERIFIER) - .send()? - .error_for_status()? - .text()?; + let client = reqwest::blocking::Client::new(); + let fetch = |file: &str| -> eyre::Result { + let url = format!( + "https://raw.githubusercontent.com/openvm-org/openvm-solidity-sdk/{SOLIDITY_SDK_TAG}/src/{VERIFIER_VARIANT}/{file}" + ); + Ok(client.get(&url).send()?.error_for_status()?.text()?) + }; - Ok(compile_solidity(&sol_code)) + compile_verifier( + &fetch(FILE_HALO2_VERIFIER)?, + &fetch(FILE_OPENVM_VERIFIER)?, + &fetch(FILE_OPENVM_INTERFACE)?, + ) }