diff --git a/aptos/Cargo.lock b/aptos/Cargo.lock index 71325a4d..3b957fef 100644 --- a/aptos/Cargo.lock +++ b/aptos/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -1215,7 +1215,7 @@ dependencies = [ "once_cell", "procfs", "prometheus", - "sysinfo", + "sysinfo 0.28.4", ] [[package]] @@ -2565,7 +2565,7 @@ dependencies = [ [[package]] name = "bls12_381" version = "0.8.0" -source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a96eccde19bf861b0d1707b61b2ab15e294b154" +source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a1c7d1b4827a4d42eb4a68f8cb78c2da10f4787" dependencies = [ "cfg-if", "digest 0.9.0", @@ -2573,7 +2573,8 @@ dependencies = [ "group 0.13.0", "pairing 0.23.0", "rand_core 0.6.4", - "sphinx-precompiles", + "sphinx-lib", + "sphinx-zkvm", "subtle", ] @@ -3811,7 +3812,6 @@ dependencies = [ "rand_core 0.6.4", "sec1", "subtle", - "tap", "zeroize", ] @@ -5228,7 +5228,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.52.0", ] [[package]] @@ -8192,6 +8192,15 @@ version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" +[[package]] +name = "psm" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205" +dependencies = [ + "cc", +] + [[package]] name = "publicsuffix" version = "2.2.3" @@ -9682,7 +9691,7 @@ dependencies = [ [[package]] name = "sphinx-core" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "arrayref", @@ -9744,7 +9753,7 @@ dependencies = [ [[package]] name = "sphinx-derive" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "proc-macro2", "quote", @@ -9754,30 +9763,29 @@ dependencies = [ [[package]] name = "sphinx-helper" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "cargo_metadata 0.18.1", "chrono", ] [[package]] -name = "sphinx-precompiles" +name = "sphinx-lib" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", "cfg-if", "getrandom 0.2.14", "hybrid-array", - "k256", "serde", ] [[package]] name = "sphinx-primitives" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "itertools 0.12.1", "lazy_static", @@ -9790,7 +9798,7 @@ dependencies = [ [[package]] name = "sphinx-prover" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "backtrace", @@ -9832,7 +9840,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-circuit" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "bincode", "itertools 0.12.1", @@ -9855,7 +9863,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-compiler" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "backtrace", "hashbrown 0.14.5", @@ -9881,7 +9889,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-core" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "arrayref", "backtrace", @@ -9915,7 +9923,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-derive" version = "0.1.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "proc-macro2", "quote", @@ -9925,7 +9933,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-gnark-ffi" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", @@ -9949,7 +9957,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-program" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "itertools 0.12.1", "p3-air", @@ -9971,13 +9979,14 @@ dependencies = [ "sphinx-primitives", "sphinx-recursion-compiler", "sphinx-recursion-core", + "stacker", "tracing", ] [[package]] name = "sphinx-sdk" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "alloy-sol-types", "anyhow", @@ -10008,6 +10017,7 @@ dependencies = [ "sphinx-prover", "strum 0.26.3", "strum_macros 0.26.4", + "sysinfo 0.31.4", "tempfile", "thiserror", "tokio", @@ -10016,6 +10026,23 @@ dependencies = [ "vergen", ] +[[package]] +name = "sphinx-zkvm" +version = "1.0.0" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" +dependencies = [ + "bincode", + "cfg-if", + "getrandom 0.2.14", + "lazy_static", + "libm", + "once_cell", + "rand 0.8.5", + "serde", + "sha2 0.10.8", + "sphinx-lib", +] + [[package]] name = "spin" version = "0.5.2" @@ -10044,6 +10071,19 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "stacker" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b" +dependencies = [ + "cc", + "cfg-if", + "libc", + "psm", + "windows-sys 0.59.0", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -10256,6 +10296,20 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "sysinfo" +version = "0.31.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "355dbe4f8799b304b05e1b0f05fc59b2a18d36645cf169607da45bde2f69a1be" +dependencies = [ + "core-foundation-sys", + "libc", + "memchr", + "ntapi", + "rayon", + "windows", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -11483,6 +11537,16 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.52.0" @@ -11492,17 +11556,60 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + [[package]] name = "windows-registry" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-strings", "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.2.0" @@ -11518,7 +11625,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-targets 0.52.6", ] diff --git a/aptos/aptos-programs/artifacts/benchmarks/signature-verification-program b/aptos/aptos-programs/artifacts/benchmarks/signature-verification-program index be1e67a7..6a17a3b0 100755 Binary files a/aptos/aptos-programs/artifacts/benchmarks/signature-verification-program and b/aptos/aptos-programs/artifacts/benchmarks/signature-verification-program differ diff --git a/aptos/aptos-programs/artifacts/epoch-change-program b/aptos/aptos-programs/artifacts/epoch-change-program index 0c6a08c0..67c5049e 100755 Binary files a/aptos/aptos-programs/artifacts/epoch-change-program and b/aptos/aptos-programs/artifacts/epoch-change-program differ diff --git a/aptos/aptos-programs/artifacts/inclusion-program b/aptos/aptos-programs/artifacts/inclusion-program index b0c219ac..7eb3fa78 100755 Binary files a/aptos/aptos-programs/artifacts/inclusion-program and b/aptos/aptos-programs/artifacts/inclusion-program differ diff --git a/aptos/programs/benchmarks/signature-verification/Cargo.lock b/aptos/programs/benchmarks/signature-verification/Cargo.lock index 03c1353b..8ad1d04e 100644 --- a/aptos/programs/benchmarks/signature-verification/Cargo.lock +++ b/aptos/programs/benchmarks/signature-verification/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "anyhow" @@ -26,18 +26,6 @@ dependencies = [ "tiny-keccak", ] -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - [[package]] name = "bcs" version = "0.1.4" @@ -89,7 +77,7 @@ dependencies = [ [[package]] name = "bls12_381" version = "0.8.0" -source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#132f6244b430c5c079d60691e0ed55fc9797be8e" +source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a1c7d1b4827a4d42eb4a68f8cb78c2da10f4787" dependencies = [ "cfg-if", "digest 0.9.0", @@ -97,7 +85,8 @@ dependencies = [ "group", "pairing", "rand_core", - "sphinx-precompiles", + "sphinx-lib", + "sphinx-zkvm", "subtle", ] @@ -122,12 +111,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - [[package]] name = "cpufeatures" version = "0.2.13" @@ -143,18 +126,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array", - "rand_core", - "subtle", - "zeroize", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -165,16 +136,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "zeroize", -] - [[package]] name = "digest" version = "0.9.0" @@ -191,43 +152,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", - "const-oid", "crypto-common", - "subtle", -] - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest 0.10.7", - "elliptic-curve", - "rfc6979", - "signature", - "spki", -] - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest 0.10.7", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core", - "sec1", - "subtle", - "tap", - "zeroize", ] [[package]] @@ -255,7 +180,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -298,15 +222,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "hybrid-array" version = "0.2.0-rc.9" @@ -316,20 +231,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "k256" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" -dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "sha2 0.10.8", - "signature", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -369,16 +270,6 @@ dependencies = [ "group", ] -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - [[package]] name = "ppv-lite86" version = "0.2.20" @@ -466,30 +357,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "subtle", - "zeroize", -] - [[package]] name = "serde" version = "1.0.208" @@ -542,16 +409,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest 0.10.7", - "rand_core", -] - [[package]] name = "signature-verification-program" version = "0.1.0" @@ -564,7 +421,7 @@ dependencies = [ [[package]] name = "sphinx-derive" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#3103411f2782f0834d033e029119e07d9f2b129c" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "proc-macro2", "quote", @@ -572,44 +429,33 @@ dependencies = [ ] [[package]] -name = "sphinx-precompiles" +name = "sphinx-lib" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#3103411f2782f0834d033e029119e07d9f2b129c" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", "cfg-if", "getrandom", "hybrid-array", - "k256", "serde", ] [[package]] name = "sphinx-zkvm" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#3103411f2782f0834d033e029119e07d9f2b129c" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "bincode", "cfg-if", "getrandom", - "k256", "lazy_static", "libm", "once_cell", "rand", + "serde", "sha2 0.10.8", - "sphinx-precompiles", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", + "sphinx-lib", ] [[package]] @@ -728,9 +574,3 @@ dependencies = [ "quote", "syn 2.0.75", ] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/aptos/programs/benchmarks/signature-verification/src/main.rs b/aptos/programs/benchmarks/signature-verification/src/main.rs index 0b6a7810..c702d83b 100644 --- a/aptos/programs/benchmarks/signature-verification/src/main.rs +++ b/aptos/programs/benchmarks/signature-verification/src/main.rs @@ -22,13 +22,13 @@ pub fn main() { .verifier; let agg_sig = ledger_info_with_sig.signatures(); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: verify_multi_signatures"); } validator_verifier .verify_multi_signatures(&ledger_info, &agg_sig) .expect("verify_multi_signatures: could not verify multi signatures"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: verify_multi_signatures"); } sphinx_zkvm::io::commit(&true); diff --git a/aptos/programs/epoch-change/Cargo.lock b/aptos/programs/epoch-change/Cargo.lock index 9d9d12ad..722472d8 100644 --- a/aptos/programs/epoch-change/Cargo.lock +++ b/aptos/programs/epoch-change/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "anyhow" @@ -26,18 +26,6 @@ dependencies = [ "tiny-keccak", ] -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - [[package]] name = "bcs" version = "0.1.4" @@ -89,7 +77,7 @@ dependencies = [ [[package]] name = "bls12_381" version = "0.8.0" -source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#132f6244b430c5c079d60691e0ed55fc9797be8e" +source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a1c7d1b4827a4d42eb4a68f8cb78c2da10f4787" dependencies = [ "cfg-if", "digest 0.9.0", @@ -97,7 +85,8 @@ dependencies = [ "group", "pairing", "rand_core", - "sphinx-precompiles", + "sphinx-lib", + "sphinx-zkvm", "subtle", ] @@ -122,12 +111,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - [[package]] name = "cpufeatures" version = "0.2.13" @@ -143,18 +126,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array", - "rand_core", - "subtle", - "zeroize", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -165,16 +136,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "zeroize", -] - [[package]] name = "digest" version = "0.9.0" @@ -191,43 +152,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", - "const-oid", "crypto-common", - "subtle", -] - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest 0.10.7", - "elliptic-curve", - "rfc6979", - "signature", - "spki", -] - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest 0.10.7", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core", - "sec1", - "subtle", - "tap", - "zeroize", ] [[package]] @@ -263,7 +188,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -306,15 +230,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "hybrid-array" version = "0.2.0-rc.9" @@ -324,20 +239,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "k256" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" -dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "sha2 0.10.8", - "signature", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -377,16 +278,6 @@ dependencies = [ "group", ] -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - [[package]] name = "ppv-lite86" version = "0.2.20" @@ -474,30 +365,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "subtle", - "zeroize", -] - [[package]] name = "serde" version = "1.0.208" @@ -551,54 +418,33 @@ dependencies = [ ] [[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest 0.10.7", - "rand_core", -] - -[[package]] -name = "sphinx-precompiles" +name = "sphinx-lib" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#3103411f2782f0834d033e029119e07d9f2b129c" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", "cfg-if", "getrandom", "hybrid-array", - "k256", "serde", ] [[package]] name = "sphinx-zkvm" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#3103411f2782f0834d033e029119e07d9f2b129c" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "bincode", "cfg-if", "getrandom", - "k256", "lazy_static", "libm", "once_cell", "rand", + "serde", "sha2 0.10.8", - "sphinx-precompiles", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", + "sphinx-lib", ] [[package]] @@ -717,9 +563,3 @@ dependencies = [ "quote", "syn 2.0.75", ] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/aptos/programs/epoch-change/src/main.rs b/aptos/programs/epoch-change/src/main.rs index 3a11a7dd..8778e1a2 100644 --- a/aptos/programs/epoch-change/src/main.rs +++ b/aptos/programs/epoch-change/src/main.rs @@ -9,46 +9,46 @@ use aptos_lc_core::types::trusted_state::{EpochChangeProof, TrustedState, Truste sphinx_zkvm::entrypoint!(main); pub fn main() { - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: read_inputs"); } let trusted_state_bytes = sphinx_zkvm::io::read::>(); let epoch_change_proof = sphinx_zkvm::io::read::>(); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: read_inputs"); } // Deserialize Rust structures - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: deserialize_trusted_state"); } let trusted_state = TrustedState::from_bytes(&trusted_state_bytes) .expect("TrustedState::from_bytes: could not create trusted state"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: deserialize_trusted_state"); } - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: deserialize_epoch_change_proof"); } let epoch_change_proof = EpochChangeProof::from_bytes(&epoch_change_proof) .expect("EpochChangeProof::from_bytes: could not create epoch change proof"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: deserialize_epoch_change_proof"); } // Verify and ratchet the trusted state - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: verify_and_ratchet"); } let trusted_state_change = trusted_state .verify_and_ratchet_inner(&epoch_change_proof) .expect("TrustedState::verify_and_ratchet_inner: could not ratchet"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: verify_and_ratchet"); } // Extract new trusted state - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: validator_verifier_hash"); } let validator_verifier_hash = match trusted_state_change { @@ -63,12 +63,12 @@ pub fn main() { .hash(), _ => panic!("Expected epoch change"), }; - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: validator_verifier_hash"); } // Compute previous epoch validator verifier hash and commit it - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: hash_prev_validator"); } let prev_epoch_validator_verifier_hash = match &trusted_state { @@ -76,7 +76,7 @@ pub fn main() { _ => panic!("Expected epoch change for current trusted state"), }; sphinx_zkvm::io::commit(prev_epoch_validator_verifier_hash.as_ref()); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: hash_prev_validator"); } diff --git a/aptos/programs/inclusion/Cargo.lock b/aptos/programs/inclusion/Cargo.lock index 9309e322..79e23fe0 100644 --- a/aptos/programs/inclusion/Cargo.lock +++ b/aptos/programs/inclusion/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "anyhow" @@ -26,18 +26,6 @@ dependencies = [ "tiny-keccak", ] -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - [[package]] name = "bcs" version = "0.1.4" @@ -89,7 +77,7 @@ dependencies = [ [[package]] name = "bls12_381" version = "0.8.0" -source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#132f6244b430c5c079d60691e0ed55fc9797be8e" +source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a1c7d1b4827a4d42eb4a68f8cb78c2da10f4787" dependencies = [ "cfg-if", "digest 0.9.0", @@ -97,7 +85,8 @@ dependencies = [ "group", "pairing", "rand_core", - "sphinx-precompiles", + "sphinx-lib", + "sphinx-zkvm", "subtle", ] @@ -122,12 +111,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - [[package]] name = "cpufeatures" version = "0.2.13" @@ -143,18 +126,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array", - "rand_core", - "subtle", - "zeroize", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -165,16 +136,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "zeroize", -] - [[package]] name = "digest" version = "0.9.0" @@ -191,43 +152,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", - "const-oid", "crypto-common", - "subtle", -] - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest 0.10.7", - "elliptic-curve", - "rfc6979", - "signature", - "spki", -] - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest 0.10.7", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core", - "sec1", - "subtle", - "tap", - "zeroize", ] [[package]] @@ -255,7 +180,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -298,15 +222,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "hybrid-array" version = "0.2.0-rc.9" @@ -324,20 +239,6 @@ dependencies = [ "sphinx-zkvm", ] -[[package]] -name = "k256" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" -dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "sha2 0.10.8", - "signature", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -377,16 +278,6 @@ dependencies = [ "group", ] -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - [[package]] name = "ppv-lite86" version = "0.2.20" @@ -474,30 +365,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "subtle", - "zeroize", -] - [[package]] name = "serde" version = "1.0.208" @@ -551,54 +418,33 @@ dependencies = [ ] [[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest 0.10.7", - "rand_core", -] - -[[package]] -name = "sphinx-precompiles" +name = "sphinx-lib" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#3103411f2782f0834d033e029119e07d9f2b129c" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", "cfg-if", "getrandom", "hybrid-array", - "k256", "serde", ] [[package]] name = "sphinx-zkvm" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#3103411f2782f0834d033e029119e07d9f2b129c" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "bincode", "cfg-if", "getrandom", - "k256", "lazy_static", "libm", "once_cell", "rand", + "serde", "sha2 0.10.8", - "sphinx-precompiles", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", + "sphinx-lib", ] [[package]] @@ -717,9 +563,3 @@ dependencies = [ "quote", "syn 2.0.75", ] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/aptos/programs/inclusion/src/main.rs b/aptos/programs/inclusion/src/main.rs index 0133f941..fe66fa97 100644 --- a/aptos/programs/inclusion/src/main.rs +++ b/aptos/programs/inclusion/src/main.rs @@ -13,7 +13,7 @@ use aptos_lc_core::types::validator::ValidatorVerifier; sphinx_zkvm::entrypoint!(main); pub fn main() { - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: read_inputs"); } // Get inputs for account inclusion @@ -30,7 +30,7 @@ pub fn main() { // Latest verified validator verifier & hash let verified_validator_verifier = sphinx_zkvm::io::read::>(); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: read_inputs"); } @@ -47,7 +47,7 @@ pub fn main() { let latest_li = LedgerInfoWithSignatures::from_bytes(&ledger_info_bytes) .expect("from_bytes: could not deserialize LedgerInfo"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: verify_transaction_inclusion"); } @@ -56,25 +56,25 @@ pub fn main() { transaction_proof .verify(expected_root_hash, transaction_hash, transaction_index) .expect("verify: could not verify proof"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: verify_transaction_inclusion"); } // Check signature - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: verify_signature"); } latest_li .verify_signatures(&validator_verifier) .expect("verify_signatures: could not verify signatures"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: verify_signature"); } // Verify account inclusion in the SparseMerkleTree let sparse_merkle_proof = SparseMerkleProof::from_bytes(&sparse_merkle_proof_bytes) .expect("from_bytes: could not deserialize SparseMerkleProof"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: verify_merkle_proof"); } let sparse_expected_root_hash = transaction @@ -88,7 +88,7 @@ pub fn main() { .expect("leaf_value_hash: could not use input to create HashValue"), ) .expect("verify_by_hash: could not verify proof"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: verify_merkle_proof"); } diff --git a/aptos/solidity/contracts/lib/forge-std b/aptos/solidity/contracts/lib/forge-std index 1de6eecf..1eea5bae 160000 --- a/aptos/solidity/contracts/lib/forge-std +++ b/aptos/solidity/contracts/lib/forge-std @@ -1 +1 @@ -Subproject commit 1de6eecf821de7fe2c908cc48d3ab3dced20717f +Subproject commit 1eea5bae12ae557d589f9f0f0edae2faa47cb262 diff --git a/aptos/solidity/contracts/lib/openzeppelin-contracts b/aptos/solidity/contracts/lib/openzeppelin-contracts index fe6249ec..3da7a869 160000 --- a/aptos/solidity/contracts/lib/openzeppelin-contracts +++ b/aptos/solidity/contracts/lib/openzeppelin-contracts @@ -1 +1 @@ -Subproject commit fe6249ec2c2dcdbb05e2b6a0d0d3e229f6ffbb37 +Subproject commit 3da7a869aad95a3390e173f59558181329b0871f diff --git a/aptos/solidity/contracts/lib/sphinx-contracts b/aptos/solidity/contracts/lib/sphinx-contracts index 207d1dd7..20d0ee36 160000 --- a/aptos/solidity/contracts/lib/sphinx-contracts +++ b/aptos/solidity/contracts/lib/sphinx-contracts @@ -1 +1 @@ -Subproject commit 207d1dd701369603a46b6b8601c596996ff125ae +Subproject commit 20d0ee36565cf9058f5f3cb2dddaf225c84919c6 diff --git a/aptos/solidity/contracts/src/plonk_fixtures/epoch_change_fixture.json b/aptos/solidity/contracts/src/plonk_fixtures/epoch_change_fixture.json index 56a67d88..6b2e2794 100644 --- a/aptos/solidity/contracts/src/plonk_fixtures/epoch_change_fixture.json +++ b/aptos/solidity/contracts/src/plonk_fixtures/epoch_change_fixture.json @@ -1,5 +1,5 @@ { - "vkey": "0x0072b60af92b70d22263ea319349c33af704baf7a4bc11cbac41265e34e8381e", + "vkey": "0x00749738cdd87d0179d124a1c20f0cb28de2355faf4b00c5f994b3bfa0cfdf48", "publicValues": "0x205829098a4c0273312e8bc4fdbde28fc12abdc540c88bdd9abeef0a85d706ecc071f215064bfe6f1c24295135199ce6f6dec2974115fad50989e666915453ad", - "proof": "0x7f8918df1abea79a7dad78d2889bf34a2eca42cc44e9ac350ed3fa7267154717fcd5750f216976d8595327f6ff99c18cc1321714ec0f7ca6cf39f53379e2440191444c381426c5be6b6fd61037089ab261b00ff785a3e27d387740604d586e25d46a37f522a3f5ca9e3f14713685c7a4b10d7ca89c4add75e5a18934b8d2f6b5a48a26f61eb9be4fbd66549382667f953f91faba31417d93bd2524ea4d6ea71713c0ab64247f5c10942c7b665371a406bd59f93cb633d27beb4433a3398ed47828df97cd1dc8525e37c6f7b29e1f5cc4157895052cc538a8bf42552e8b2004ad85935d7422ce23d3676e1f1f772fbe0ebf9f4e7f9808e0ae087597af15417f50731878762622896497aabcd32998b33278aff53487832ab72625dc70976dfe24436748fb27db4d2a6f0115d19880acd482c4fc8dff9f5e229b93e00ffe7045a1524e6197099386c066388cdea4d88cf963ca042f4932a4e65eb1d829ad21d4c57c79565320c668418e5db9bb9887c917b1f9d0fa9962ecaae3cf128deacce488a1527a342ec6facad13f8168a35ee75cb043f26e9974f24910c0e1af745e824b0ffa69a2080462e6421ea7b229fef55bb20de10237a9359d1e5407cd6705344f711de2fa1065862ac4d12f3d951264b3a8cf08daca0b9cf785acf9f6f1e381e2b8e12f710e6c27789bda5c0701aafaa22c484d03f76f255a0bca57574d9884ea9505865d28afcb22e1f59e45509c544993ebf115a23d3f734827fcf935fb3cf8a685e21c092df595e267fbc86ef9e0074ace50b6b2c587144e2ddd82649ad0f4f973450c24cca1251c47af07374b1c1b3aa5e0741ad7cd811e7f509ce62aec612aabfe4a138725dc4c3004e8c1d997c82aa9dedc3951c1896c68e955dfd3708725c8124716290aeae3126b6cb642109f3a15e2e52ca9e900913f2c249a3835c78bb5a0fe2155e4be15bf2ff63fbe74711641365938b7e08e4f44ee6e436397f624b806011e25b9b9d12a5fc1b46a043c80fc3e7182276dde5798da8396d57fac5975037e08d6c3de0db2cd7273c9cd14d3deac9795cd42dcd3aa04b18d887c0b4408f209111992ddb7fbe8ab264275a7e22fed4e835ca9f510564ef2112856a3fc6b743603968daa0bbf52bf7fe33aeb0bf0c8809e406eb685891670a42299202cb1aeba168afcc4326704798e753916d6acb5411c7aa13cc60a8b3a76b1664d5761a005" + "proof": "0xcabf0c67195e490a464fa63abd819268297c4b36d8e9ddc171a42196efa662f23e9f450702a3b2350970652f9e9eee22690829311438ef5a3cd64a37bbcec915343402810c223e66cb8f150d6941483b898aeeeb5f8417de9fbf73cefb47269ea5530ddd0f532eba833d11118358ac34262702267fd55a120a71156f422a6c018eabf5cd0feb9b3c1d33360ee012dde8cc7623b6c1a63abf5aad75d68236498a4cef6b6519d7b51bb557dd969fdbbdd0005f16089fc1725839596d7e641b30342c77656c167e01a4f514f6b9e6cae20b34166135f3bf55e5605a1682cdeb91be6415227300d131fb7813ab6bb313118dcce21398876b07d5429e8678e6da67f1e11803710f317fd9deff8a3ad76351344267d6b5714289eda51ecaaa2c6d5e4aece9056511bdab51253320dac8d55598358d0592d221ba08c3795bf7396b67a2c7db12f207305642eda349086c556a080313e443e606b9d12a78b8dc66d8127e88176361055437bd749e6ff5ab4c3afbb94a529dff043783bcc553ff5874410b6ef024b10fbf0d398d5d2449421f7d11cf8d1dbebe2eb2ae8009414c057aee941b6e276205407598799a96de610912b2091e89c0a97ca7a38dd1cc7c16fb215f145aea671f5a3b4b00ec014b24151e0472bfa03b47406567e7a351ac5717838f75cc55fe2273dc90c059c6560663c90d18bf07bc40c415e25726d8378c24bcde7d1fe5ec00f4f20f21a81f703281bba9c5b08e2ab1efc8dce0e565b55139d17e86baefaa040aae3e0514233fe62aa23a208a4cd3f682fdc157e9fd33595b4240d3998e561381a4416aa720982aaabc93433705c41ee3a3362e8db0a4df070ada93596fae0f20629d4a75b0c456f5068442cb718341945d502391ce9600012243439f3cd82eb9675811b1d6e3d0e6dec77916978885fc3d34e4eb242e692a84ac3d1dae4a292962020e3b7507bcbd69db34f781281373e03e4e0c43f30f0deed26df938421cb18747440604fb42da9d493fabe71713ceb4f46a8567d673a18f49eeacd21d18cc2863acc37a56bc8de7cb5d9d36841fb66d71ae721ec96682abcb1017d90107475ae19ec7b6384579cce237716f1d50fca15350a4dbcffea197d7a7f2228325f5ac90460098641f24d38debcf101d887acce6cc56a8d92be84ea430d98e4918008930216100e282dcf711528c8b56603b659f85031f080a2b62ec31130c89" } \ No newline at end of file diff --git a/aptos/solidity/contracts/src/plonk_fixtures/inclusion_fixture.json b/aptos/solidity/contracts/src/plonk_fixtures/inclusion_fixture.json index c55a1be1..a5d0ec7d 100644 --- a/aptos/solidity/contracts/src/plonk_fixtures/inclusion_fixture.json +++ b/aptos/solidity/contracts/src/plonk_fixtures/inclusion_fixture.json @@ -1,5 +1,5 @@ { - "vkey": "0x00952ef4ec4d22d6bcc5ecae9bfdf5b445d9597a9aa9c7675c53d6bfb1b1b840", - "publicValues": "0x205829098a4c0273312e8bc4fdbde28fc12abdc540c88bdd9abeef0a85d706ec7cd40be3349afc5dd819c11c425ddbcd7ec89cda075a1b9c247c880d79c8ff0b020202020202020202020202020202020202020202020202020202020202020244fa02feb400a383b1824df6198c7e30cbf60a21838efa46fedf35f760fdf25839d1a3ec2b5d09aee31c1c0c380eef28744673ea3ab7e9d065baccc8d1874ca1", - "proof": "0x7f8918df140aa276bca6d9f6ddae746aa0e187fc1bf7ff16ba46e50109f3e7c6883b9370129296d1059f0128ac75bf5846d60dac07372d178492b9a31f937f14dd6cb20c1bdd9865711319780b87d38e6a5e584b173435cf7b69803cf62022716f81fead0e4291f5866c579e422ca4e46858c179423741d17c507297f87c9c404da59bc51c2ed84f511889eb5251564b2e547767280ed2d3635d915ac160ac4c0e5aad562115776b959c20cfedd2a241d602b6289ce73cc318d8bffb12c234cd31f4f27b16b5aeee1be26c14b69eb48a4a84ab376a54e621df933d38c325a6ae5fe15a09188a88c72ecbc43636b45da876722a4aefac0ba1808d62aa4e1c3512d805ecc31dd79e225e24246c2c95f991cc1f43b052fa6e32453b04f3741a87fa58f0523c0affe06290b59bea1c2fce2c9d97f5dba18610f94eeca1401f7479d61fcd0c8f1da3ad19a4e6a1e3ce246a65c3c930bf025735920076a00476c131ec1d63fd6e09f3f31fb7b313697bb3693da0257c378970f5a13b51adc0fde84e2fef5919ad0045e0ea853da12c82d610c2ca86b6b1588b9c1ad3f9887aceddff1ab671201319a5f61f1272daeb041187a1d0f31a7014c2e88a8a192a553bbe2de87bcd45220ebfe22a160839a328d277db2907570bbe92aa3e5fbb6a433309624b6f4f84ae04a8d6e4602c6722e7512f57d5b2bc9e8a9822bba1778eddc4f76440d4280cc61fdb36d0a492f1fe72ca48af33830f36c826ef11aad759bb9fc92c9bca595e8c0c35522494de82d38c126d7551251629ceb9765de4bdd06dfacf19fdb32ff6b01268e914673d31b5a6a3f2baa7610e89e580b65bce288b9d5eb25712f1e612980c5a9f5aab749da683a40a7264bfda035a72726d57fbf48498331367df8bd19902420104e97462fc05afdeff680a402d6b1c9b78d5dfa145b3977e63c94462b10863d0d1c665123be2c61541fa2388352a0985e0139c453bee06466cd7c081112b2024c08cfcdbfb2e45aa2525f5452c14923e09c2e975809b9bb4fafc2821a204a5b942b8ed619022804bd7ab22d4307edcf3d7c91e5178b5616e0db5ab385c03deba6eed623f4759d2043285420445423c56fa0d88314d6e8560679f6ec9ab147200c980c9df1a59c9a78fc0e3a2e2998e01485d0dd57f464af3ba3d8ff63909dfaf31e2913ee0d8c8b6bac10860129189c05d14348131ed2de9711893e3d2" + "vkey": "0x0011762f50a83396c88be6119d62ef89e5f87bd504dd66537697a05f3c3c1fa7", + "publicValues": "0x205829098a4c0273312e8bc4fdbde28fc12abdc540c88bdd9abeef0a85d706ecaecc914e255b451da24793d35c81899d8d9f2d82ca8124259daa0d66d9cfd93b020202020202020202020202020202020202020202020202020202020202020244fa02feb400a383b1824df6198c7e30cbf60a21838efa46fedf35f760fdf25839d1a3ec2b5d09aee31c1c0c380eef28744673ea3ab7e9d065baccc8d1874ca1", + "proof": "0xcabf0c67134379d95dce716f82ad09af1e5a9c5acb24d0a717b0a211aaea95e3497b31b31d07a8b7823841635eb88514a35bbb0fec9d56fcae8f23801ad37d0b46977af803281a5b3c293088cb3bdc66ff16b37ff6a6834b815a5432cd29f8fe29359b761b7650186e504cb7ad61c9c6560c86c50636548705843d637746f747e0985eae0e8388d08140154d2b51f0c813cfb08954dc8012e88b2d21dd09351e89216fcc2cb5072bb5f38433c4d06cc8a705904c4708aaae9355cdeb2bff88a45e2a67aa1a21ffd14e5b6f821ba2fda3d9637883fd1a0218d6ea96c3483458f72253bd500232e807fcd88c8c19050ef98a56d0598bbc2837362e02b6b1a65f9eea5150762af236d25c96464bb9b95ed9e192e8386b003777166a7aed9d5005618101021718e8c99ef7f66a5ef75000218960556e8861058e9a10e69bf40449d86a39327f3049657429ed5dba8ce50406fb7483ef916b751171ddf9e03ad8cb5e156cba912a1c944582f9d3778d6238a0b0b95d0b3117b2802019b475c4dfaf6c5d116dc02adb5a2dcc80d47a7a2c377f08136c659a901e8d2a783220165938f9eefda7c1251f0119f81e2f2d29af6f77b2a3c5dde184a93ec7539437b4567e2f80d51f312361423a5690b3c2c2b3646ba01c1fe4c2d2fb6d25e3ac915745b042313ecddc25efab7b3aadbce80a9d279db2acaa47f90c057b3bb2c00ab2341ee48820763004450430c01a2b949cf0d516ea82082740be3df33397f223a6ab2be7c02e993c0a4d0819cacf08499dc075c318478d9f1a2ad6badaab82fd77439f005c0b61d61bfef0608ea1574d383ee2cb65c272fc5dbeb8f638e5f5ca2eeec5ccd314d324130972060696e5b0284939bb84d0790481d2bd0f1e99651b5e88a3ca6bfd490d2f3c370b9c283e7b4a4e3af52b2d643240fcc2e1bac281c7ccf6c3392fb2d1ca223779feaa0427b031705efd3726eb135ca7215ff46ebcab57a2d55062b5201b04376977faf2e65d1247eaaa6b8084daa059ec28d771b8c93468bc853ef056f51f0fe842b7ece9710646a814d04a7a588de2fef2d323ac441f855e7fa71f1e052ba9a8ea5285ba5717f40686ab786d5217aa1aa6d13ddd6347986b4501cf8e1f11da039c7d12fc3593c4848912b254321b6f43cf317e75315f0254127234628928065dab2b6f825cdd0e3f935c4d9979399e52844ea6b17f881c0850635a4cfa" } \ No newline at end of file diff --git a/ethereum/Cargo.lock b/ethereum/Cargo.lock index 0af3b6d8..32aca1e3 100644 --- a/ethereum/Cargo.lock +++ b/ethereum/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -696,7 +696,7 @@ dependencies = [ [[package]] name = "bls12_381" version = "0.8.0" -source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a96eccde19bf861b0d1707b61b2ab15e294b154" +source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a1c7d1b4827a4d42eb4a68f8cb78c2da10f4787" dependencies = [ "cfg-if", "digest 0.9.0", @@ -704,7 +704,8 @@ dependencies = [ "group 0.13.0", "pairing 0.23.0", "rand_core", - "sphinx-precompiles", + "sphinx-lib", + "sphinx-zkvm", "subtle", ] @@ -1298,7 +1299,6 @@ dependencies = [ "rand_core", "sec1", "subtle", - "tap", "zeroize", ] @@ -2399,7 +2399,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.52.0", ] [[package]] @@ -2815,6 +2815,15 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "ntapi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +dependencies = [ + "winapi", +] + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -3696,6 +3705,15 @@ dependencies = [ "syn 2.0.79", ] +[[package]] +name = "psm" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205" +dependencies = [ + "cc", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -4618,7 +4636,7 @@ dependencies = [ [[package]] name = "sphinx-core" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "arrayref", @@ -4680,7 +4698,7 @@ dependencies = [ [[package]] name = "sphinx-derive" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "proc-macro2", "quote", @@ -4690,30 +4708,29 @@ dependencies = [ [[package]] name = "sphinx-helper" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "cargo_metadata", "chrono", ] [[package]] -name = "sphinx-precompiles" +name = "sphinx-lib" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", "cfg-if", "getrandom", "hybrid-array", - "k256", "serde", ] [[package]] name = "sphinx-primitives" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "itertools 0.12.1", "lazy_static", @@ -4726,7 +4743,7 @@ dependencies = [ [[package]] name = "sphinx-prover" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "backtrace", @@ -4768,7 +4785,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-circuit" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "bincode", "itertools 0.12.1", @@ -4791,7 +4808,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-compiler" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "backtrace", "hashbrown 0.14.5", @@ -4817,7 +4834,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-core" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "arrayref", "backtrace", @@ -4851,7 +4868,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-derive" version = "0.1.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "proc-macro2", "quote", @@ -4861,7 +4878,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-gnark-ffi" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", @@ -4885,7 +4902,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-program" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "itertools 0.12.1", "p3-air", @@ -4907,13 +4924,14 @@ dependencies = [ "sphinx-primitives", "sphinx-recursion-compiler", "sphinx-recursion-core", + "stacker", "tracing", ] [[package]] name = "sphinx-sdk" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "alloy-sol-types", "anyhow", @@ -4944,6 +4962,7 @@ dependencies = [ "sphinx-prover", "strum", "strum_macros", + "sysinfo", "tempfile", "thiserror", "tokio", @@ -4952,6 +4971,23 @@ dependencies = [ "vergen", ] +[[package]] +name = "sphinx-zkvm" +version = "1.0.0" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" +dependencies = [ + "bincode", + "cfg-if", + "getrandom", + "lazy_static", + "libm", + "once_cell", + "rand", + "serde", + "sha2 0.10.8", + "sphinx-lib", +] + [[package]] name = "spin" version = "0.5.2" @@ -4992,6 +5028,19 @@ dependencies = [ "typenum", ] +[[package]] +name = "stacker" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b" +dependencies = [ + "cc", + "cfg-if", + "libc", + "psm", + "windows-sys 0.59.0", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -5096,6 +5145,20 @@ dependencies = [ "futures-core", ] +[[package]] +name = "sysinfo" +version = "0.31.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "355dbe4f8799b304b05e1b0f05fc59b2a18d36645cf169607da45bde2f69a1be" +dependencies = [ + "core-foundation-sys", + "libc", + "memchr", + "ntapi", + "rayon", + "windows", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -5834,6 +5897,16 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.52.0" @@ -5843,17 +5916,60 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + [[package]] name = "windows-registry" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-strings", "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.2.0" @@ -5869,7 +5985,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-targets 0.52.6", ] diff --git a/ethereum/ethereum-programs/artifacts/committee-change-program b/ethereum/ethereum-programs/artifacts/committee-change-program index e74b49c2..3cf88a29 100755 Binary files a/ethereum/ethereum-programs/artifacts/committee-change-program and b/ethereum/ethereum-programs/artifacts/committee-change-program differ diff --git a/ethereum/ethereum-programs/artifacts/inclusion-program b/ethereum/ethereum-programs/artifacts/inclusion-program index aa3d7a7c..df6225ca 100755 Binary files a/ethereum/ethereum-programs/artifacts/inclusion-program and b/ethereum/ethereum-programs/artifacts/inclusion-program differ diff --git a/ethereum/move/sources/fixtures/epoch_change_fixture.json b/ethereum/move/sources/fixtures/epoch_change_fixture.json index 2f9d1f83..308dad55 100644 --- a/ethereum/move/sources/fixtures/epoch_change_fixture.json +++ b/ethereum/move/sources/fixtures/epoch_change_fixture.json @@ -6,7 +6,7 @@ "args": [ { "type": "hex", - "value": "0x00c55464e91190f7548e4355c11cc43c1187f73cb1547a37aba0e6a1760a11d0" + "value": "0x00de53d6fe5e4e43f950fbc1f6b2c0f9c172097ad7263ab913241267b29d03f2" }, { "type": "hex", @@ -14,7 +14,7 @@ }, { "type": "hex", - "value": "0x7f8918df0729fa2882b135872b718c2daa358eab52fe2dbb44d26c393a661bdbb84a49332e9e20b49115ecd1db1d507751e5cc6378a716822d45b687d816d1e096ef2cbc11e6240f1cbce8bce1982d523fb7c845447ad9558ff28fa0733087e4b11ee7ad0c1439abe402d2ec955c665085774faf603b3f1e13607cd7775a77587f54fcc9203fc66369ab37c9b5469757e7bb6bf49a812060b0147a65a4368d7ce35eee1f18b092ab78d6d9b26d93b8d34d58714cc56130299fe8bb3f519fbbc3f1a14772217d1499bbf57dba5cc67c84645cc37b12ff3bb1b7a86bfc959865b584cbbbff28666be952d731c66b48190f6758428041e8f1d2498ad4430c37ffa3f7e1de0c24577c4571e4fe9551c7c0d89ff737b1cba7009c38a4d73aa20dd556c560d7280ae8fca465f5bafc4533719732319dd3eb4d7b97cd8a04b47d5a0aee6980d17527078aab6f1494549bcd1e1d123dec1681858de078641c5fea8381be053f89fd2f2148f2c1c4fa0d2e82ec063dbd802bcc46d7bb098277b49ccccb6acb9a9e9417f59fde7efd65abaaf3b8ae0485e46dfafeea4600028fdb84cf7e4fa3f414d41e9cdfc6b20c95ff05f65ce51384ca798b41f1c9a1688764bc6f1a4a251c9bcc27e14d59c63d476055d2a268d97499fccabd5228725f5833d2ad06e5a0b505721c9ae118b1467a7038923d177feb25357b36d71f05930d19b6c806c47f115546298a0d61ca24f9e5e1b5d650356461fffeebfd79eacccb2ebc6b252d083379e612d644805eded9e73d487ddbd652ab0ca746c1f4cdcc0d40fdfa56b10097070713953617dd66cf18fad1b0363f737da7fce18e2bfa9fbf22b37b9ff738fe711b1af40fa5480edd7f41391e81ab1268410e12faa6c87f80f39cfc7af0eaba3915103eeac3d9c73d06d2f1a139bfe9f4893872e22f46f3993a429384812578e15926d225cbb7c48caa27f7c95255fe0d85eb300804f292f66c370d1114bbc195e01cfa4700bca8fb12a4eaa1bebf2ac21988f07b8aa90b9ab959eae1d0ce975c472b4af8b6b7af325f08dcfef6eb837302ed804250126a2e3e6e9946c677aa88f10b55ac2120e1ae6ef89370cc124b4087ee52efc30894adad312ae6a2a87762af2b755f049cbc98824739c1c48b22f3bb46d65df651351b9a0482319c3c4600d2257f111a5aed77332be173bc56120114aeaab0a5b5997b0430b2ee8498f9dfeb" + "value": "0xcabf0c6723c9292510933fcf2bf8068ac7a7df0022f5f4de8d5d2547a0ffa1e09c965506035bdd8906864ea3ee70f6cd44d7726c1975c17ac26a744a26100f54aecf87691fbd062b17c8786fd01afcab4809ca01ec97bedabfb2c0c3dffa6e8b6926bfbf00ddc730f359bbfede7c778a19994db0dcca79ffefb97ca8ae7ccd391661818802eeb6a8a839ac6339f52a5d503c945bd1923a63162cb5e5d193a3bd3d93885317e5383a852de3602b59cc1626a210c2c17831227bf04d036618c4bd998549fc257d696d0c245f9ddfeae21bfef158f5ce3307ca53915cd2d3c5ca194207610222b636714862f4c75e8ee084a2b435e86f0924736b09db0332bc67aa7386d5b812f789e02e1383510307505163a74529a8e72242585f4a2a5e512a17248920f12fe57ebf790f8a0c076abe5d978534510b1a5c3006d484fde8f916aeb631f2b603cab349b7b75da20b80e732d758636fbb7bd5371a22bc23ce4509ef46a5839d2d981fbbccb49552c991e35751d9f5fe38eddba89c1d24d1147c02ea50ac3e4f193252b93c2dfa0d5008ab9016ec37fdde3f6e12ce731c9a46973e96be177bb824b78f5c7dc98df27c67b58e4fd7e328516be7a59680cc8d1cbf0d6f04837b841269739001457c3e39f54a963a7b389bfa9916002ef7343fb2666b0559a3f28d14739992620afec9540e3bea43dbcc23c52ab340891ef46f54fb279326ee14de1e38f5bfb70078175fb00b265f6c65448a117446a59ec0c8e98d2e9ba87e63651903a3c4fddb86c20966fd401cc2fded97f0b952beb52eb139cdae175a216dcf0e127c7d4a0db0d81f53e7ada46bc252cb683ba15497e2b8b85ae4924d547db40f66b78c215b2e821135a29bd7d8e17568a895af9629941d9af2bd13fbb15cff111517037995be761c82b822884c74388640bc9bda86619c1cafa15f750074bb0d03a4defc4d4ff6879d5644a35823304f118e4dcf254b1bdf4160b58abf20a20c5f1bc02ac2533d24925a522a89e81dc88299b4ed6a49b5cede98f460483acc27b7d95459c480261c9d4a770b5bbed6258568688b2e939d6efc0ef578150abf1d1dac6f4293d97b7d9e5f06aee3059804a21573415eb2d2af7e32716d410b1711a8174dc28da7738268e83470e506ed7078ad33cf41617176e3d711834ce19b07d0f2865631b0870bd1a2107fc9a3f491ad7792c93d329e4992a95deb75722d" } ] } \ No newline at end of file diff --git a/ethereum/move/sources/fixtures/inclusion_fixture.json b/ethereum/move/sources/fixtures/inclusion_fixture.json index 25f5f74e..1e76e9a8 100644 --- a/ethereum/move/sources/fixtures/inclusion_fixture.json +++ b/ethereum/move/sources/fixtures/inclusion_fixture.json @@ -6,7 +6,7 @@ "args": [ { "type": "hex", - "value": "0x00d6b0922b33f4a88cac7a71b76e025fa0dfb9b3a2e74e009bd511db5688bd3d" + "value": "0x00deddfe90263f93c03e88dc9c33603f3ea0493b2af5da7e37d515794958bbb7" }, { "type": "hex", @@ -14,7 +14,7 @@ }, { "type": "hex", - "value": "0x7f8918df156dc426b52f597758dae9298377f7bac0cdb54d3fa239e99e9f7f16a7cd4dfd0d243f68c83bcccf7074ceec47f92384b0b92115161de9f4ba0a5bc5274cbfe801706d958da6e9ddafe675ddaaf3b3f9718d434a07b07100f9b77afbbbf54ca52c310b81c921f2e9443fd5e24ce34a26df88ca78d0118eb7d9e7fcdcddce00e50459fe0a6d7b97b9dff8704a5b1c79baa7f535ab5f241e381e2f6ef4fae476df0d11332733245eab40908acaf4ae15e3bd1f391505361baed632ff6c47a4c45a121a325fd5db1f476370ba5b4f887129df023c05638c8e614e82214a73f5699c1aa70a9ecb4a5635deb5c8aa7a4decffe603579e2edd506829462a37c1fa3f44067617863403199f42630861d63b88fdfc4ff235f1768062eb04e2dcb597f0bd0f3e68ddcd9f4dcbcd8ff2d9d5daef3c314130c2032968e43178a71c821231a91c85537e7db2ac61564a268214d6747f727225ecb5694d189ed2d1713243e67c07cd18b50cd9cf8f97b2861a2da1a5618e15df603e08c8388719b4997a38ee1a00b1fb3cd057c264fbe6b02b6eb80dc759924194608fd5b022caa8d2c631e15d12f27fddc46dfd248e22e1a2736fcd923a1d848ba5f016ce8da87c479ce5c10b10433c02949dd946e59adc7848b1fe6b9b037da89a11f4b6b1b055a7ecf24e382e48326752bdbd57698316cd75287e84ba2aa509661fc13eb09bd2e1ba10e7662a5b6fe86e888988d53f88a623e0040e93d2aa32ddbc33da39e4013e61cdcfa51c324afd35b741795e0607515c42319c3e8ea244710a391c5cbe67f87ecf42e4020884860a2799bc28a6e095889da8d49e1fa526c1ccdafff611b4eeae8590ef1740e0e11cc1147b339d1ee5768bae73c63bc4cddc694900b4d2f81e6a0d41eb0a5379b312e34648cd05c996b003d8ab97b1de36cead72fd449cc96c1af540390ca7975022fa6442da43b1825e42d6112522bb00e24d88959fa303e3c8e132d2165fbba64d50afaf8add61b9b3cfa7c381291671d35b2c12dc665ccbe227393a1d7bfe874c4649c1f9d224f12495aae3ea78eb61097791a10607c42b783d03272317510fd8d8ccbce9f8d2a8745b625945c64fbf7df6f302391510cdfa8be7f912d69050b082142681fb97fb44b466ce62724afad025467bc4cc4fee64183f562f962684ea032125562b52335bf3d178f0bc11a482ce7f07a07ebccf78912f10" + "value": "0xcabf0c6721224ac1ac5a130cc326c41365b45cd128c3d654320d66300d570401398387ee06a1883d411348de9cb889b2439f8d5bb8fe7252dda0ec1342b208c74d6783e00a982e057234595ba3e66618f58e312c63c9a2b53c197319c72c8480528c1f3b22b7671457e9b013035ebed779192d6d007a7333a5762290dda0badb66dbae3b2e49a0c0f9a5f504ba31bbe9f1fba14dc69c943154da49e2170660311ea156c41f2a027a8fa0f210bafda129a58b306bf53e31286c2ecec107019331b41f14e52bdce00d06fe127cef320ccd063cbdd4a1d3ad036899f02667c5ba9d10b6bd752a9f53e421b93bb9f0f80e10b7fe362f761661fe3c7e2b8b625d6827556825e21f608575f42c5094b3a2ed03e913fd91ed512bcf39a5d9c3dddba17051ac1ce82ddcf610c2937820e7f104f07c7fb7e05ea516aff6d5d24e46fd396c521d9e1110336f7730e7e37aeadc7c93bd7a3ca3b6f190ba0d8588a49c38dc2b62ff4ec31e4edaa29d58bbc50d543d5e1d58fc7308e2f6b7ec203e688b5e59910ceaa51d0248380467789392d41f5fdcfb00947840ff00f79eb7ebe35fedb8adc0dad7dd20bb8f0747f7701e6f789ae3e5053b97f757a71ca7578d8cc715bdf4160751602ae64905f56a120354cc3eff70b49f703d0e764926a27a39cb6981c3890e9d5b0cb95deebda31b28072a611222e141f23a963aabd12ab31448f1cc9fe2861ce107a4dce46daf29257099902577cd1dc782051f6e11ff04e7debf636235be4e242bb29c35ee6907aa1b68b16c9fb1e5b2af65463427ba47b30db86f39e45fbc480b56aa0dd1e42dfc6309e962e7dd45cea5fe90a10ca29e64e588bec89e500236255fb7365df1d946791c0891b6f46dd996ca5d671ba502ebb1bb01ac22537f2c099859056da147894372ed9089044439554609b483a998870ce6f9ae2a4a8e0f2d06cf1765d93db97996692eedf3e328700ccf6f906bd1cf81d759d9272794a21e5a190210a1af8375c39061cbf21331457607c363f15fad135eb809d8cd0d0d2f78a000ee3d0c26bcab428e0cfee27cd34795b0f1208b2168d22fa0fdf66f6021c66812b90051c63e956852c9d6b4ccfd1f6fd5167d9850fa5ba6b97e9351ab226e273b644776e1721fe603921dff31a5763231a49039c3b87c50512dad2598237d23c41b6eaac6bac791f9e4498bfb491180dca9e1fd06f866d89505a59807" } ] } \ No newline at end of file diff --git a/ethereum/move/sources/wrapper.move b/ethereum/move/sources/wrapper.move index 6249630a..447b6460 100644 --- a/ethereum/move/sources/wrapper.move +++ b/ethereum/move/sources/wrapper.move @@ -299,13 +299,13 @@ module plonk_verifier_addr::wrapper { const SignerSyncCommitteeHashH29: u256 = 0x5d32119aae2ee9f88867d5787af5c4df68884a4bf8fff525ff8c408e8f988050; const UpdatedSyncCommitteeHashH30: u256 = 0x85382a0c8b1b38485a3d816f31ab5b23a0eae94d86c90086cd4e7b6e8c5c4682; const NextSyncCommitteeHashH31: u256 = 0x5ebd1cf9ea54ce88af740aad4d7e95e742157209f36867ff5d7d490afa91c6bf; - const EpochChangeVk: vector = x"00c55464e91190f7548e4355c11cc43c1187f73cb1547a37aba0e6a1760a11d0"; + const EpochChangeVk: vector = x"00de53d6fe5e4e43f950fbc1f6b2c0f9c172097ad7263ab913241267b29d03f2"; const EpochChangePublicValues: vector = x"e0e58f00000000005d32119aae2ee9f88867d5787af5c4df68884a4bf8fff525ff8c408e8f98805085382a0c8b1b38485a3d816f31ab5b23a0eae94d86c90086cd4e7b6e8c5c46825ebd1cf9ea54ce88af740aad4d7e95e742157209f36867ff5d7d490afa91c6bf"; - const EpochChangeProof: vector = x"7f8918df0301eab6bcabf49c2710a694a0cd215be9254bd774d54b6ec8fa8328525e5f5500f376ef87a1f736abcad7df13173e2f16f40a4fc382b4d847b5139cb85314792ce8edd0b1f61b1fff0f462261e452c03e2ae8de4c32a5b236c74847fcedef540c2cb2dc48b8598c6ec7f4a9a859cb2eb04a192771b57cfa4a1c470480d1faf012bc6bc7f4fd470fef2c41d7d831be5c3929bd0a2cc990d0498d0202624d2f0310f67be711829525766ba5bf26501ea299c6237c199066b95fd7239c538561c51ccb2ec4b2ab47d23333a891f917f3b1eae3b71dd87b9e9476498a1a5d41aab32d4b07a99c9ce3a42eb155ec0d419c3785f3393b4063e7888c59223ebeed84940f7aaa1d96b7415ff23b93af83934b460ebf651f9670560c2f9a7880daefce591526584e6950fcf7308923cb8217ab6442c46899bf6c87183283718be871213411ab2a8e4ac7b19552fb0ebe62970f54a426abcddd7d86e4d2768ce9eda3c942243891b5faa8cf8f38a075bac4f757b83549009bdc4434ac293ea7b3f4361aa90ad2d9830cb5e782efb157ee68ee0cac6cca3b938d2304da7b5aef0baff459562c8b23d4a79499b0a26a3304042212e14834774e891a1587be696838dadcddc6211daee2da80ca803b6911c9a8fb8b127400df3ee50b04a5c3a232784ae04aae040258000e77f9b6658b1c23724a881635c4b4b4d149b01820940d1eff9690ea11498998f965dede6ad1e169b0f1bcdf2aa2c05f98df5bf5270454a37d8621db1c61ae47bfef2e39732498d36577072434d8a8fecd20b997d0625788450ad3ae0e3737ceaa1ccd33f234b7eb184692f49be0779481fffef3dfc89293c85cfd630289c5b6fa639dc45b1eb45908caa996553ae40af0d17f6040306edc6cd3dc7312e300eb5498eea2ee12d7fb4c3571d3cce970335e8960479b5b542273a664f62c069a37d137340deea79f6ac988f5f27b34f7e2fc2bd1b632107aa4a14d2f5b0339b2fbb492fb569cc47b6244df5a4c50df506e3efce434f8fdaf4bd8d3207928b1b0bc5ab666e34eac14dd8cf061401487550c0f2afd285595c4e02c518db616a6a8f10e9210df423c9e0cbdeaf0155d1d001326592dd26e920d2e0f1479ca0c9b74114622d19aee57ed2e56a2c57a099105843c8fce2ae43d19f80c22494911089ea61cab1a4141b265013cf0a0688f311f2c235e5213dac7fb969a381ef4"; + const EpochChangeProof: vector = x"cabf0c6723c9292510933fcf2bf8068ac7a7df0022f5f4de8d5d2547a0ffa1e09c965506035bdd8906864ea3ee70f6cd44d7726c1975c17ac26a744a26100f54aecf87691fbd062b17c8786fd01afcab4809ca01ec97bedabfb2c0c3dffa6e8b6926bfbf00ddc730f359bbfede7c778a19994db0dcca79ffefb97ca8ae7ccd391661818802eeb6a8a839ac6339f52a5d503c945bd1923a63162cb5e5d193a3bd3d93885317e5383a852de3602b59cc1626a210c2c17831227bf04d036618c4bd998549fc257d696d0c245f9ddfeae21bfef158f5ce3307ca53915cd2d3c5ca194207610222b636714862f4c75e8ee084a2b435e86f0924736b09db0332bc67aa7386d5b812f789e02e1383510307505163a74529a8e72242585f4a2a5e512a17248920f12fe57ebf790f8a0c076abe5d978534510b1a5c3006d484fde8f916aeb631f2b603cab349b7b75da20b80e732d758636fbb7bd5371a22bc23ce4509ef46a5839d2d981fbbccb49552c991e35751d9f5fe38eddba89c1d24d1147c02ea50ac3e4f193252b93c2dfa0d5008ab9016ec37fdde3f6e12ce731c9a46973e96be177bb824b78f5c7dc98df27c67b58e4fd7e328516be7a59680cc8d1cbf0d6f04837b841269739001457c3e39f54a963a7b389bfa9916002ef7343fb2666b0559a3f28d14739992620afec9540e3bea43dbcc23c52ab340891ef46f54fb279326ee14de1e38f5bfb70078175fb00b265f6c65448a117446a59ec0c8e98d2e9ba87e63651903a3c4fddb86c20966fd401cc2fded97f0b952beb52eb139cdae175a216dcf0e127c7d4a0db0d81f53e7ada46bc252cb683ba15497e2b8b85ae4924d547db40f66b78c215b2e821135a29bd7d8e17568a895af9629941d9af2bd13fbb15cff111517037995be761c82b822884c74388640bc9bda86619c1cafa15f750074bb0d03a4defc4d4ff6879d5644a35823304f118e4dcf254b1bdf4160b58abf20a20c5f1bc02ac2533d24925a522a89e81dc88299b4ed6a49b5cede98f460483acc27b7d95459c480261c9d4a770b5bbed6258568688b2e939d6efc0ef578150abf1d1dac6f4293d97b7d9e5f06aee3059804a21573415eb2d2af7e32716d410b1711a8174dc28da7738268e83470e506ed7078ad33cf41617176e3d711834ce19b07d0f2865631b0870bd1a2107fc9a3f491ad7792c93d329e4992a95deb75722d"; // From inclusion fixture const ValidSignerSyncCommitteeHashInclusion: u256 = 0x0969ed235cf75d25800ea6845c2584af013c1f9617ad2de87202d7e9b93739c9; - const InclusionVk: vector = x"00d6b0922b33f4a88cac7a71b76e025fa0dfb9b3a2e74e009bd511db5688bd3d"; + const InclusionVk: vector = x"00deddfe90263f93c03e88dc9c33603f3ea0493b2af5da7e37d515794958bbb7"; const InclusionPublicValues: vector = x"e0fc9100000000000969ed235cf75d25800ea6845c2584af013c1f9617ad2de87202d7e9b93739c95c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f22002fe30a172d0a479f6add89c63b29dce29b6071b3c7e486b0fb4bc431f88501000000000000002000000000000000290decd9548b62a8ef0d3e6ac11e2d7b95a49e22ecf57fc6044b6f007ca2b2ba010000000000000080"; - const InclusionProof: vector = x"7f8918df1f7ecf988279a5903ac9186fb441f8abf319dbc712ba375bd1350f6dd736c0ad26f4cdacce1b7ce64c04dc674cf60bb9eda8326fb54e944a6b98dac5a12d521c04156edcd07860aa0c7b240459141c19a368051977db8d513308f66127854b15167aa4584770ee7eb2f766d96517f3b141ecfe09bb5510bf707561bc47b8ecf41ac1d57ae6e6229d283c3bdf95e25f6b372f378b2ab1f948692d0411043993420f1a18502cb0df01d70f294a82fb6a884520c2e2ebe1f51161f0d5b46a6ab6a22d68d5a26eae9c2c3a3927420ebe5a5b9529860a3cd77c58cabb984b829203c806c0ae08e03d61ead010b2158da38b2313b9f52d257b29f3fd3cce9181439140071f3d100c2eacb14bf3d5929e0fa3622f2c0ece50e3c9095fd0d666e0ebab782bece4c9dd1146e717f38c16f323b656720205c79bd38ae8d6e0f0d00c042efa07cce994d9a484ee91c09f215c06fa149857fff143dcaeda634f770552e5a4c81975107909f7fe9a094f1d6d2e6dd1e9120874c82206d72b851c78d913121ef4006aeaad4699c3821523f6abfb7a8ff583307dec352b55b3d8d6181925002ff928c495ddf12f534ba4cb7e8f1240a7de18ec9b9ceff3131857176026bcb49b06109a66a659d4303674a21a364110de8561ebef7905982c4c791c0b1dac8234dc248eaacdc575b851a09f27b6f8753378a2545c90c113349476b0fb9b3677196928866f5d9ca003194f6ef3560e5a65c56050f899252b0b56cc43b074b35b07f80d8fcaaaecd2e7b3488671c9ce056335ac03cf1584308115f23594c9aee05c3b03553c766c492ed69b3bd874b1f2ece4fe79926cdbe69c1d07536c5aea7a081603cbfae18394e5ddc62be42f1d39c1abaade0bc16540b2ef07fb7bb5a36a417a12810f6188da9dab867f6f3795d252dc7ff240c889775f2b807aa121961b038a28bf1cbf5e98cdba898bc588e60d8639f5ab36e6bdab91287d1af0901cf611811782bc1e8d5fe824d1fc1075957de324ab9c84b11a9835630d63e9b10f0ce46a224be3538237a5d9725bef0ebc17ad2df709e150a1a40ce7de3bc980282d74071664e1222b21cba25edb7f70f3c5be309f702dbaa6fc2595c5141fae3dbd3d2f0181e63e6be01cf1912ae550a42229f16cc7b61784f45f47bddc991c13b4153d0562e4fc958aa71586d68cbcf6cfc2889b3fcd25854ff02b5446111d2f0624e4"; + const InclusionProof: vector = x"cabf0c6721224ac1ac5a130cc326c41365b45cd128c3d654320d66300d570401398387ee06a1883d411348de9cb889b2439f8d5bb8fe7252dda0ec1342b208c74d6783e00a982e057234595ba3e66618f58e312c63c9a2b53c197319c72c8480528c1f3b22b7671457e9b013035ebed779192d6d007a7333a5762290dda0badb66dbae3b2e49a0c0f9a5f504ba31bbe9f1fba14dc69c943154da49e2170660311ea156c41f2a027a8fa0f210bafda129a58b306bf53e31286c2ecec107019331b41f14e52bdce00d06fe127cef320ccd063cbdd4a1d3ad036899f02667c5ba9d10b6bd752a9f53e421b93bb9f0f80e10b7fe362f761661fe3c7e2b8b625d6827556825e21f608575f42c5094b3a2ed03e913fd91ed512bcf39a5d9c3dddba17051ac1ce82ddcf610c2937820e7f104f07c7fb7e05ea516aff6d5d24e46fd396c521d9e1110336f7730e7e37aeadc7c93bd7a3ca3b6f190ba0d8588a49c38dc2b62ff4ec31e4edaa29d58bbc50d543d5e1d58fc7308e2f6b7ec203e688b5e59910ceaa51d0248380467789392d41f5fdcfb00947840ff00f79eb7ebe35fedb8adc0dad7dd20bb8f0747f7701e6f789ae3e5053b97f757a71ca7578d8cc715bdf4160751602ae64905f56a120354cc3eff70b49f703d0e764926a27a39cb6981c3890e9d5b0cb95deebda31b28072a611222e141f23a963aabd12ab31448f1cc9fe2861ce107a4dce46daf29257099902577cd1dc782051f6e11ff04e7debf636235be4e242bb29c35ee6907aa1b68b16c9fb1e5b2af65463427ba47b30db86f39e45fbc480b56aa0dd1e42dfc6309e962e7dd45cea5fe90a10ca29e64e588bec89e500236255fb7365df1d946791c0891b6f46dd996ca5d671ba502ebb1bb01ac22537f2c099859056da147894372ed9089044439554609b483a998870ce6f9ae2a4a8e0f2d06cf1765d93db97996692eedf3e328700ccf6f906bd1cf81d759d9272794a21e5a190210a1af8375c39061cbf21331457607c363f15fad135eb809d8cd0d0d2f78a000ee3d0c26bcab428e0cfee27cd34795b0f1208b2168d22fa0fdf66f6021c66812b90051c63e956852c9d6b4ccfd1f6fd5167d9850fa5ba6b97e9351ab226e273b644776e1721fe603921dff31a5763231a49039c3b87c50512dad2598237d23c41b6eaac6bac791f9e4498bfb491180dca9e1fd06f866d89505a59807"; } diff --git a/ethereum/pact/fixtures/epoch_change_fixture.json b/ethereum/pact/fixtures/epoch_change_fixture.json index 8c026dc2..ed045e5c 100644 --- a/ethereum/pact/fixtures/epoch_change_fixture.json +++ b/ethereum/pact/fixtures/epoch_change_fixture.json @@ -1,5 +1,5 @@ { - "vkey": "0x00c55464e91190f7548e4355c11cc43c1187f73cb1547a37aba0e6a1760a11d0", + "vkey": "0x00de53d6fe5e4e43f950fbc1f6b2c0f9c172097ad7263ab913241267b29d03f2", "publicValues": "0xe0e58f00000000005d32119aae2ee9f88867d5787af5c4df68884a4bf8fff525ff8c408e8f98805085382a0c8b1b38485a3d816f31ab5b23a0eae94d86c90086cd4e7b6e8c5c46825ebd1cf9ea54ce88af740aad4d7e95e742157209f36867ff5d7d490afa91c6bf", - "proof": "0x29f3c2107d2a9d4d65a0cf74042825086a470682ad4bccf8ab2073fd547efc1f28d26b2b0e8764edbf3ae34e973a4290709fd8efcbedf976b795106d24fd262d27d834384b35b8ce4d0ad3b1be196031b67ab2435e6178b944ba1537a5d650a91ca9448385cda6bdfa11a0cde1125d65716905d4b559cdbe198291098f6e475c21e680ca19077fbd1432a45f1ee5e177fd56ddf1a45a1de1485e66ba1db5da1b22ec0b545dbb7b66a376a6abcdcef0e23e2f64b1226e0a7452951699f29058782866b1de38f677e24b4973b1347e4463e6b9121f1fead57cf6658b15b5ad6e972115bf285e8fc79621870c0ee381cebe90145497aea03ec3897f52a04e9ab1ff05a4e230c61eaac280b49859aad788e035b21c8e77794a939e7f564002cf5575117822afcf70cd2869c78b1083ddde25e59a03d294c15fa4ff68575922763cfc2c973883271a98421a8577b5d88d51dc0bfb4316ca496328f64ff5bb35553e3728ed478908ec0835e8adde1f8551aa004dab15250df8ec1c8daea5cf7d1f62a80cfaf1e6616e8924b48846bb748b44bbda618d4dd00ac23bc8dc98dba83eea0b0b3a643c0847df7617ca181b22e87a1f7440e8cea8fbffbbc188631923be247a0a8050843cddcd3700eb82d65a9f7644775ccfd32486c3ae96a9aca7dd150aa924e7bdd968fe26dd28935d15e749f62b580ee0bb0fa1bcb1f5182d7a89d8b34e000000070fcae73be2857b62e06171db709a1bc13dd63697cb1c500f8686c866ace2c2a0006db78514ecfbead285e503f3517485c57d4849dbcf7e5e38024ca2f03d513e2e535521129d4ed4e82752ae6b851d946c3c6022c55f4a976ac70c5017df55af2272b785b36f5deedc17a82252b7a1a354d43bedab9b0ae01e4743dd137d0b1a20a8094a2f975c4e9c4e8665b3fbe4bdfdeb05642686d51b3696c890e344901a0231e99039e612bb0bbd02ba6c5171c43aa2057249a271f0f33874ac89384da60e25abfc70d703fc02765706609d6143628c6cefd3219a71955d3ece42a8b94d2bebbc12824e0ee4d7053bf24af355a17f6453148b64269bf2559c2c3e96cdea1dda9131fd277225fd3b641b936f2a6fb9419816e14b0f188564acf399be517203c8b4a7c2641295d95801c57e5153a5a683db8638945b8070b2a6ad497206880000000118ed6d853845a64ad4830e1535dd6d1b3053a4b4241fe77c33ba9410dc9ccbe82406e9242ea8653dbc125683dd4bccc6fad68c88c98356db1f2aca2e84701c39" + "proof": "0x08f34708fcf7220efa7f92b247dd0845d87a8f6c9c4241a565cc9700a0d25cf40d169d9ed1ef23501ba7af506149fe3ffc799347cda34a2161cbd6ec21e70d580a21e07b0ba894dbc8c41c1f1b82095038ea0f280d9fed085fcedb4773120c672eb050701e99ac2038ddd8b6bfb3d38bdf03eda1c4ee4397ec412392c407b2131fb2b6e1d5a09595bcd46324b933b814aeaede074058aaed109736f9712a6eb00dc21eae36034423fba3f1dc93978a1b1d03965f9eea7eddc9b96dad539025542b9c657579ef3c15b19f29942508f6284a8b116f7d85b88bc0b2f2e80256c5561013b5d5ccb027cd7280facf27c0aa09a8a900a8a1de5e15a22e6b584fa4c4e41589ea2fdd6b8842b93f165901e7f6542dfd0916f5de105cf695ab8f607b4e6b0fcddf8540d0789082b88306f8848b920a8ed36d190589ab34d965d47d12469b1522a0f17a78fae2cc3005b760011d4daf8daba412e5bd625cdf447055b8a1c71c2bcfe1bb2419defc9f26493996693e3a657cd08189744ccce45794f1d97eba0a650823bd257796e4fe46c01c464c9c6934518af55cca1d781b823608d21be21c93ba81ec0c71d40fae191d60ecb559eb63ec8983bfb98abbf54717be5349a2139dd001d19f5e53c96c84c0e5fe1cedb847ffbd3d0f9f691410d045e95c3ad703d8cbdb08717dfb49d8bf47f4d6709f920b51cede7b9ac2741ec68265bd3b410000000721bfd94a7452d7a6e0510ac6e5c0d8588256595b577a02eb3b1169e86437ea80251c199f4f85567d970b053dd0a9a4c0ba7359ca75386d2f65ffa6bb4d8602c70222eb2f82f83f96134066b8aabdaa04f46ee39f3111312e83b885875e57a4ce18eb7bf49b915a5c30e94c350e27b5f40972755d186fb7aef47b0a070f55f1631c6a1bb224be34a0c0b90de37bde8e0667afd14cd0fec024455c7bebe0c3dcee0f0812cde68d38ca7efb388d0d5d87121e8e199a7ba1b98f970c8a6a3763fa982a9e91b9a1e9d9d37b7a5afd4c13d644a6acdc103254e6d55d2487044a0cc1742799663505fe98c8c0eaf0d2f53a1f328c265243ef82814af7f75ca9084c77c210198fe1751fe15e8d792d7da9f3bb39d3099aedcf1e6e69015be377989817bd132986a8dbc0e10902010bff9cdc8e7e99cee97a971dfd3d70e992413f376c6c000000011d7edb9ff220715881ebef1eb24285612dd2cf3b1914cee923540d6676be555c21259d9879e7a3e8c886c4745bd5a9b562fcfa31f81ed234148c5f0bb12c205b" } \ No newline at end of file diff --git a/ethereum/pact/fixtures/inclusion_fixture.json b/ethereum/pact/fixtures/inclusion_fixture.json index 651e366a..50a75335 100644 --- a/ethereum/pact/fixtures/inclusion_fixture.json +++ b/ethereum/pact/fixtures/inclusion_fixture.json @@ -1,5 +1,5 @@ { - "vkey": "0x00d6b0922b33f4a88cac7a71b76e025fa0dfb9b3a2e74e009bd511db5688bd3d", + "vkey": "0x00deddfe90263f93c03e88dc9c33603f3ea0493b2af5da7e37d515794958bbb7", "publicValues": "0xe0fc9100000000000969ed235cf75d25800ea6845c2584af013c1f9617ad2de87202d7e9b93739c95c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f22002fe30a172d0a479f6add89c63b29dce29b6071b3c7e486b0fb4bc431f88501000000000000002000000000000000290decd9548b62a8ef0d3e6ac11e2d7b95a49e22ecf57fc6044b6f007ca2b2ba010000000000000080", - "proof": "0x1a072bba0026c92222216935ac77a08cdd663e05448613322e6171914b98141702bcc77a2e49e7f546fdd78572365c5ba1e6528310d50a749a7d3635e3173d010c8c53c94f4b7c669e0f44abe91930356533165dfb73ea94279b15a7ce1b85491b4659583877c2360faa6c43ace46112f2a8dd18dc3d8c44be9088ece59116860e734b09301ab51535dd0f70d125db584390a63bff9d547cff1cad52c2807a2e2f84a143371157e2fd5dee1721531b3590328abb48d247b839f3b392b0a5fc1b2b73cb29acf2038326393219fe3da6afef1155e10fbd08bcae29815618e383ed24830f002ce2bbb95120a82927a31dc21cbe79b9a2f79ddbbfd67c01269165f403f6adddadf1302811ac089b06155ca6cce4e236bf59f14e1e3fe1be167d330e2f2a414255f554e5b6f609735464ded826a4e3d81d4f5a99a3299c07bb800ff01f721a807c33f5acd1d5f2b61eba3099b37300d67a3afbe7a07dacc0a3ad86540d7d832430bd0a7ae3b71c03c1e569a2f5d380a6e45490c458e55ffb81b93b4e28766a46b08bdc65a54e4f86a948b7f01c08393829af5da3288df76a2ddc9d7a13aa05a5376eb2f486d513eb78ab31abe42f9735c72c45aa769af78da0bb1f87066190c16436d94d78335c8f5c3a2f81a52fc680af5afd8cb8eb0c655d60be932164a8ab284427dc735638c7bed6c425885194d97c109ad58ad2a05a820f395600000007093606329e0d6f305cf2e7a875fe13e1218299c2ebc4ef63053b947ad01ef54b26b31dfd7cc1e26d9546d9f614b86af264277e24ae74d2e97d94e9254f986a5615c3e84d470a52723c37752c3c5c18c8ab5624a81c4a2d81f83f907827fc3b3c1edbd80b1c3ea92be9104ec9f9b4947699d472d540f702a669346f5ee6585bea26218b10a0077c947308e0b046e357cc2daa07a8ae157d69bb8d9215ddccde790e3e814dd5d4d258d524a1671ca48afc50353cdcd714fc5746440a05de3ec3512078c3a7cf1859a3940ea195f5145511c2de5086f21bbc3b5e1d314e268e89bf288326f770eb89d453af26d404a326dd1009b0fb45a85f3a34218485688cf31b22acad23cf78c393a10a57e39c7f8fd46d2e5ec977be789591089faa0a7f83cb1d33f3c4508dc715a6fa19677d87bd2eafbc091e1daab9d27bbedae941ccc1a000000001107a0f979dc431bf5c6f9962c49655a7623dd2d2e56f441278893887ffcdd82c07dce2e436b3a8c4518f8a63ad063ce7838b45d01b66ecc13476eb5fff8d6fd5" + "proof": "0x05d01218ecfca52c5082484baae35c29ce926cc46b856fb7e3f70b04d65f960a2db6cbc8ba328d1f1765a7b83d4c424b5ed3175a9e08b7b01efa7d9b96aa03cb0c3ca6862730abecc31675930756528537eaf714fd726b57b01f611413755df61ff90836f9d51a8edcd5c61a21dee2fec168d838f56125d5e20f8bcccf6007f82ac19911d0b1849254e959bad157b7896455895ed603b2e0c7d689ed3e9a8a6f1c88b5419c799aaebc5c5cce6e8f753762535181b58fc65a1d8092e80b0ab8ab1bdb4f20a1e0c25cd9b2184af98fd08796249d2a83401504464cf33eb1760e2202c514dcca4c29a775a1478bc914bfc77181898f820a704ce895caf506ff46d51d17a4a78994d4b9589d7823fd6ccf238aa6f778caab0cccf85740661ada3ce9177fb28569a185f08b35b14099816b1055527efbca3b93b3f5905e1223bfb1c11fddf65b06418d3b5061f2cc4cd6139aa1a22af11d81ff81ea7ab365a2a6808c061fe8c72db2532ed6114a805382229385c5bdbdf27b14baea139a0bea3ea8e112186819fca5c9f561ce3d62e094c02c128bc54661dd8183e9521e696089512b23f1a514c72c9cd3db6e94c48e06520c8f2bb8e56bbf8598a3bf0c6f3865129c005f3686cb630576a9f884c6ea684ce0f2240c2f32063ff8225d0853a5a9acbd2e8f004628a0338eeb0bc849a9aac913794292bf01db99b3ae17023e265cc0920000000709ffd4af3b57fa6f98cac4a0ac127c8dde22e65ae17f9f35a72095d725ac0cfc2f64584f6912db7aa50e5815e754e7ff92ce65a28786dcb17df13fdbcb01940003575e7037f735f85f52d0d3534a73458c6c03a4f9a7fa9359e2d46770c30ea6167a8830daa4b1c5f01a894bf7beb6cc6d6b12de1829db04b61fc62f870f07be0d8304ba1b84b014ddf80277f768ea312eeeb7066a06292a8afceb84319adc3b1c93dfc923dd41b6ff164f80840b1f5338764bd597a81ed9e17c946e767386401e347d7575e09e102ff525ec5bf7cffbc60f86951041f1399534bc3a51de025507fcf4b896dd993e4c2b89243d19297e7ba11c30a6d4336a320d1a92d100e6fe0007468c8a9b37cc5b1f99e905326aa86f37828e65616abf6830f76edb9fa53f1c222a4c6dadc86b1a5e6e20238a40f2f1b7e5a6dfb13c754aa8686d31b1855e000000011d780989bba9550d4a8bab5ac6aeb31ac6974c1f42a04ab0c3c8e97ed71badbf03aff33aa242c183ca2ebab34820837bf38a5c154fe89927556033b888587355" } \ No newline at end of file diff --git a/ethereum/programs/committee-change/Cargo.lock b/ethereum/programs/committee-change/Cargo.lock index 251ba08f..1663b2d3 100644 --- a/ethereum/programs/committee-change/Cargo.lock +++ b/ethereum/programs/committee-change/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "aho-corasick" @@ -100,7 +100,7 @@ dependencies = [ [[package]] name = "bls12_381" version = "0.8.0" -source = "git+https://github.com/lurk-lab/bls12_381.git?branch=zkvm#2a96eccde19bf861b0d1707b61b2ab15e294b154" +source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a1c7d1b4827a4d42eb4a68f8cb78c2da10f4787" dependencies = [ "cfg-if", "digest 0.9.0", @@ -108,7 +108,8 @@ dependencies = [ "group", "pairing", "rand_core", - "sphinx-precompiles", + "sphinx-lib", + "sphinx-zkvm", "subtle", ] @@ -284,7 +285,6 @@ dependencies = [ "rand_core", "sec1", "subtle", - "tap", "zeroize", ] @@ -575,7 +575,6 @@ dependencies = [ "elliptic-curve", "once_cell", "sha2 0.10.8", - "signature", ] [[package]] @@ -1071,34 +1070,33 @@ dependencies = [ ] [[package]] -name = "sphinx-precompiles" +name = "sphinx-lib" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#3103411f2782f0834d033e029119e07d9f2b129c" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", "cfg-if", "getrandom", "hybrid-array", - "k256", "serde", ] [[package]] name = "sphinx-zkvm" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#3103411f2782f0834d033e029119e07d9f2b129c" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "bincode", "cfg-if", "getrandom", - "k256", "lazy_static", "libm", "once_cell", "rand", + "serde", "sha2 0.10.8", - "sphinx-precompiles", + "sphinx-lib", ] [[package]] diff --git a/ethereum/programs/committee-change/src/main.rs b/ethereum/programs/committee-change/src/main.rs index 7f7074e2..f2af9dc4 100644 --- a/ethereum/programs/committee-change/src/main.rs +++ b/ethereum/programs/committee-change/src/main.rs @@ -10,79 +10,79 @@ use ethereum_lc_core::types::update::Update; sphinx_zkvm::entrypoint!(main); pub fn main() { - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: read_inputs"); } let store_bytes = sphinx_zkvm::io::read::>(); let update_bytes = sphinx_zkvm::io::read::>(); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: read_inputs"); } // Deserialize data structure - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: deserialize_light_client_store"); } let mut store = LightClientStore::from_ssz_bytes(&store_bytes) .expect("LightClientStore::from_ssz_bytes: could not create store"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: deserialize_light_client_store"); } - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: deserialize_update"); } let update = Update::from_ssz_bytes(&update_bytes) .expect("Update::from_ssz_bytes: could not create update"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: deserialize_update"); } // Hash current sync committee - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: old_sync_committee_ssz_ser"); } let signer_committee_bytes = store.current_sync_committee().to_ssz_bytes(); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: old_sync_committee_ssz_ser"); } - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: hash_current_sync_committee"); } let signer_sync_committee_hash = keccak256_hash(&signer_committee_bytes) .expect("LightClientStore::current_sync_committee: could not hash committee"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: hash_current_sync_committee"); } // Process update - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: process_update"); } store .process_light_client_update(&update) .expect("LightClientStore::process_light_client_update: could not process update"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: process_update"); } // Hash updated sync committee - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: new_sync_committee_ssz_ser"); } let new_sync_committee_bytes = store.current_sync_committee().to_ssz_bytes(); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: new_sync_committee_ssz_ser"); } - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: hash_new_sync_committee"); } let updated_sync_committee_hash = keccak256_hash(&new_sync_committee_bytes) .expect("LightClientStore::current_sync_committee: could not hash committee after processing update"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: hash_new_sync_committee"); } let next_sync_committee_hash = keccak256_hash(&store.next_sync_committee().as_ref().expect("Store should have a next sync committee after processing update").to_ssz_bytes()) .expect("LightClientStore::current_sync_committee: could not hash committee after processing update"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: hash_new_sync_committee"); } // Commit the signer hash, the current and next sync committee hashes, and the block height diff --git a/ethereum/programs/inclusion/Cargo.lock b/ethereum/programs/inclusion/Cargo.lock index bc40f9b1..31a8bfc5 100644 --- a/ethereum/programs/inclusion/Cargo.lock +++ b/ethereum/programs/inclusion/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "aho-corasick" @@ -100,7 +100,7 @@ dependencies = [ [[package]] name = "bls12_381" version = "0.8.0" -source = "git+https://github.com/lurk-lab/bls12_381.git?branch=zkvm#2a96eccde19bf861b0d1707b61b2ab15e294b154" +source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a1c7d1b4827a4d42eb4a68f8cb78c2da10f4787" dependencies = [ "cfg-if", "digest 0.9.0", @@ -108,7 +108,8 @@ dependencies = [ "group", "pairing", "rand_core", - "sphinx-precompiles", + "sphinx-lib", + "sphinx-zkvm", "subtle", ] @@ -276,7 +277,6 @@ dependencies = [ "rand_core", "sec1", "subtle", - "tap", "zeroize", ] @@ -575,7 +575,6 @@ dependencies = [ "elliptic-curve", "once_cell", "sha2 0.10.8", - "signature", ] [[package]] @@ -1071,34 +1070,33 @@ dependencies = [ ] [[package]] -name = "sphinx-precompiles" +name = "sphinx-lib" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#3103411f2782f0834d033e029119e07d9f2b129c" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", "cfg-if", "getrandom", "hybrid-array", - "k256", "serde", ] [[package]] name = "sphinx-zkvm" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#3103411f2782f0834d033e029119e07d9f2b129c" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "bincode", "cfg-if", "getrandom", - "k256", "lazy_static", "libm", "once_cell", "rand", + "serde", "sha2 0.10.8", - "sphinx-precompiles", + "sphinx-lib", ] [[package]] diff --git a/ethereum/programs/inclusion/src/main.rs b/ethereum/programs/inclusion/src/main.rs index 2d96ddb8..92b3eabf 100644 --- a/ethereum/programs/inclusion/src/main.rs +++ b/ethereum/programs/inclusion/src/main.rs @@ -11,17 +11,17 @@ use ethereum_lc_core::types::update::CompactUpdate; sphinx_zkvm::entrypoint!(main); pub fn main() { - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: read_inputs"); } let compact_store_bytes = sphinx_zkvm::io::read::>(); let compact_update_bytes = sphinx_zkvm::io::read::>(); let eip1186_proof_bytes = sphinx_zkvm::io::read::>(); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: read_inputs"); } - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: deserialize_inputs"); } let compact_store = CompactStore::from_ssz_bytes(&compact_store_bytes) @@ -30,23 +30,23 @@ pub fn main() { .expect("CompactUpdate::from_ssz_bytes: could not create update"); let eip1186_proof = EIP1186Proof::from_ssz_bytes(&eip1186_proof_bytes) .expect("EIP1186Proof::from_ssz_bytes: could not create proof"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: deserialize_inputs"); } // Validate the received update - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: validate_update"); } compact_store .validate_compact_update(&compact_update) .expect("validate_light_client_update: could not validate update"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: validate_update"); } // Check execution inclusion in the beacon header - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: check_execution_inclusion"); } let is_valid = compact_update @@ -56,23 +56,23 @@ pub fn main() { is_valid, "is_execution_payload_proof_valid: proof is invalid" ); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: check_execution_inclusion"); } // Verify proof against finalized state root - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: verify_proof"); } eip1186_proof .verify(compact_update.finalized_execution_state_root()) .expect("verify: could not verify proof"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: verify_proof"); } // Output the signers sync committee hash, the attested block number, the hash of address + storage keys - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: output"); } let sync_committee_hash = keccak256_hash(&compact_store.sync_committee().to_ssz_bytes()) @@ -98,7 +98,7 @@ pub fn main() { sphinx_zkvm::io::commit(&storage_proof.value); } - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: output"); } } diff --git a/fixture-generator/Cargo.lock b/fixture-generator/Cargo.lock index ab9938db..08e8aafa 100644 --- a/fixture-generator/Cargo.lock +++ b/fixture-generator/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -1212,7 +1212,7 @@ dependencies = [ "once_cell", "procfs", "prometheus", - "sysinfo", + "sysinfo 0.28.4", ] [[package]] @@ -2562,7 +2562,7 @@ dependencies = [ [[package]] name = "bls12_381" version = "0.8.0" -source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a96eccde19bf861b0d1707b61b2ab15e294b154" +source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a1c7d1b4827a4d42eb4a68f8cb78c2da10f4787" dependencies = [ "cfg-if", "digest 0.9.0", @@ -2570,7 +2570,8 @@ dependencies = [ "group 0.13.0", "pairing 0.23.0", "rand_core 0.6.4", - "sphinx-precompiles", + "sphinx-lib", + "sphinx-zkvm", "subtle", ] @@ -3808,7 +3809,6 @@ dependencies = [ "rand_core 0.6.4", "sec1", "subtle", - "tap", "zeroize", ] @@ -5289,7 +5289,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.52.0", ] [[package]] @@ -8279,6 +8279,15 @@ version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" +[[package]] +name = "psm" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205" +dependencies = [ + "cc", +] + [[package]] name = "publicsuffix" version = "2.2.3" @@ -9769,7 +9778,7 @@ dependencies = [ [[package]] name = "sphinx-core" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "arrayref", @@ -9831,7 +9840,7 @@ dependencies = [ [[package]] name = "sphinx-derive" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "proc-macro2", "quote", @@ -9841,30 +9850,29 @@ dependencies = [ [[package]] name = "sphinx-helper" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "cargo_metadata 0.18.1", "chrono", ] [[package]] -name = "sphinx-precompiles" +name = "sphinx-lib" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", "cfg-if", "getrandom 0.2.14", "hybrid-array", - "k256", "serde", ] [[package]] name = "sphinx-primitives" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "itertools 0.12.1", "lazy_static", @@ -9877,7 +9885,7 @@ dependencies = [ [[package]] name = "sphinx-prover" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "backtrace", @@ -9919,7 +9927,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-circuit" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "bincode", "itertools 0.12.1", @@ -9942,7 +9950,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-compiler" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "backtrace", "hashbrown 0.14.5", @@ -9968,7 +9976,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-core" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "arrayref", "backtrace", @@ -10002,7 +10010,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-derive" version = "0.1.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "proc-macro2", "quote", @@ -10012,7 +10020,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-gnark-ffi" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", @@ -10036,7 +10044,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-program" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "itertools 0.12.1", "p3-air", @@ -10058,13 +10066,14 @@ dependencies = [ "sphinx-primitives", "sphinx-recursion-compiler", "sphinx-recursion-core", + "stacker", "tracing", ] [[package]] name = "sphinx-sdk" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "alloy-sol-types", "anyhow", @@ -10095,6 +10104,7 @@ dependencies = [ "sphinx-prover", "strum 0.26.3", "strum_macros 0.26.4", + "sysinfo 0.31.4", "tempfile", "thiserror", "tokio", @@ -10103,6 +10113,23 @@ dependencies = [ "vergen", ] +[[package]] +name = "sphinx-zkvm" +version = "1.0.0" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" +dependencies = [ + "bincode", + "cfg-if", + "getrandom 0.2.14", + "lazy_static", + "libm", + "once_cell", + "rand 0.8.5", + "serde", + "sha2 0.10.8", + "sphinx-lib", +] + [[package]] name = "spin" version = "0.5.2" @@ -10131,6 +10158,19 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "stacker" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b" +dependencies = [ + "cc", + "cfg-if", + "libc", + "psm", + "windows-sys 0.59.0", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -10343,6 +10383,20 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "sysinfo" +version = "0.31.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "355dbe4f8799b304b05e1b0f05fc59b2a18d36645cf169607da45bde2f69a1be" +dependencies = [ + "core-foundation-sys", + "libc", + "memchr", + "ntapi", + "rayon", + "windows", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -11570,6 +11624,16 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.52.0" @@ -11579,17 +11643,60 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + [[package]] name = "windows-registry" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-strings", "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.2.0" @@ -11605,7 +11712,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-targets 0.52.6", ] diff --git a/fixture-generator/src/bin/main.rs b/fixture-generator/src/bin/main.rs index 740062c3..b57a5cdf 100644 --- a/fixture-generator/src/bin/main.rs +++ b/fixture-generator/src/bin/main.rs @@ -187,7 +187,7 @@ fn generate_fixture_inclusion_aptos_lc() { // save fixture let fixture = BaseFixture { vkey: vk.bytes32().to_string(), - public_values: proof.public_values.bytes().to_string(), + public_values: proof.public_values.raw().to_string(), proof: proof_bytes(&proof), }; @@ -235,7 +235,7 @@ fn generate_fixture_inclusion_ethereum_lc(remote: &str) { MoveArg { // public values type_: String::from("hex"), - value: proof.public_values.bytes().to_string(), + value: proof.public_values.raw().to_string(), }, MoveArg { // proof @@ -252,7 +252,7 @@ fn generate_fixture_inclusion_ethereum_lc(remote: &str) { println!("// From inclusion fixture"); println!( "const ValidSignerSyncCommitteeHashInclusion: u256 = 0x{};", - &proof.public_values.bytes().to_string().as_str()[2 + 16..2 + 16 + 64] + &proof.public_values.raw().to_string().as_str()[2 + 16..2 + 16 + 64] ); println!( "const InclusionVk: vector = x\"{}\";", @@ -260,7 +260,7 @@ fn generate_fixture_inclusion_ethereum_lc(remote: &str) { ); println!( "const InclusionPublicValues: vector = x\"{}\";", - &proof.public_values.bytes().to_string().as_str()[2..] + &proof.public_values.raw().to_string().as_str()[2..] ); println!( "const InclusionProof: vector = x\"{}\";", @@ -279,7 +279,7 @@ fn generate_fixture_inclusion_ethereum_lc(remote: &str) { PACT => { let fixture = BaseFixture { vkey: prover.get_vk().bytes32().to_string(), - public_values: proof.public_values.bytes().to_string(), + public_values: proof.public_values.raw().to_string(), proof: raw_proof_bytes(&proof), }; @@ -315,14 +315,13 @@ fn generate_fixture_epoch_change_aptos_lc() { // save fixture let fixture = BaseFixture { vkey: vk.bytes32().to_string(), - public_values: proof.public_values.bytes().to_string(), + public_values: proof.public_values.raw().to_string(), proof: proof_bytes(&proof), }; - let signer_hash_string = - proof.public_values.bytes().to_string().as_str()[2..2 + 64].to_string(); + let signer_hash_string = proof.public_values.raw().to_string().as_str()[2..2 + 64].to_string(); let updated_signer_hash_string = - proof.public_values.bytes().to_string().as_str()[2 + 64..2 + 64 * 2].to_string(); + proof.public_values.raw().to_string().as_str()[2 + 64..2 + 64 * 2].to_string(); println!("Copy paste to aptos/solidity/contracts/test/test_lc_proof.sol (in case of the new Sphinx version):"); println!(); @@ -387,7 +386,7 @@ fn generate_fixture_epoch_change_ethereum_lc(remote: &str) { MoveArg { // public values type_: String::from("hex"), - value: proof.public_values.bytes().to_string(), + value: proof.public_values.raw().to_string(), }, MoveArg { // proof @@ -404,15 +403,15 @@ fn generate_fixture_epoch_change_ethereum_lc(remote: &str) { println!( "const SignerSyncCommitteeHashH29: u256 = 0x{};", - &proof.public_values.bytes().to_string().as_str()[2 + 16..2 + 16 + 64] + &proof.public_values.raw().to_string().as_str()[2 + 16..2 + 16 + 64] ); println!( "const UpdatedSyncCommitteeHashH30: u256 = 0x{};", - &proof.public_values.bytes().to_string().as_str()[2 + 16 + 64..2 + 16 + 64 * 2] + &proof.public_values.raw().to_string().as_str()[2 + 16 + 64..2 + 16 + 64 * 2] ); println!( "const NextSyncCommitteeHashH31: u256 = 0x{};", - &proof.public_values.bytes().to_string().as_str()[2 + 16 + 64 * 2..2 + 16 + 64 * 3] + &proof.public_values.raw().to_string().as_str()[2 + 16 + 64 * 2..2 + 16 + 64 * 3] ); println!( @@ -421,7 +420,7 @@ fn generate_fixture_epoch_change_ethereum_lc(remote: &str) { ); println!( "const EpochChangePublicValues: vector = x\"{}\";", - &proof.public_values.bytes().to_string().as_str()[2..] + &proof.public_values.raw().to_string().as_str()[2..] ); println!( "const EpochChangeProof: vector = x\"{}\";", @@ -440,7 +439,7 @@ fn generate_fixture_epoch_change_ethereum_lc(remote: &str) { PACT => { let fixture = BaseFixture { vkey: prover.get_vk().bytes32().to_string(), - public_values: proof.public_values.bytes().to_string(), + public_values: proof.public_values.raw().to_string(), proof: raw_proof_bytes(&proof), }; @@ -480,11 +479,11 @@ fn generate_fixture_longest_chain() { // save fixture let fixture = BaseFixture { vkey: prover.get_vk().bytes32().to_string(), - public_values: proof.public_values.bytes().to_string(), + public_values: proof.public_values.raw().to_string(), proof: proof_bytes(&proof), }; - let confirmation_work = proof.public_values.bytes().to_string().as_str()[2..2 + 64].to_string(); + let confirmation_work = proof.public_values.raw().to_string().as_str()[2..2 + 64].to_string(); println!("Copy paste to kadena/solidity/contracts/test/test_lc_proof.sol (in case of the new Sphinx version):"); println!(); println!("// Value taken from either spv or longest_chain fixtures located in src/plonk_fixtures/ (first 32 bytes)"); @@ -527,11 +526,11 @@ fn generate_fixture_spv() { // save fixture let fixture = BaseFixture { vkey: prover.get_vk().bytes32().to_string(), - public_values: proof.public_values.bytes().to_string(), + public_values: proof.public_values.raw().to_string(), proof: proof_bytes(&proof), }; - let confirmation_work = proof.public_values.bytes().to_string().as_str()[2..2 + 64].to_string(); + let confirmation_work = proof.public_values.raw().to_string().as_str()[2..2 + 64].to_string(); println!("Copy paste to kadena/solidity/contracts/test/test_lc_proof.sol (in case of the new Sphinx version):"); println!(); println!("// Value taken from either spv or longest_chain fixtures located in src/plonk_fixtures/ (first 32 bytes)"); diff --git a/kadena/Cargo.lock b/kadena/Cargo.lock index c409aa09..567e6a33 100644 --- a/kadena/Cargo.lock +++ b/kadena/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -678,14 +678,15 @@ dependencies = [ [[package]] name = "bls12_381" version = "0.8.0" -source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a96eccde19bf861b0d1707b61b2ab15e294b154" +source = "git+https://github.com/argumentcomputer/bls12_381.git?branch=zkvm#2a1c7d1b4827a4d42eb4a68f8cb78c2da10f4787" dependencies = [ "cfg-if", "ff 0.13.0", "group 0.13.0", "pairing 0.23.0", "rand_core", - "sphinx-precompiles", + "sphinx-lib", + "sphinx-zkvm", "subtle", ] @@ -1235,7 +1236,6 @@ dependencies = [ "rand_core", "sec1", "subtle", - "tap", "zeroize", ] @@ -2235,7 +2235,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.52.0", ] [[package]] @@ -2700,6 +2700,15 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "ntapi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +dependencies = [ + "winapi", +] + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -3575,6 +3584,15 @@ dependencies = [ "syn 2.0.79", ] +[[package]] +name = "psm" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205" +dependencies = [ + "cc", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -4485,7 +4503,7 @@ dependencies = [ [[package]] name = "sphinx-core" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "arrayref", @@ -4547,7 +4565,7 @@ dependencies = [ [[package]] name = "sphinx-derive" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "proc-macro2", "quote", @@ -4557,30 +4575,29 @@ dependencies = [ [[package]] name = "sphinx-helper" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "cargo_metadata", "chrono", ] [[package]] -name = "sphinx-precompiles" +name = "sphinx-lib" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", "cfg-if", "getrandom", "hybrid-array", - "k256", "serde", ] [[package]] name = "sphinx-primitives" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "itertools 0.12.1", "lazy_static", @@ -4593,7 +4610,7 @@ dependencies = [ [[package]] name = "sphinx-prover" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "backtrace", @@ -4635,7 +4652,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-circuit" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "bincode", "itertools 0.12.1", @@ -4658,7 +4675,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-compiler" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "backtrace", "hashbrown 0.14.5", @@ -4684,7 +4701,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-core" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "arrayref", "backtrace", @@ -4718,7 +4735,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-derive" version = "0.1.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "proc-macro2", "quote", @@ -4728,7 +4745,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-gnark-ffi" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", @@ -4752,7 +4769,7 @@ dependencies = [ [[package]] name = "sphinx-recursion-program" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "itertools 0.12.1", "p3-air", @@ -4774,13 +4791,14 @@ dependencies = [ "sphinx-primitives", "sphinx-recursion-compiler", "sphinx-recursion-core", + "stacker", "tracing", ] [[package]] name = "sphinx-sdk" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "alloy-sol-types", "anyhow", @@ -4811,6 +4829,7 @@ dependencies = [ "sphinx-prover", "strum", "strum_macros", + "sysinfo", "tempfile", "thiserror", "tokio", @@ -4819,6 +4838,23 @@ dependencies = [ "vergen", ] +[[package]] +name = "sphinx-zkvm" +version = "1.0.0" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" +dependencies = [ + "bincode", + "cfg-if", + "getrandom", + "lazy_static", + "libm", + "once_cell", + "rand", + "serde", + "sha2", + "sphinx-lib", +] + [[package]] name = "spin" version = "0.5.2" @@ -4841,6 +4877,19 @@ dependencies = [ "der", ] +[[package]] +name = "stacker" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b" +dependencies = [ + "cc", + "cfg-if", + "libc", + "psm", + "windows-sys 0.59.0", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -4939,6 +4988,20 @@ dependencies = [ "futures-core", ] +[[package]] +name = "sysinfo" +version = "0.31.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "355dbe4f8799b304b05e1b0f05fc59b2a18d36645cf169607da45bde2f69a1be" +dependencies = [ + "core-foundation-sys", + "libc", + "memchr", + "ntapi", + "rayon", + "windows", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -5655,6 +5718,16 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.52.0" @@ -5664,17 +5737,60 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + [[package]] name = "windows-registry" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-strings", "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.2.0" @@ -5690,7 +5806,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-targets 0.52.6", ] diff --git a/kadena/kadena-programs/artifacts/benchmarks/block-header-hashing-program b/kadena/kadena-programs/artifacts/benchmarks/block-header-hashing-program index 917996ed..1eede3b7 100755 Binary files a/kadena/kadena-programs/artifacts/benchmarks/block-header-hashing-program and b/kadena/kadena-programs/artifacts/benchmarks/block-header-hashing-program differ diff --git a/kadena/kadena-programs/artifacts/benchmarks/sha512-caller-program b/kadena/kadena-programs/artifacts/benchmarks/sha512-caller-program index 8df421ec..c867b3ec 100755 Binary files a/kadena/kadena-programs/artifacts/benchmarks/sha512-caller-program and b/kadena/kadena-programs/artifacts/benchmarks/sha512-caller-program differ diff --git a/kadena/kadena-programs/artifacts/longest-chain-program b/kadena/kadena-programs/artifacts/longest-chain-program index 58490030..0f0a4096 100755 Binary files a/kadena/kadena-programs/artifacts/longest-chain-program and b/kadena/kadena-programs/artifacts/longest-chain-program differ diff --git a/kadena/kadena-programs/artifacts/spv-program b/kadena/kadena-programs/artifacts/spv-program index 48b0230c..cd686445 100755 Binary files a/kadena/kadena-programs/artifacts/spv-program and b/kadena/kadena-programs/artifacts/spv-program differ diff --git a/kadena/programs/benchmarks/block-header-hashing/src/main.rs b/kadena/programs/benchmarks/block-header-hashing/src/main.rs index b6163b8c..b32a5924 100644 --- a/kadena/programs/benchmarks/block-header-hashing/src/main.rs +++ b/kadena/programs/benchmarks/block-header-hashing/src/main.rs @@ -8,19 +8,19 @@ use kadena_lc_core::types::header::chain::KadenaHeaderRaw; sphinx_zkvm::entrypoint!(main); pub fn main() { - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: read_inputs"); } let header_bytes_base64 = sphinx_zkvm::io::read::>(); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: read_inputs"); } - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: deserialize_inputs"); } let header = KadenaHeaderRaw::from_base64(&header_bytes_base64).expect("Failed to deserialize header"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: deserialize_inputs"); } let actual = header.header_root().expect("Failed to hash header"); diff --git a/kadena/programs/benchmarks/sha512-caller/Cargo.lock b/kadena/programs/benchmarks/sha512-caller/Cargo.lock index 93c68424..c9351f37 100644 --- a/kadena/programs/benchmarks/sha512-caller/Cargo.lock +++ b/kadena/programs/benchmarks/sha512-caller/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "anyhow" @@ -8,18 +8,6 @@ version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - [[package]] name = "bincode" version = "1.3.3" @@ -29,18 +17,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - [[package]] name = "blake2" version = "0.10.6" @@ -71,12 +47,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - [[package]] name = "cpufeatures" version = "0.2.14" @@ -86,18 +56,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array", - "rand_core", - "subtle", - "zeroize", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -108,16 +66,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "zeroize", -] - [[package]] name = "digest" version = "0.10.7" @@ -125,62 +73,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", - "const-oid", "crypto-common", "subtle", ] -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest", - "elliptic-curve", - "rfc6979", - "signature", - "spki", -] - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core", - "sec1", - "subtle", - "tap", - "zeroize", -] - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "bitvec", - "rand_core", - "subtle", -] - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - [[package]] name = "generic-array" version = "0.14.7" @@ -189,7 +85,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -203,26 +98,6 @@ dependencies = [ "wasi", ] -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand_core", - "subtle", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - [[package]] name = "hybrid-array" version = "0.2.0-rc.10" @@ -232,20 +107,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "k256" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" -dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "sha2 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", - "signature", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -273,16 +134,6 @@ dependencies = [ "portable-atomic", ] -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - [[package]] name = "portable-atomic" version = "1.9.0" @@ -316,12 +167,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - [[package]] name = "rand" version = "0.8.5" @@ -352,30 +197,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "subtle", - "zeroize", -] - [[package]] name = "serde" version = "1.0.210" @@ -407,16 +228,6 @@ dependencies = [ "digest", ] -[[package]] -name = "sha2" -version = "0.10.8" -source = "git+https://github.com/sp1-patches/RustCrypto-hashes?branch=patch-v0.10.8#1f224388fdede7cef649bce0d63876d1a9e3f515" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - [[package]] name = "sha2" version = "0.10.8" @@ -437,54 +248,33 @@ dependencies = [ ] [[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest", - "rand_core", -] - -[[package]] -name = "sphinx-precompiles" +name = "sphinx-lib" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "anyhow", "bincode", "cfg-if", "getrandom", "hybrid-array", - "k256", "serde", ] [[package]] name = "sphinx-zkvm" version = "1.0.0" -source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#75d6e85d47e00fd921fefc94ce6c3725b15bd2c2" +source = "git+https://github.com/argumentcomputer/sphinx?branch=dev#8a39b951e3ea520e295b693ad38bff6b43a2630c" dependencies = [ "bincode", "cfg-if", "getrandom", - "k256", "lazy_static", "libm", "once_cell", "rand", - "sha2 0.10.8 (git+https://github.com/sp1-patches/RustCrypto-hashes?branch=patch-v0.10.8)", - "sphinx-precompiles", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", + "serde", + "sha2 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", + "sphinx-lib", ] [[package]] @@ -504,12 +294,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - [[package]] name = "typenum" version = "1.17.0" @@ -534,15 +318,6 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - [[package]] name = "zerocopy" version = "0.7.35" @@ -563,9 +338,3 @@ dependencies = [ "quote", "syn", ] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/kadena/programs/benchmarks/sha512-caller/src/main.rs b/kadena/programs/benchmarks/sha512-caller/src/main.rs index d3a68645..84050f51 100644 --- a/kadena/programs/benchmarks/sha512-caller/src/main.rs +++ b/kadena/programs/benchmarks/sha512-caller/src/main.rs @@ -7,21 +7,21 @@ sphinx_zkvm::entrypoint!(main); use sha2::{Digest, Sha512_256}; pub fn main() { - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: read_inputs"); } let preimage = sphinx_zkvm::io::read::>(); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: read_inputs"); } - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: hashing"); } let hash = Sha512_256::digest(preimage); let mut ret = [0u8; 32]; ret.copy_from_slice(&hash); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: hashing"); } diff --git a/kadena/programs/longest-chain/src/main.rs b/kadena/programs/longest-chain/src/main.rs index 8dc2f477..5d60d8f8 100644 --- a/kadena/programs/longest-chain/src/main.rs +++ b/kadena/programs/longest-chain/src/main.rs @@ -8,19 +8,19 @@ use kadena_lc_core::types::header::layer::ChainwebLayerHeader; sphinx_zkvm::entrypoint!(main); pub fn main() { - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: read_inputs"); } let layer_headers_bytes = sphinx_zkvm::io::read::>(); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: read_inputs"); } - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: deserialize_inputs"); } let layer_headers = ChainwebLayerHeader::deserialize_list(&layer_headers_bytes) .expect("Failed to deserialize layer headers"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: deserialize_inputs"); } diff --git a/kadena/programs/spv/src/main.rs b/kadena/programs/spv/src/main.rs index 131e6ada..28f76fb2 100644 --- a/kadena/programs/spv/src/main.rs +++ b/kadena/programs/spv/src/main.rs @@ -10,16 +10,16 @@ use kadena_lc_core::types::header::layer::ChainwebLayerHeader; sphinx_zkvm::entrypoint!(main); pub fn main() { - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: read_inputs"); } let layer_headers_bytes = sphinx_zkvm::io::read::>(); let spv_bytes = sphinx_zkvm::io::read::>(); let expected_root_bytes = sphinx_zkvm::io::read::>(); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: read_inputs"); } - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-start: deserialize_inputs"); } let layer_headers = ChainwebLayerHeader::deserialize_list(&layer_headers_bytes) @@ -27,7 +27,7 @@ pub fn main() { let spv = Spv::from_bytes(&spv_bytes).expect("Failed to deserialize SPV proof"); let expected_root = HashValue::from_slice(&expected_root_bytes).expect("Failed to deserialize expected root"); - sphinx_zkvm::precompiles::unconstrained! { + sphinx_zkvm::lib::unconstrained! { println!("cycle-tracker-end: deserialize_inputs"); } diff --git a/kadena/solidity/contracts/lib/forge-std b/kadena/solidity/contracts/lib/forge-std index 1de6eecf..1eea5bae 160000 --- a/kadena/solidity/contracts/lib/forge-std +++ b/kadena/solidity/contracts/lib/forge-std @@ -1 +1 @@ -Subproject commit 1de6eecf821de7fe2c908cc48d3ab3dced20717f +Subproject commit 1eea5bae12ae557d589f9f0f0edae2faa47cb262 diff --git a/kadena/solidity/contracts/lib/openzeppelin-contracts b/kadena/solidity/contracts/lib/openzeppelin-contracts index fe6249ec..3da7a869 160000 --- a/kadena/solidity/contracts/lib/openzeppelin-contracts +++ b/kadena/solidity/contracts/lib/openzeppelin-contracts @@ -1 +1 @@ -Subproject commit fe6249ec2c2dcdbb05e2b6a0d0d3e229f6ffbb37 +Subproject commit 3da7a869aad95a3390e173f59558181329b0871f diff --git a/kadena/solidity/contracts/lib/sphinx-contracts b/kadena/solidity/contracts/lib/sphinx-contracts index f972956e..20d0ee36 160000 --- a/kadena/solidity/contracts/lib/sphinx-contracts +++ b/kadena/solidity/contracts/lib/sphinx-contracts @@ -1 +1 @@ -Subproject commit f972956ef1e79d37268346a770020bf20a740ed9 +Subproject commit 20d0ee36565cf9058f5f3cb2dddaf225c84919c6 diff --git a/kadena/solidity/contracts/src/plonk_fixtures/longest_chain_fixture.json b/kadena/solidity/contracts/src/plonk_fixtures/longest_chain_fixture.json index 5b99bf5a..5ac56953 100644 --- a/kadena/solidity/contracts/src/plonk_fixtures/longest_chain_fixture.json +++ b/kadena/solidity/contracts/src/plonk_fixtures/longest_chain_fixture.json @@ -1,5 +1,5 @@ { - "vkey": "0x00c9f93ac78c984785ef4cd5fac972ac36bc214c0f2d0f887903dd660eb1fc39", + "vkey": "0x00b35a3df67c07d7095db4e5744a9f3f93b6c7526c5b380b1d380b1cf5f5f4a8", "publicValues": "0x596e6483a7e9188e289af6012de83766283712e3ad57bf03dd03000000000000edfa019daa9db11cec1717de7ba62a4da4f4c9c9a4f5d46881621bf13ea0822992c16685d93d6618e4ce9a405f3bba30f5f148bca9103329309eb932e3b68226", - "proof": "0x7f8918df19cc2fd6d8b0f34f1cf5187616886af2084075f730ae56d7310c60592535ed562aade079c03a180bb9dca749b0173449f0923f2e16cc8aa2c19987e77fa74ade03516c8db61315a797e6f68da54aa9379e6896586b86a0cb999fd4520a7e4ff320dc2b6c7d0f937353742a051183cfc11a43cde9ef698285505a80fdcce9a1081f0fff4c352e3ff5979a22659832a6370cc36bb9a64037edd397863cd29fa91224423abdc96217789bde44e03949a71172cfda3fee1195698071fb993ed041ad136f85f6673439731551f8a85cc43a11c577ccac6f8496a7c55c063ea89ae38326d4f368209aedf6f35dd299cc351d4d78878d71cf7648037f5b91bbe9c6a9cd1ad399684c1ac6b309cfc8b2c75139dd3ce0995b1b3ad278a7fce075bd24932f1b91ba055cfb313f261b8993dc7052f1378c4801b12274cb661960ba7f01ffca212e9abc596364e93a49f6840036cb101e0ca6b74a966a3a6c05952c02015fb70305af4a3df0708ab744db86d6d33afde562e74c3fae870f56317e7d2565de4107ffdad0f06eddeabb1fefd01a5a220ad85f1762ee19a47ccb9051a664b648c7080833188d5c6ea51e509922592f5879fcc8c0dccf5bca5a06f34475447d10bd2f7e2ec09892472a1ea9781ada03d7413b4af117217a3bd784a3abe08341b8fa003992262e29feb43f0d219007733dbd244f186f4d8c66681d03da04d3a0514b000b3b2d0fc6c204c665c1081fefc9c476658a453eed5d2bff519ede74ddfea21c38c5699e1791b1fa61507b57afabbac4dd87d5d1e9aa0b49822c1a0e522e7603aa975969925860e81f6cb88d502f6f730477fa95ba9169e64ace3f96e169590e3fe485f1bd7c7dfeb803f7305df2720307b913a7e8b29964ca08022643657110ba49ec504f7a2b9bff763ae688e8ed641f1a39394838333b1bfdb63a624cfa1d54c0df25f49d8c46793576c6afe71de3b6c798462ab935118c8cb5a900bc17202677ac5a06dc7a82a5ba0225d42094f77c3a10584b364c567e4379c503cf2e22739a06212c26cae472d8d5e5ecfb9cd5ed76c2a2487612759766430c02c6ef22742e640445699a7357efaa8a229637bc1b77a29e6ff6871d8c4a283ec94080017ab83314dd670abfb68818c0886262fae68b20f26b7fcaa22d23006a81a509067e41342d9ab02261059c8a5e86d44a141979ad4807d9e980407b8fa4cc6708" + "proof": "0xcabf0c671b6e87b9adf93569e10e7edf4ad61c01fbe34278f76c47df36797ef1692678bd01f6e14212c126fcecbf0ba48474fc1e4273bdc686f10f10e621e51e7a127a170d2e370e4c476602db0a40cdc6873654f0e3b94fcdb225f9e9e26fba02c126a40223edd8f26711c58e60097e8800ea76e345e52ef4fae4c2df51d88c04d4ce95182b6446c56325323d6efa6f34fae2063cdb473f6ada2d4ebe8ac8fb289a6c7a01b85eb2a272b276cf60e1f921434af48352f7f4f2f6fe13c4a9a208bb79ee3e28a0ce24f74522b323af0a968c9b99b761b3500db27509cebd8c74654ae452ce03f6b27e87c573b76461e0d29d940c9356f159cd72dfdce3cb389444dd401a7e27a7cb34a22f247ad5ac8d8f41388a9cadeed90b9eb9dbc68378f5bd16a9db3e2d77502b6959cbca0c96303c44ae2d7a6768133ebb1a0f855304e2c9642cad0b0492812b3555188fda3cb1b5b9551d5aa1d561e69311e73e46a5b91d547787111001de76f77f1e75b458c23f4a2c8abc3d2c133d5f3a615ba2bd703be5cc6b5c2928d7919e7f809c8b51de1a5716db4a0869ca06d14a2f42aa4887b2a0d437ab149448f4337f86f2b8a7ede267adc83d930c60b9bb236818c4dc34c551b8376420eb4ce5c76dc5e11cee12e5829d05916088e33a331d44d674ef3339b453e9ee02b5ecd929123ffac2879e5b9338500e1950e24030a5123175130723ac37cc3601fd8c7e8fead407ee07013d3333eca02fbf0f33693a9aa22664cf787388f5fb16b6f2f304047e424916ecd9e3c48d8198e4eca17a7a81019f891e1af32e6b4e11e85cb1bbbf61e6b5e7bc3fbf172065b7d25e2624097dc03f0c8ecde3b2e14726a96c2a6eb81b9df9575723a3f3fe7a278ec51039a5597295542ca5019f25cb09faae002063ed4f032923fcb8cc7def0e578c1cb031c21bbe65e0c5c1e84597114f68edd1508dbf9daeb1f5a36280593872834b7506bbf2561493c06d63cb5d0f196c36cec1865625ca0e06b7fff2183b9dd12d5c5b30370dc5820f8f57c8ed13c535c65b64a0a73284f5481b8516984870e307da83de2d4c5f33e3483521b716c1d18dec167c879f5a242e32a2d6373b372bef1131d21f90628aed917381a40bfe0158f1a589ba45648dde25d4657a064886284c5b64b05f8a198808473cc3091ef28cad14ffe5f1c8c6d423060baf948408ab64f8f9920bd6fd00a43a655f" } \ No newline at end of file diff --git a/kadena/solidity/contracts/src/plonk_fixtures/spv_fixture.json b/kadena/solidity/contracts/src/plonk_fixtures/spv_fixture.json index f19ddc27..83e75a9d 100644 --- a/kadena/solidity/contracts/src/plonk_fixtures/spv_fixture.json +++ b/kadena/solidity/contracts/src/plonk_fixtures/spv_fixture.json @@ -1,5 +1,5 @@ { - "vkey": "0x008e034af6eda82af08a33ff3748c4085b9c9775d79abf10c6fc524ea17ac04f", + "vkey": "0x0056c9dcde9d2c9465f5f310944248f4fa9b7797158165598f35a80f3d3a8411", "publicValues": "0x596e6483a7e9188e289af6012de83766283712e3ad57bf03dd03000000000000edfa019daa9db11cec1717de7ba62a4da4f4c9c9a4f5d46881621bf13ea0822992c16685d93d6618e4ce9a405f3bba30f5f148bca9103329309eb932e3b68226256348dcc4564a102e6c913bf04b8dc6bc1e8325a8bbc71b49808a49bca7340a", - "proof": "0x7f8918df0e877da99ff8e6551daa1c8bade60db35bfec0d609a91b10094639509bbd7d180cc112bac9879d5f30d8d06a65dfe588a011354ce20f468d9c8a9921e35e59ff232391db8d9fcf0f32d4631223401394d8419aa3b2a6daa7cfd67ab46e7682b10af5fa7e80b7da3d9577817af60e10472517f0d12b9e18b2d357f3a7ce1005500cba6461a0466b2ace27d1cb8678d7c001446a361ac87ab53185751e09eb11dd210fdbc19c6546d95a2660d2893ec3e87762cb8f8ced658dbe5f04d3947c1d7712be126ad8c5e159183b75b531ca3fb3ae156578e0058967eb1ee25f665e0d1803be007d463e7fb7f2315df5b75cef3a57a51819692675fce215b8ffab5d6ded2864626061aa04ad376ff6082b5170ca3e376d9e6fc0df86298e95e5757c3fbd176ebbe9af97fb443327a5cc5a4f135d6e07990fc2fc17084c5ff6487c044b9408b71fafab1a3eb38d21e35d18ecf0921f0eb9a5904c332c2d961441316aac8820379e330f589b9e409ae66e376256058bf4a56df66fb36dcfbb507f51a480591152824ba58cad832eebb003084f1bcc3a88ca9e9c3c19cdf5a3a21aadf5c0292ea0459b269beae5b2d4a358db5a02f31003e8f8728284b20dc9ceec7c2461d007a3de6db80b331977b62222d69de90c555260d20d7ccdd97945506fc1898dca2237fd35245030175bbbbc02e53feb2c724196271bdd61d5fc0b85069dae17a70524e453e50e728d2a147a06e23b35015dff5dc367f28c3403de40c681b82808095ea34f7a5bc82a18969cc69bc133d8067ff5666841eb0fa641599052c4c8230be35e00c883ae87539907137dd92311ff98986081fe77f74b1e5af2de617a210bb87057868264508294b9e98253791418d85b861f731a702c1171df3564986e3056d081b0a802ef32169a1969a53e2345be2724a670249fafa6f498e9f55fa12301ed14c34afab4710c19e7bb258c686feeb5c17460ad06bf3860081b1a3f010123416b4209afe3235395fef820cbccba23307f197338ec69f8ae751309d0bb0d344ad4c97cded78e8bdc6491d6e6cd69c154fd972a7ccf6a78d94e1e720abe2ed0424e0b9f19aeb4752800484cac88788db2061f1a3bf950818503159d9acc17b558f97fe80cd88678e44387039fda9aa541cec035852ec30ebf9f14734c5b256ef0a6c013074cd1edf288a0808ca5894fb23567987ec7cf03dfd4ee12f403" + "proof": "0xcabf0c671d5730a54e60bbc7f52af84a04b8c33fd2425a2a733a42582f71ae33688debe52bb6c10fafc0655e8ce21b3aba50160c66c17ad255be5c014dfdd87469e390920de34f383327d597d53e0c39906f100062d704fb7817576a6900e76c292d2c2513efaf1548e903b0360b25c4c6448c843e150a028aadaab65de5a896f74db2e226bd5d2655b83bb940cf51cda2973b6c8f1b2d2a1b98d4ebf1e7f81ab303ed350b20306191224b4d43b4bc183001479b7ec72e02f677950ccb03e33154733ee8210979350b0aa7f3f330f6fee031af51303e9af56675d3cd813bdea6f789b1222ab07e19a5c501e16ec9dbf29c86f8541582f624a72544c35285a99a5fba3df31f804ea6d9537f6bcfae555e62de535bae9299bfc352e165f05386aa69d7c2c129ca2dfe6f89f16713069ca48315b1ae4a31806afe0cc4511565d900fd75f6211f8984e42b4d8dfd2d1522319968bafe994362afcae92557fba402782c579ac51130be08b4f5317a06c601f29bb1caf4c3b6b77ec0c97beb5080af8d206dd95300bdb27a4fc7f504b32abb73b90e24e4a844bd537046ae70f5ed90bc6eacd2b522b6d9e9702f24f274edd5932029612b0a362222027ac2090409502055f2c05428ff2d9b3277184adf9f789c6f82834687289169784c472ce3370294da1d3da026159fee0c77e9c0c302797bb5d6c6bc86de5eb3b6fc5d796908b6b8031973ef23239c6a328ec512b57c03f47a33902bedb7d8868bd61564c961b3f9e3e8d3c92a8f2079b2d500b08493e674dbb6d53bb1f0053b07c67f70db1575fd0977209f19cc92750e6935f79a8013be581e619fbd732e4774a492992d07661bf1e92d2a137b8913f7b36773cbcd7ddfd35c5c820edacf67201d2b785850b39497f975f41adffa9e081d483a9dac653221d17b7000786b94e33e112c657087f69993e94c159d3534ccaddadbfba41342663c29852823255bce6c097b6fcd2e9086f82b0e07f0c2d1f4e27fbf85be2d30c99750370ccc38aaf339dda4beff3390dd9084d7162e0cd9f9812263290a75bdd495e601b22b176b30f0d4a298f011782c96d21b1ecbfe4e0d96b57cc53a1001bf77cfd5672849d06c50ca0f6d6ce7ef933978ff1ac71cf9184f59536d5025ea6d73939cbf1ec3938848fb128c67d37158628e9830097b1754b55792cbbeb883fb08a0c655a8b54087862370c700e83dafe90c0e" } \ No newline at end of file