diff --git a/.github/workflows/nexus-e2e-integrations-test.yml b/.github/workflows/nexus-e2e-integrations-test.yml index 9493c4db..ce0b1cb2 100644 --- a/.github/workflows/nexus-e2e-integrations-test.yml +++ b/.github/workflows/nexus-e2e-integrations-test.yml @@ -51,7 +51,6 @@ jobs: echo "${HOME}/.risc0/bin" >> $GITHUB_PATH # Need to install for specific version next. ${HOME}/.risc0/bin/rzup install - ${HOME}/.risc0/bin/rzup install cargo-risczero 1.2.0 #TODO: Run a local avail devnet once there is an infinity devnet release. Currently we use a deployment for the tests. - name: Build binaries diff --git a/.github/workflows/nexus-integration-tests.yml.disabled b/.github/workflows/nexus-integration-tests.yml.disabled index 7222a0f1..456c721b 100644 --- a/.github/workflows/nexus-integration-tests.yml.disabled +++ b/.github/workflows/nexus-integration-tests.yml.disabled @@ -26,7 +26,8 @@ jobs: echo "${HOME}/.risc0/bin" >> $GITHUB_PATH # Need to install for specific version next. ${HOME}/.risc0/bin/rzup install - ${HOME}/.risc0/bin/rzup install cargo-risczero 1.2.0 + ${HOME}/.risc0/bin/rzup install cargo-risczero 1.2.5 + ${HOME}/.risc0/bin/rzup install r0vm 1.2.5 - name: Run integration tests run: | diff --git a/Cargo.lock b/Cargo.lock index e15a0536..1f3bd3eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -239,8 +239,8 @@ dependencies = [ "risc0-zkvm", "serde", "serde_json", - "sp1-sdk 4.1.4", - "sp1-zkvm 4.1.4", + "sp1-sdk 4.1.6", + "sp1-zkvm 4.1.6", "tokio", "tokio-stream", "warp", @@ -414,11 +414,11 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.66" +version = "0.1.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8e42c54af787e3521229df1787d7b8300910dc6d9d04d378eb593b26388bd11" +checksum = "28e2652684758b0d9b389d248b209ed9fd9989ef489a550265fe4bb8454fe7eb" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "num_enum 0.7.3", "strum 0.27.1", ] @@ -430,7 +430,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4138dc275554afa6f18c4217262ac9388790b2fc393c2dfe03c51d357abf013" dependencies = [ "alloy-eips 0.9.2", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "alloy-serde 0.9.2", "alloy-trie", @@ -448,7 +448,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69e32ef5c74bbeb1733c37f4ac7f866f8c8af208b7b4265e21af609dcac5bd5e" dependencies = [ "alloy-eips 0.11.1", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "alloy-serde 0.11.1", "alloy-trie", @@ -466,7 +466,7 @@ checksum = "0fa04e1882c31288ce1028fdf31b6ea94cfa9eafa2e497f903ded631c8c6a42c" dependencies = [ "alloy-consensus 0.9.2", "alloy-eips 0.9.2", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "alloy-serde 0.9.2", "serde", @@ -480,7 +480,7 @@ checksum = "0fa13b7b1e1e3fedc42f0728103bfa3b4d566d3d42b606db449504d88dbdbdcf" dependencies = [ "alloy-consensus 0.11.1", "alloy-eips 0.11.1", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "alloy-serde 0.11.1", "serde", @@ -488,27 +488,27 @@ dependencies = [ [[package]] name = "alloy-core" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23ccdb29eedfa1d83f32efbc958d0944e6928e252295dd5eafc516ed57f3a0a" +checksum = "9d8bcce99ad10fe02640cfaec1c6bc809b837c783c1d52906aa5af66e2a196f6" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", - "alloy-sol-types 0.8.24", + "alloy-sol-types 0.8.25", ] [[package]] name = "alloy-dyn-abi" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ada55b5ab26624766bb8c65f72516dee93eaf28d5d87fc18ff4324cd8c2a948d" +checksum = "eb8e762aefd39a397ff485bc86df673465c4ad3ec8819cc60833a8a3ba5cdc87" dependencies = [ "alloy-json-abi", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-sol-type-parser", - "alloy-sol-types 0.8.24", + "alloy-sol-types 0.8.25", "const-hex", "itoa", "serde", @@ -522,7 +522,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "675264c957689f0fd75f5993a73123c2cc3b5c235a38f5b9037fe6c826bfb2c0" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "crc", "thiserror 2.0.12", @@ -534,7 +534,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "serde", ] @@ -545,7 +545,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b15b13d38b366d01e818fe8e710d4d702ef7499eacd44926a06171dd9585d0c" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "k256 0.13.4", "serde", @@ -560,7 +560,7 @@ checksum = "52dd5869ed09e399003e0e0ec6903d981b2a92e74c5d37e6b40890bad2517526" dependencies = [ "alloy-eip2930", "alloy-eip7702", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "alloy-serde 0.9.2", "c-kzg", @@ -581,7 +581,7 @@ dependencies = [ "alloy-eip2124", "alloy-eip2930", "alloy-eip7702", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "alloy-serde 0.11.1", "auto_impl", @@ -599,7 +599,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7d2a7fe5c1a9bd6793829ea21a636f30fc2b3f5d2e7418ba86d96e41dd1f460" dependencies = [ "alloy-eips 0.9.2", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-serde 0.9.2", "alloy-trie", "serde", @@ -607,11 +607,11 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df4054f177d1600f17e2bc152f6a927592641b19861e6005cc51bdf7d4fa27a6" +checksum = "fe6beff64ad0aa6ad1019a3db26fef565aefeb011736150ab73ed3366c3cfd1b" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-sol-type-parser", "serde", "serde_json", @@ -623,8 +623,8 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2008bedb8159a255b46b7c8614516eda06679ea82f620913679afbd8031fea72" dependencies = [ - "alloy-primitives 0.8.24", - "alloy-sol-types 0.8.24", + "alloy-primitives 0.8.25", + "alloy-sol-types 0.8.25", "serde", "serde_json", "thiserror 2.0.12", @@ -637,8 +637,8 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "762414662d793d7aaa36ee3af6928b6be23227df1681ce9c039f6f11daadef64" dependencies = [ - "alloy-primitives 0.8.24", - "alloy-sol-types 0.8.24", + "alloy-primitives 0.8.25", + "alloy-sol-types 0.8.25", "serde", "serde_json", "thiserror 2.0.12", @@ -656,12 +656,12 @@ dependencies = [ "alloy-eips 0.9.2", "alloy-json-rpc 0.9.2", "alloy-network-primitives 0.9.2", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rpc-types-any 0.9.2", "alloy-rpc-types-eth 0.9.2", "alloy-serde 0.9.2", "alloy-signer 0.9.2", - "alloy-sol-types 0.8.24", + "alloy-sol-types 0.8.25", "async-trait", "auto_impl", "futures-utils-wasm", @@ -681,12 +681,12 @@ dependencies = [ "alloy-eips 0.11.1", "alloy-json-rpc 0.11.1", "alloy-network-primitives 0.11.1", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rpc-types-any 0.11.1", "alloy-rpc-types-eth 0.11.1", "alloy-serde 0.11.1", "alloy-signer 0.11.1", - "alloy-sol-types 0.8.24", + "alloy-sol-types 0.8.25", "async-trait", "auto_impl", "futures-utils-wasm", @@ -703,7 +703,7 @@ checksum = "f31c3c6b71340a1d076831823f09cb6e02de01de5c6630a9631bdb36f947ff80" dependencies = [ "alloy-consensus 0.9.2", "alloy-eips 0.9.2", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-serde 0.9.2", "serde", ] @@ -716,7 +716,7 @@ checksum = "3a00ce618ae2f78369918be0c20f620336381502c83b6ed62c2f7b2db27698b0" dependencies = [ "alloy-consensus 0.11.1", "alloy-eips 0.11.1", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-serde 0.11.1", "serde", ] @@ -765,9 +765,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7283185baefbe66136649dc316c9dcc6f0e9f1d635ae19783615919f83bc298a" +checksum = "8c77490fe91a0ce933a1f219029521f20fc28c2c0ca95d53fa4da9c00b8d9d4e" dependencies = [ "alloy-rlp", "bytes", @@ -802,7 +802,7 @@ dependencies = [ "alloy-json-rpc 0.9.2", "alloy-network 0.9.2", "alloy-network-primitives 0.9.2", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rpc-client", "alloy-rpc-types-eth 0.9.2", "alloy-transport", @@ -856,7 +856,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06a292b37e182e514903ede6e623b9de96420e8109ce300da288a96d88b7e4b" dependencies = [ "alloy-json-rpc 0.9.2", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-transport", "alloy-transport-http", "futures", @@ -878,7 +878,7 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9383845dd924939e7ab0298bbfe231505e20928907d7905aa3bf112287305e06" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rpc-types-beacon", "alloy-rpc-types-engine", "alloy-rpc-types-eth 0.9.2", @@ -915,7 +915,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4009405b1d3f5e8c529b8cf353f74e815fd2102549af4172fc721b4b9ea09133" dependencies = [ "alloy-eips 0.9.2", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rpc-types-engine", "ethereum_ssz", "ethereum_ssz_derive", @@ -932,7 +932,7 @@ checksum = "4a5f821f30344862a0b6eb9a1c2eb91dfb2ff44c7489f37152a526cdcab79264" dependencies = [ "alloy-consensus 0.9.2", "alloy-eips 0.9.2", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "alloy-serde 0.9.2", "derive_more 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -952,10 +952,10 @@ dependencies = [ "alloy-consensus-any 0.9.2", "alloy-eips 0.9.2", "alloy-network-primitives 0.9.2", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "alloy-serde 0.9.2", - "alloy-sol-types 0.8.24", + "alloy-sol-types 0.8.25", "itertools 0.13.0", "serde", "serde_json", @@ -972,10 +972,10 @@ dependencies = [ "alloy-consensus-any 0.11.1", "alloy-eips 0.11.1", "alloy-network-primitives 0.11.1", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "alloy-serde 0.11.1", - "alloy-sol-types 0.8.24", + "alloy-sol-types 0.8.25", "itertools 0.14.0", "serde", "serde_json", @@ -988,7 +988,7 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae0465c71d4dced7525f408d84873aeebb71faf807d22d74c4a426430ccd9b55" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "serde", "serde_json", ] @@ -999,7 +999,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8732058f5ca28c1d53d241e8504620b997ef670315d7c8afab856b3e3b80d945" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "serde", "serde_json", ] @@ -1010,7 +1010,7 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bfa395ad5cc952c82358d31e4c68b27bf4a89a5456d9b27e226e77dac50e4ff" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "async-trait", "auto_impl", "elliptic-curve 0.13.8", @@ -1024,7 +1024,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f96b3526fdd779a4bd0f37319cfb4172db52a7ac24cdbb8804b72091c18e1701" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "async-trait", "auto_impl", "either", @@ -1041,7 +1041,7 @@ checksum = "fe8f78cd6b7501c7e813a1eb4a087b72d23af51f5bb66d4e948dc840bdd207d8" dependencies = [ "alloy-consensus 0.11.1", "alloy-network 0.11.1", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-signer 0.11.1", "async-trait", "k256 0.13.4", @@ -1082,12 +1082,12 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f99b007e002f1082b28827cc47d9c72562d412a98c06f29aa438118ff3036c43" +checksum = "e10ae8e9a91d328ae954c22542415303919aabe976fe7a92eb06db1b68fd59f2" dependencies = [ - "alloy-sol-macro-expander 0.8.24", - "alloy-sol-macro-input 0.8.24", + "alloy-sol-macro-expander 0.8.25", + "alloy-sol-macro-input 0.8.25", "proc-macro-error2", "proc-macro2", "quote", @@ -1114,11 +1114,11 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c0a9cb9b1afbcd3325e0fff9fdf98e6d095643fae9e5584e80597f0b79b6d6e" +checksum = "83ad5da86c127751bc607c174d6c9fe9b85ef0889a9ca0c641735d77d4f98f26" dependencies = [ - "alloy-sol-macro-input 0.8.24", + "alloy-sol-macro-input 0.8.25", "const-hex", "heck 0.5.0", "indexmap 2.8.0", @@ -1126,7 +1126,7 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.100", - "syn-solidity 0.8.24", + "syn-solidity 0.8.25", "tiny-keccak", ] @@ -1147,9 +1147,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-input" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "530c4863e707b95f99b37792cdfa94d30004ec552aed41e200a1d9264d44e669" +checksum = "ba3d30f0d3f9ba3b7686f3ff1de9ee312647aac705604417a2f40c604f409a9e" dependencies = [ "const-hex", "dunce", @@ -1158,14 +1158,14 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.100", - "syn-solidity 0.8.24", + "syn-solidity 0.8.25", ] [[package]] name = "alloy-sol-type-parser" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b210dd863afa9da93c488601a1f23bee1e3ce47e15519582320c205645a7a0" +checksum = "6d162f8524adfdfb0e4bd0505c734c985f3e2474eb022af32eef0d52a4f3935c" dependencies = [ "serde", "winnow 0.7.4", @@ -1197,13 +1197,13 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5ff802859e2797d022dc812b5b4ee40d829e0fb446c269a87826c7f0021976" +checksum = "d43d5e60466a440230c07761aa67671d4719d46f43be8ea6e7ed334d8db4a9ab" dependencies = [ "alloy-json-abi", - "alloy-primitives 0.8.24", - "alloy-sol-macro 0.8.24", + "alloy-primitives 0.8.25", + "alloy-sol-macro 0.8.25", "const-hex", "serde", ] @@ -1249,7 +1249,7 @@ version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d95a94854e420f07e962f7807485856cde359ab99ab6413883e15235ad996e8b" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-rlp", "arrayvec 0.7.6", "derive_more 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1338,6 +1338,9 @@ name = "anyhow" version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" +dependencies = [ + "backtrace", +] [[package]] name = "approx" @@ -1377,7 +1380,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-std 0.4.0", ] @@ -1389,7 +1392,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20c7021f180a0cbea0380eba97c2af3c57074cdaffe0eef7e840e1c9f2841e55" dependencies = [ "ark-bls12-377", - "ark-ec", + "ark-ec 0.4.2", "ark-models-ext", "ark-std 0.4.0", ] @@ -1400,7 +1403,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", @@ -1413,7 +1416,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1dc4b3d08f19e8ec06e949712f95b8361e43f1391d94f65e4234df03480631c" dependencies = [ "ark-bls12-381", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-models-ext", "ark-serialize 0.4.2", @@ -1422,13 +1425,14 @@ dependencies = [ [[package]] name = "ark-bn254" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" dependencies = [ - "ark-ec", - "ark-ff 0.4.2", - "ark-std 0.4.0", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-r1cs-std", + "ark-std 0.5.0", ] [[package]] @@ -1438,7 +1442,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e0605daf0cc5aa2034b78d008aaf159f56901d92a52ee4f6ecdfdac4f426700" dependencies = [ "ark-bls12-377", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-std 0.4.0", ] @@ -1450,7 +1454,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccee5fba47266f460067588ee1bf070a9c760bf2050c1c509982c5719aadb4f2" dependencies = [ "ark-bw6-761", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-models-ext", "ark-std 0.4.0", @@ -1458,22 +1462,37 @@ dependencies = [ [[package]] name = "ark-crypto-primitives" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" +checksum = "1e0c292754729c8a190e50414fd1a37093c786c709899f29c9f7daccecfa855e" dependencies = [ - "ark-ec", - "ark-ff 0.4.2", + "ahash 0.8.11", + "ark-crypto-primitives-macros", + "ark-ec 0.5.0", + "ark-ff 0.5.0", "ark-relations", - "ark-serialize 0.4.2", + "ark-serialize 0.5.0", "ark-snark", - "ark-std 0.4.0", + "ark-std 0.5.0", "blake2", "derivative", "digest 0.10.7", + "fnv", + "merlin 3.0.0", "sha2 0.10.8", ] +[[package]] +name = "ark-crypto-primitives-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7e89fe77d1f0f4fe5b96dfc940923d88d17b6a773808124f21e764dfb063c6a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "ark-ec" version = "0.4.2" @@ -1481,7 +1500,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" dependencies = [ "ark-ff 0.4.2", - "ark-poly", + "ark-poly 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", "derivative", @@ -1492,6 +1511,27 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ark-ec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" +dependencies = [ + "ahash 0.8.11", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.2", + "itertools 0.13.0", + "num-bigint 0.4.6", + "num-integer", + "num-traits", + "zeroize", +] + [[package]] name = "ark-ed-on-bls12-377" version = "0.4.0" @@ -1499,7 +1539,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b10d901b9ac4b38f9c32beacedfadcdd64e46f8d7f8e88c1ae1060022cf6f6c6" dependencies = [ "ark-bls12-377", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-std 0.4.0", ] @@ -1510,7 +1550,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "524a4fb7540df2e1a8c2e67a83ba1d1e6c3947f4f9342cc2359fc2e789ad731d" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ed-on-bls12-377", "ark-ff 0.4.2", "ark-models-ext", @@ -1524,7 +1564,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c" dependencies = [ "ark-bls12-381", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-std 0.4.0", ] @@ -1535,7 +1575,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d15185f1acb49a07ff8cbe5f11a1adc5a93b19e211e325d826ae98e98e124346" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ed-on-bls12-381-bandersnatch", "ark-ff 0.4.2", "ark-models-ext", @@ -1580,6 +1620,26 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm 0.5.0", + "ark-ff-macros 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "arrayvec 0.7.6", + "digest 0.10.7", + "educe", + "itertools 0.13.0", + "num-bigint 0.4.6", + "num-traits", + "paste", + "zeroize", +] + [[package]] name = "ark-ff-asm" version = "0.3.0" @@ -1600,6 +1660,16 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.100", +] + [[package]] name = "ark-ff-macros" version = "0.3.0" @@ -1625,19 +1695,32 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "ark-groth16" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" +checksum = "88f1d0f3a534bb54188b8dcc104307db6c56cdae574ddc3212aec0625740fc7e" dependencies = [ "ark-crypto-primitives", - "ark-ec", - "ark-ff 0.4.2", - "ark-poly", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-poly 0.5.0", "ark-relations", - "ark-serialize 0.4.2", - "ark-std 0.4.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", ] [[package]] @@ -1646,7 +1729,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e9eab5d4b5ff2f228b763d38442adc9b084b0a465409b059fac5c2308835ec2" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", @@ -1666,14 +1749,46 @@ dependencies = [ "hashbrown 0.13.2", ] +[[package]] +name = "ark-poly" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" +dependencies = [ + "ahash 0.8.11", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.2", +] + +[[package]] +name = "ark-r1cs-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-relations", + "ark-std 0.5.0", + "educe", + "num-bigint 0.4.6", + "num-integer", + "num-traits", + "tracing", +] + [[package]] name = "ark-relations" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" +checksum = "ec46ddc93e7af44bcab5230937635b06fb5744464dd6a7e7b083e80ebd274384" dependencies = [ - "ark-ff 0.4.2", - "ark-std 0.4.0", + "ark-ff 0.5.0", + "ark-std 0.5.0", "tracing", "tracing-subscriber 0.2.25", ] @@ -1684,7 +1799,7 @@ version = "0.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f69c00b3b529be29528a6f2fd5fa7b1790f8bed81b9cdca17e326538545a179" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", @@ -1697,7 +1812,7 @@ name = "ark-secret-scalar" version = "0.0.2" source = "git+https://github.com/availproject/ring-vrf?tag=locked#b91a9635bacc4fb542296caeef5f801ccf9c1dd1" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", @@ -1723,12 +1838,25 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ - "ark-serialize-derive", + "ark-serialize-derive 0.4.2", "ark-std 0.4.0", "digest 0.10.7", "num-bigint 0.4.6", ] +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-serialize-derive 0.5.0", + "ark-std 0.5.0", + "arrayvec 0.7.6", + "digest 0.10.7", + "num-bigint 0.4.6", +] + [[package]] name = "ark-serialize-derive" version = "0.4.2" @@ -1740,16 +1868,27 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-serialize-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "ark-snark" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" +checksum = "d368e2848c2d4c129ce7679a7d0d2d612b6a274d3ea6a13bad4445d61b381b88" dependencies = [ - "ark-ff 0.4.2", + "ark-ff 0.5.0", "ark-relations", - "ark-serialize 0.4.2", - "ark-std 0.4.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", ] [[package]] @@ -1773,6 +1912,16 @@ dependencies = [ "rayon", ] +[[package]] +name = "ark-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + [[package]] name = "ark-transcript" version = "0.0.2" @@ -1815,6 +1964,12 @@ dependencies = [ "nodrop", ] +[[package]] +name = "arraydeque" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236" + [[package]] name = "arrayref" version = "0.3.9" @@ -2179,6 +2334,15 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "atomic-polyfill" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" +dependencies = [ + "critical-section", +] + [[package]] name = "atomic-take" version = "1.1.0" @@ -2476,7 +2640,7 @@ version = "0.0.4" source = "git+https://github.com/availproject/ring-vrf?tag=locked#b91a9635bacc4fb542296caeef5f801ccf9c1dd1" dependencies = [ "ark-bls12-381", - "ark-ec", + "ark-ec 0.4.2", "ark-ed-on-bls12-381-bandersnatch", "ark-ff 0.4.2", "ark-serialize 0.4.2", @@ -2597,7 +2761,7 @@ dependencies = [ "nexus-core", "primitive-types 0.12.2", "risc0-zkvm", - "sp1-sdk 4.1.4", + "sp1-sdk 4.1.6", "sparse-merkle-tree", "zksync-core", "zksync-methods", @@ -2616,11 +2780,11 @@ dependencies = [ "nexus-core", "prover", "risc0-zkvm", - "risc0-zkvm-platform", + "risc0-zkvm-platform 2.0.1", "rocksdb", "serde", "serde_json", - "sp1-sdk 4.1.4", + "sp1-sdk 4.1.6", "sparse-merkle-tree", "tokio", ] @@ -2888,9 +3052,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17679a8d69b6d7fd9cd9801a536cec9fa5e5970b69f9d4747f70b39b031f5e7" +checksum = "34a796731680be7931955498a16a10b2270c7762963d5d570fdbfe02dcbf314f" dependencies = [ "arrayref", "arrayvec 0.7.6", @@ -2997,9 +3161,9 @@ dependencies = [ [[package]] name = "bonsai-sdk" -version = "1.2.5" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29f5c3a53e931b20e0535a53fbf4de86e164c07c7f329beed25f25280c4dd7d4" +checksum = "0bce8d6acc5286a16e94c29e9c885d1869358885e08a6feeb6bc54e36fe20055" dependencies = [ "duplicate", "maybe-async", @@ -3010,9 +3174,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.6" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b74d67a0fc0af8e9823b79fd1c43a0900e5a8f0e0f4cc9210796bf3a820126" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" dependencies = [ "borsh-derive", "cfg_aliases", @@ -3020,9 +3184,9 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.6" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d37ed1b2c9b78421218a0b4f6d8349132d6ec2cfeba1cfb0118b0a8e268df9e" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" dependencies = [ "once_cell", "proc-macro-crate 3.3.0", @@ -3518,13 +3682,27 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.26", + "serde", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "cbindgen" version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb" dependencies = [ - "clap 4.5.32", + "clap 4.5.34", "heck 0.4.1", "indexmap 2.8.0", "log", @@ -3649,9 +3827,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.32" +version = "4.5.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83" +checksum = "e958897981290da2a852763fe9cdb89cd36977a5d729023127095fa94d95e2ff" dependencies = [ "clap_builder", "clap_derive", @@ -3659,9 +3837,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.32" +version = "4.5.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8" +checksum = "83b0f35019843db2160b5bb19ae09b4e6411ac33fc6a712003c33e03090e2489" dependencies = [ "anstream", "anstyle", @@ -3687,6 +3865,12 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +[[package]] +name = "cobs" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" + [[package]] name = "codespan-reporting" version = "0.12.0" @@ -3828,9 +4012,9 @@ name = "common" version = "0.1.0" source = "git+https://github.com/availproject/ring-proof?tag=locked#6e646ed5e598a1e89130ab63e650c99ab3d6d60e" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", - "ark-poly", + "ark-poly 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", "fflonk", @@ -4171,17 +4355,10 @@ dependencies = [ ] [[package]] -name = "crossbeam" -version = "0.8.4" +name = "critical-section" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-epoch", - "crossbeam-queue", - "crossbeam-utils", -] +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" [[package]] name = "crossbeam-channel" @@ -4728,9 +4905,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.150" +version = "1.0.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1cf22155cf6a8e0b0536efc30c775eadd7a481c376d2d7e30daf0825a42ef9" +checksum = "4b4ab2681454aacfe7ce296ebc6df86791009f237f8020b0c752e8b245ba7c1d" dependencies = [ "cc", "cxxbridge-cmd", @@ -4742,9 +4919,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.150" +version = "1.0.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db4e07e3a69db032f03450594e53785a5d6b1d787c2ad5b901d9347f0064af94" +checksum = "5e431f7ba795550f2b11c32509b3b35927d899f0ad13a1d1e030a317a08facbe" dependencies = [ "cc", "codespan-reporting", @@ -4756,11 +4933,11 @@ dependencies = [ [[package]] name = "cxxbridge-cmd" -version = "1.0.150" +version = "1.0.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e9ff9c627d3abe06190462f7db81fb6cc12f3424ea081c2a8c9ed7a8cc167a" +checksum = "7cbc41933767955d04c2a90151806029b93df5fd8b682ba22a967433347480a9" dependencies = [ - "clap 4.5.32", + "clap 4.5.34", "codespan-reporting", "proc-macro2", "quote", @@ -4769,15 +4946,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.150" +version = "1.0.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e6417f4e1518ded330e088d5a66f50fbae9bbc96840e147058ae44970a2b51a" +checksum = "9133547634329a5b76e5f58d1e53c16d627699bbcd421b9007796311165f9667" [[package]] name = "cxxbridge-macro" -version = "1.0.150" +version = "1.0.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "856ff0dba6e023dd78189c8f4667126842dfe88392b5d4e94118bd18b8f2afbf" +checksum = "53e89d77ad5fd6066a3d42d94de3f72a2f23f95006da808177624429b5183596" dependencies = [ "proc-macro2", "quote", @@ -4807,12 +4984,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", + "darling_core 0.20.11", + "darling_macro 0.20.11", ] [[package]] @@ -4845,9 +5022,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", @@ -4881,11 +5058,11 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core 0.20.10", + "darling_core 0.20.11", "quote", "syn 2.0.100", ] @@ -5114,6 +5291,37 @@ dependencies = [ "syn 2.0.100", ] +[[package]] +name = "derive_builder" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" +dependencies = [ + "darling 0.20.11", + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "derive_builder_macro" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" +dependencies = [ + "derive_builder_core", + "syn 2.0.100", +] + [[package]] name = "derive_more" version = "0.99.19" @@ -5295,7 +5503,7 @@ name = "dleq_vrf" version = "0.0.2" source = "git+https://github.com/availproject/ring-vrf?tag=locked#b91a9635bacc4fb542296caeef5f801ccf9c1dd1" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-scale", "ark-secret-scalar", @@ -5571,6 +5779,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "either" version = "1.15.0" @@ -5633,6 +5853,18 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + [[package]] name = "ena" version = "0.14.3" @@ -5696,6 +5928,26 @@ dependencies = [ "syn 2.0.100", ] +[[package]] +name = "enum-ordinalize" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "enumflags2" version = "0.7.11" @@ -5922,10 +6174,10 @@ name = "ethereum-adapter-host" version = "0.1.0" dependencies = [ "adapter_sdk", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "anyhow", "cargo_metadata 0.18.1", - "clap 4.5.32", + "clap 4.5.34", "derive_more 1.0.0 (git+https://github.com/JelteF/derive_more?tag=v1.0.0)", "dotenv", "env_logger 0.11.7", @@ -5940,7 +6192,7 @@ dependencies = [ "serde", "serde_cbor", "serde_json", - "sp1-sdk 4.1.4", + "sp1-sdk 4.1.6", "tokio", "tracing", "tracing-subscriber 0.3.19", @@ -5951,8 +6203,8 @@ dependencies = [ name = "ethereum-adapter-methods" version = "1.0.0" dependencies = [ - "risc0-build", - "sp1-build 4.1.4", + "risc0-build 2.0.1", + "sp1-build 4.1.6", ] [[package]] @@ -5961,8 +6213,8 @@ version = "1.0.0" dependencies = [ "ethereum-core", "nexus-core", - "sp1-derive 4.1.4", - "sp1-zkvm 4.1.4", + "sp1-derive 4.1.6", + "sp1-zkvm 4.1.6", ] [[package]] @@ -5970,7 +6222,7 @@ name = "ethereum-core" version = "1.0.0" dependencies = [ "adapter_sdk", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "anyhow", "helios-consensus-core", "nexus-core", @@ -6023,7 +6275,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70cbccfccf81d67bff0ab36e591fa536c8a935b078a7b0e58c1d00d418332fc9" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "hex", "serde", "serde_derive", @@ -6036,7 +6288,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86da3096d1304f5f28476ce383005385459afeaf0eea08592b65ddbc9b258d16" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "ethereum_serde_utils", "itertools 0.13.0", "serde", @@ -6051,7 +6303,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d832a5c38eba0e7ad92592f7a22d693954637fbb332b4f669590d66a5c3183e5" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", "syn 2.0.100", @@ -6337,9 +6589,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ "event-listener 5.4.0", "pin-project-lite", @@ -6460,9 +6712,9 @@ name = "fflonk" version = "0.1.0" source = "git+https://github.com/w3f/fflonk?rev=1e854f35e9a65d08b11a86291405cdc95baa0a35#1e854f35e9a65d08b11a86291405cdc95baa0a35" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", - "ark-poly", + "ark-poly 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", "merlin 3.0.0", @@ -6660,9 +6912,9 @@ dependencies = [ [[package]] name = "fragile" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" +checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" @@ -7352,7 +7604,7 @@ dependencies = [ name = "geth-methods" version = "1.0.0" dependencies = [ - "risc0-build", + "risc0-build 2.0.1", ] [[package]] @@ -7674,6 +7926,15 @@ dependencies = [ "crunchy", ] +[[package]] +name = "hash32" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.9.1" @@ -7733,6 +7994,15 @@ dependencies = [ "fxhash", ] +[[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] + [[package]] name = "headers" version = "0.3.9" @@ -7757,6 +8027,20 @@ dependencies = [ "http 0.2.12", ] +[[package]] +name = "heapless" +version = "0.7.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" +dependencies = [ + "atomic-polyfill", + "hash32", + "rustc_version 0.4.1", + "serde", + "spin 0.9.8", + "stable_deref_trait", +] + [[package]] name = "heck" version = "0.3.3" @@ -7999,6 +8283,10 @@ dependencies = [ "kzg", "mockall", "nexus-core", + "opentelemetry", + "opentelemetry-otlp", + "opentelemetry-semantic-conventions 0.25.0", + "opentelemetry_sdk", "prover", "relayer", "reqwest 0.12.15", @@ -8007,7 +8295,7 @@ dependencies = [ "serde", "serde_json", "sp-runtime 33.0.0", - "sp1-sdk 3.4.0", + "sp1-sdk 4.1.6", "tokio", "tracing", "tracing-subscriber 0.3.19", @@ -8254,9 +8542,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" dependencies = [ "bytes", "futures-channel", @@ -8264,6 +8552,7 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "hyper 1.6.0", + "libc", "pin-project-lite", "socket2", "tokio", @@ -8273,9 +8562,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.62" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2fd658b06e56721792c5df4475705b6cda790e9298d19d2f8af083457bcd127" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -8283,7 +8572,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core", + "windows-core 0.61.0", ] [[package]] @@ -8355,9 +8644,9 @@ dependencies = [ [[package]] name = "icu_locid_transform_data" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" +checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" [[package]] name = "icu_normalizer" @@ -8379,9 +8668,9 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" [[package]] name = "icu_properties" @@ -8400,9 +8689,9 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" [[package]] name = "icu_provider" @@ -8542,6 +8831,12 @@ dependencies = [ "syn 2.0.100", ] +[[package]] +name = "include_bytes_aligned" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee796ad498c8d9a1d68e477df8f754ed784ef875de1414ebdaf169f70a6a784" + [[package]] name = "include_dir" version = "0.7.4" @@ -9957,6 +10252,64 @@ dependencies = [ "syn 2.0.100", ] +[[package]] +name = "malachite" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fbdf9cb251732db30a7200ebb6ae5d22fe8e11397364416617d2c2cf0c51cb5" +dependencies = [ + "malachite-base", + "malachite-float", + "malachite-nz", + "malachite-q", +] + +[[package]] +name = "malachite-base" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ea0ed76adf7defc1a92240b5c36d5368cfe9251640dcce5bd2d0b7c1fd87aeb" +dependencies = [ + "hashbrown 0.14.5", + "itertools 0.11.0", + "libm", + "ryu", +] + +[[package]] +name = "malachite-float" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af9d20db1c73759c1377db7b27575df6f2eab7368809dd62c0a715dc1bcc39f7" +dependencies = [ + "itertools 0.11.0", + "malachite-base", + "malachite-nz", + "malachite-q", +] + +[[package]] +name = "malachite-nz" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34a79feebb2bc9aa7762047c8e5495269a367da6b5a90a99882a0aeeac1841f7" +dependencies = [ + "itertools 0.11.0", + "libm", + "malachite-base", +] + +[[package]] +name = "malachite-q" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f235d5747b1256b47620f5640c2a17a88c7569eebdf27cd9cb130e1a619191" +dependencies = [ + "itertools 0.11.0", + "malachite-base", + "malachite-nz", +] + [[package]] name = "malloc_buf" version = "0.0.6" @@ -10114,7 +10467,7 @@ dependencies = [ name = "methods" version = "1.0.0" dependencies = [ - "risc0-build", + "risc0-build 2.0.1", ] [[package]] @@ -10199,7 +10552,7 @@ checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" name = "mock_elf" version = "1.0.0" dependencies = [ - "risc0-build", + "risc0-build 2.0.1", "sp1-build 3.4.0", ] @@ -10208,7 +10561,7 @@ name = "mock_guest_risc0" version = "1.0.0" dependencies = [ "risc0-zkvm", - "risc0-zkvm-platform", + "risc0-zkvm-platform 2.0.1", ] [[package]] @@ -10358,6 +10711,7 @@ dependencies = [ "jmt", "kzg", "mock_elf", + "opentelemetry", "parity-scale-codec", "risc0-zkvm", "rocksdb", @@ -10411,7 +10765,7 @@ dependencies = [ name = "nexus_cli" version = "1.0.0" dependencies = [ - "clap 4.5.32", + "clap 4.5.34", ] [[package]] @@ -10420,7 +10774,7 @@ version = "1.0.0" dependencies = [ "nexus-core", "risc0-zkvm", - "risc0-zkvm-platform", + "risc0-zkvm-platform 2.0.1", ] [[package]] @@ -10429,7 +10783,7 @@ version = "1.0.0" dependencies = [ "nexus-core", "risc0-zkvm", - "sp1-zkvm 4.1.4", + "sp1-zkvm 4.1.6", ] [[package]] @@ -10444,6 +10798,12 @@ dependencies = [ "libc", ] +[[package]] +name = "no_std_strings" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5b0c77c1b780822bc749a33e39aeb2c07584ab93332303babeabb645298a76e" + [[package]] name = "nodrop" version = "0.1.14" @@ -10805,9 +11165,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.21.1" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "opaque-debug" @@ -10977,6 +11337,12 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1cefe0543875379e47eb5f1e68ff83f45cc41366a92dfd0d073d513bf68e9a05" +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b8e442487022a943e2315740e443dc5ee95fd541c18f509a5a6251b408a9f95" + [[package]] name = "opentelemetry_sdk" version = "0.24.1" @@ -11054,12 +11420,12 @@ dependencies = [ [[package]] name = "p3-air" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab448037b7057ffb4212374a8884aa6d74556097a7877fe5eff84693377a854" +checksum = "3b3079235eaa131553ae7ff992317ebeb1d431d238896315672869570ef0c38d" dependencies = [ - "p3-field 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", + "p3-field 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", ] [[package]] @@ -11079,15 +11445,15 @@ dependencies = [ [[package]] name = "p3-baby-bear" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cb78ed180f93f297480787f344d8191893942ad454404b5f5695f8bb7db9caf" +checksum = "49ecc3edc6fb8186268e05031c26a8b2b1e567957d63adcae1026d55d6bb189b" dependencies = [ "num-bigint 0.4.6", - "p3-field 0.2.1-succinct", - "p3-mds 0.2.1-succinct", - "p3-poseidon2 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", + "p3-field 0.2.2-succinct", + "p3-mds 0.2.2-succinct", + "p3-poseidon2 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", "rand 0.8.5", "serde", ] @@ -11119,15 +11485,15 @@ dependencies = [ [[package]] name = "p3-bn254-fr" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffd31ad7999da119ef0012717ddf1aa1fe7583dd4482f40e6cbefc6ad12c0b72" +checksum = "80e3df8d85259448803639657a4aafdf4caad9422f9be6264187f179fa0bc761" dependencies = [ "ff 0.13.1", "num-bigint 0.4.6", - "p3-field 0.2.1-succinct", - "p3-poseidon2 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", + "p3-field 0.2.2-succinct", + "p3-poseidon2 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", "rand 0.8.5", "serde", ] @@ -11148,14 +11514,14 @@ dependencies = [ [[package]] name = "p3-challenger" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a8359a42daf36eb433c82261eaa700301dce529d43d295484d4b3f4ed50ba3" +checksum = "11466fe23e14dd6d61512c8ce5a068de87e3d92954058b05b24ae12b7824a960" dependencies = [ - "p3-field 0.2.1-succinct", - "p3-maybe-rayon 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-field 0.2.2-succinct", + "p3-maybe-rayon 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", + "p3-util 0.2.2-succinct", "serde", "tracing", ] @@ -11177,15 +11543,15 @@ dependencies = [ [[package]] name = "p3-commit" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df5925a1fbc61a51307a3a517ae84dbffbcc2b6f662dc565a7c5c8804f997155" +checksum = "30877bdc426bfa5ebb0033dbc45ba1b083dfeb0db7ad7628c72a5be7562324ce" dependencies = [ "itertools 0.12.1", - "p3-challenger 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-challenger 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-util 0.2.2-succinct", "serde", ] @@ -11204,14 +11570,14 @@ dependencies = [ [[package]] name = "p3-dft" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0790c522c282efcce3a2fcee4bc3f08f85554c3186af6ae2b80609af85e7c4b" +checksum = "eece7b035978976138622b116fefe6c4cc372b1ce70739c40e7a351a9bb68f1f" dependencies = [ - "p3-field 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-maybe-rayon 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-field 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-maybe-rayon 0.2.2-succinct", + "p3-util 0.2.2-succinct", "tracing", ] @@ -11231,14 +11597,14 @@ dependencies = [ [[package]] name = "p3-field" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0042a53ff45c6fbd48e7809ae9da442a72619fe5199a7608ae0176848f59e0" +checksum = "b6f0edf3fde4fd0d1455e901fc871c558010ae18db6e68f1b0fa111391855316" dependencies = [ "itertools 0.12.1", "num-bigint 0.4.6", "num-traits", - "p3-util 0.2.1-succinct", + "p3-util 0.2.2-succinct", "rand 0.8.5", "serde", ] @@ -11264,19 +11630,19 @@ dependencies = [ [[package]] name = "p3-fri" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dde25430d4c3921cbf4499f8417bcada27d903c3ec25241d6f2473a0b7a2eca" +checksum = "07df36a633712e2a73387674a7e1922f3e58bc28b4e55359b2d3749e146f8faa" dependencies = [ "itertools 0.12.1", - "p3-challenger 0.2.1-succinct", - "p3-commit 0.2.1-succinct", - "p3-dft 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-interpolation 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-maybe-rayon 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-challenger 0.2.2-succinct", + "p3-commit 0.2.2-succinct", + "p3-dft 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-interpolation 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-maybe-rayon 0.2.2-succinct", + "p3-util 0.2.2-succinct", "serde", "tracing", ] @@ -11294,13 +11660,13 @@ dependencies = [ [[package]] name = "p3-interpolation" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be797f9352afcf6cf738956df4e0292db9579368ddda250d2ffeb9f284131a53" +checksum = "a09b01809167d6e39e8a34779eb2d5fca50d0ff7b2d13661953b46dc74bf1619" dependencies = [ - "p3-field 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-field 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-util 0.2.2-succinct", ] [[package]] @@ -11319,15 +11685,15 @@ dependencies = [ [[package]] name = "p3-keccak-air" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6508a946c4aa5f3103da5e3089b9178e13d300f809097fc88dbbd3221eb0052c" +checksum = "d9f6bacf49ba7c1d9c436994ace80a96c3532462c655e4339919d5b397035e56" dependencies = [ - "p3-air 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-maybe-rayon 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-air 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-maybe-rayon 0.2.2-succinct", + "p3-util 0.2.2-succinct", "tracing", ] @@ -11348,14 +11714,14 @@ dependencies = [ [[package]] name = "p3-matrix" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1534966235a3f1d18060c3c30f19dde660ce3a6b5b3971aa7167f606c5e28216" +checksum = "60961b4d7ffd2e8412ce4e66e213de610356df71cc4e396519c856a664138a27" dependencies = [ "itertools 0.12.1", - "p3-field 0.2.1-succinct", - "p3-maybe-rayon 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-field 0.2.2-succinct", + "p3-maybe-rayon 0.2.2-succinct", + "p3-util 0.2.2-succinct", "rand 0.8.5", "serde", "tracing", @@ -11372,9 +11738,9 @@ dependencies = [ [[package]] name = "p3-maybe-rayon" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f1c9f082bdcc02ca518889a6de856c1e2457c5aece70a480b8903f499c23021" +checksum = "7bbe762738c382c9483410f52348ab9de41bb42c391e8171643a71486cf1ef8f" dependencies = [ "rayon", ] @@ -11396,16 +11762,16 @@ dependencies = [ [[package]] name = "p3-mds" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e6eb5891c3f395a761a6451386aba4549ec4cd2a2dd0ed66fd86edbdbdfd22" +checksum = "4127956cc6c783b7d021c5c42d5d89456d5f3bda4a7b165fcc2a3fd4e78fbede" dependencies = [ "itertools 0.12.1", - "p3-dft 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-dft 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", + "p3-util 0.2.2-succinct", "rand 0.8.5", ] @@ -11428,17 +11794,17 @@ dependencies = [ [[package]] name = "p3-merkle-tree" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b7f4296de3f4164c402d3ee9b82da175338f3f5292c541c72e04e90e631c5a" +checksum = "74f7eff1ddec74ee4178b40b2b4630f4bf5a02abf2d9619c8c4f8295e59d02a1" dependencies = [ "itertools 0.12.1", - "p3-commit 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-maybe-rayon 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-commit 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-maybe-rayon 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", + "p3-util 0.2.2-succinct", "serde", "tracing", ] @@ -11459,14 +11825,14 @@ dependencies = [ [[package]] name = "p3-poseidon2" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a24abe96fff52632152b167b95a0f0ab0805502d98f858dbac792aeabf24fa39" +checksum = "be09497da406a98e89dc05c1ce539eeef29541bad61a5b2108a44ffe94dd0b4c" dependencies = [ "gcd", - "p3-field 0.2.1-succinct", - "p3-mds 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", + "p3-field 0.2.2-succinct", + "p3-mds 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", "rand 0.8.5", "serde", ] @@ -11484,12 +11850,12 @@ dependencies = [ [[package]] name = "p3-symmetric" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b479c0a51ba4cd432c77a8e7bedbacf94426ba6ee2639578d589d8f724f25589" +checksum = "6e7d954033f657d48490344ca4b3dbcc054962a0e92831b736666bb2f5e5820b" dependencies = [ "itertools 0.12.1", - "p3-field 0.2.1-succinct", + "p3-field 0.2.2-succinct", "serde", ] @@ -11514,19 +11880,19 @@ dependencies = [ [[package]] name = "p3-uni-stark" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1314f815516e2c87e78b5167ec568e66fc9fba368a80a0bf8df195f9992d1f7" +checksum = "064b3923492d182e768dff8a19a36d7742b0166dbff75455fdc99187d3115dd3" dependencies = [ "itertools 0.12.1", - "p3-air 0.2.1-succinct", - "p3-challenger 0.2.1-succinct", - "p3-commit 0.2.1-succinct", - "p3-dft 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-maybe-rayon 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-air 0.2.2-succinct", + "p3-challenger 0.2.2-succinct", + "p3-commit 0.2.2-succinct", + "p3-dft 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-maybe-rayon 0.2.2-succinct", + "p3-util 0.2.2-succinct", "serde", "tracing", ] @@ -11542,9 +11908,9 @@ dependencies = [ [[package]] name = "p3-util" -version = "0.2.1-succinct" +version = "0.2.2-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c93e679f867938dbfa5b40361e8642fd21986a7273eeb4cad2bad1b8a3a3d03b" +checksum = "4a6ce0b6bee23fd54e05306f6752ae80b0b71a91166553ab39d7899801497237" dependencies = [ "serde", ] @@ -14670,9 +15036,9 @@ version = "0.0.1" source = "git+https://github.com/availproject/poly-multiproof?branch=toufeeq%2Fblst-0.3.11#e17285c264d7acd6faea0da5950677e8beebe14e" dependencies = [ "ark-bls12-381", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", - "ark-poly", + "ark-poly 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", "blst", @@ -14717,6 +15083,19 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "postcard" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8" +dependencies = [ + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "heapless", + "serde", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -15086,8 +15465,8 @@ dependencies = [ name = "prover" version = "1.0.0" dependencies = [ - "risc0-build", - "sp1-build 4.1.4", + "risc0-build 2.0.1", + "sp1-build 4.1.6", ] [[package]] @@ -15661,7 +16040,7 @@ checksum = "f0f987564210317706def498421dfba2ae1af64a8edce82c6102758b48133fcb" dependencies = [ "alloy-eip2930", "alloy-eip7702", - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "auto_impl", "bitflags 2.9.0", "bitvec 1.0.1", @@ -15699,9 +16078,9 @@ name = "ring" version = "0.1.0" source = "git+https://github.com/availproject/ring-proof?tag=locked#6e646ed5e598a1e89130ab63e650c99ab3d6d60e" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", - "ark-poly", + "ark-poly 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", "ark-transcript 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -15740,6 +16119,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "ringbuffer" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df6368f71f205ff9c33c076d170dd56ebf68e8161c733c0caa07a7a5509ed53" + [[package]] name = "ripemd" version = "0.1.3" @@ -15751,43 +16136,88 @@ dependencies = [ [[package]] name = "risc0-binfmt" -version = "1.2.5" +version = "1.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9d893807e609dd44942644aef5137ad87d178a032c5932b0c68cdec538c3370" +checksum = "05c37f3babf129daf199c4368030f3592365654b827eaf758d525b2e08f07765" dependencies = [ "anyhow", "borsh", "elf", - "risc0-zkp", - "risc0-zkvm-platform", + "risc0-zkp 1.2.6", + "risc0-zkvm-platform 1.2.6", + "serde", + "tracing", +] + +[[package]] +name = "risc0-binfmt" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f147f96a8a3058e699a5d39fc7e59d982f633751543ff4437cc0fb21f40b2e0" +dependencies = [ + "anyhow", + "borsh", + "derive_more 2.0.1", + "elf", + "lazy_static", + "postcard", + "risc0-zkp 2.0.0", + "risc0-zkvm-platform 2.0.1", + "semver 1.0.26", "serde", "tracing", ] [[package]] name = "risc0-build" -version = "1.2.5" +version = "1.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98bcfd51f182f7e94209249ca3a0c64df0ab0dbfe151bd5fcbe2b708c4f9f17f" +checksum = "0811a16d45e5b4f102c7095fe43ec63afe8c76d85ae799522d0b9f247975aa61" dependencies = [ "anyhow", "cargo_metadata 0.18.1", "dirs", "docker-generate", "hex", - "risc0-binfmt", - "risc0-zkp", - "risc0-zkvm-platform", + "regex", + "risc0-binfmt 1.2.6", + "risc0-zkp 1.2.6", + "risc0-zkvm-platform 1.2.6", + "semver 1.0.26", "serde", "serde_json", "tempfile", ] +[[package]] +name = "risc0-build" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8f4a3e21f17465e618cd3ed755b121627f2c188d1416be1cec2757cffe1adf8" +dependencies = [ + "anyhow", + "cargo_metadata 0.19.2", + "derive_builder", + "dirs", + "docker-generate", + "hex", + "risc0-binfmt 2.0.0", + "risc0-zkos-v1compat", + "risc0-zkp 2.0.0", + "risc0-zkvm-platform 2.0.1", + "rzup", + "semver 1.0.26", + "serde", + "serde_json", + "stability", + "tempfile", +] + [[package]] name = "risc0-build-kernel" -version = "1.2.5" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be0b201426fa79c1517ea919f6f37091489748c6b11b984ab3e6e452b9c5a6a" +checksum = "2cc3029ee7a4103aa176346f85431f1aa5193ea4025844417fcf1591f66299d4" dependencies = [ "cc", "directories", @@ -15800,9 +16230,9 @@ dependencies = [ [[package]] name = "risc0-circuit-keccak" -version = "1.2.5" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d1d4f248ccf111a9d58a6cd9ae5bfb4c3830e100e75874c39622a2952ef5a9" +checksum = "d400df98740acb35306194f8979ca45c2a6b63b8f8686198d99ce126c335d64a" dependencies = [ "anyhow", "bytemuck", @@ -15810,37 +16240,37 @@ dependencies = [ "keccak", "paste", "rayon", - "risc0-binfmt", + "risc0-binfmt 2.0.0", "risc0-circuit-keccak-sys", "risc0-circuit-recursion", - "risc0-core", + "risc0-core 2.0.0", "risc0-sys", - "risc0-zkp", + "risc0-zkp 2.0.0", "tracing", "xz2", ] [[package]] name = "risc0-circuit-keccak-sys" -version = "1.2.5" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d9256fd78de19c09bb2131ab86a02b841e1569f2e4d474c3ae3928ce273283" +checksum = "c1e65d67e9280cd8cdbda728f60730b2ed9cb89ffeceea7c7e87e8ab67f1fcbe" dependencies = [ "cc", "cust", - "derive_more 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "derive_more 2.0.1", "glob", "risc0-build-kernel", - "risc0-core", + "risc0-core 2.0.0", "risc0-sys", "sppark", ] [[package]] name = "risc0-circuit-recursion" -version = "1.2.5" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5ab005ed38c1119c0511b9260cd18d95adbb226ad849eccfdb650eebecd769c" +checksum = "14fa62cd0d2a33cb1c8e6b4bcba54a615f6def8d43324922f67c1a9ef6c410e3" dependencies = [ "anyhow", "bytemuck", @@ -15853,9 +16283,9 @@ dependencies = [ "rand 0.8.5", "rayon", "risc0-circuit-recursion-sys", - "risc0-core", + "risc0-core 2.0.0", "risc0-sys", - "risc0-zkp", + "risc0-zkp 2.0.0", "serde", "sha2 0.10.8", "tracing", @@ -15864,71 +16294,83 @@ dependencies = [ [[package]] name = "risc0-circuit-recursion-sys" -version = "1.2.5" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "202ceb200e1248534e808ffc00e5f302c2fe68d5ade99231d61fbb65b7945214" +checksum = "8c906975448dd9359d4b28b7e067868a769177950ba27c86949239770d6541bc" dependencies = [ "glob", "risc0-build-kernel", - "risc0-core", + "risc0-core 2.0.0", "risc0-sys", "sppark", ] [[package]] name = "risc0-circuit-rv32im" -version = "1.2.5" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d64420292f716e468cba1e17eb56146a525d612d967ee09566eda80b423a54a" +checksum = "2e543671f49a94fb87cf7a75441def1ace5ee827190f0be233154e8aef4e8003" dependencies = [ "anyhow", "auto_ops", + "bit-vec 0.8.0", "bytemuck", "byteorder", "cfg-if", - "crossbeam", - "crypto-bigint 0.5.5", - "cust", - "derive_more 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "derive_more 2.0.1", "enum-map", - "lazy-regex", - "metal", - "num-bigint 0.4.6", + "malachite", "num-derive 0.4.2", "num-traits", + "paste", + "postcard", "rand 0.8.5", "rayon", - "risc0-binfmt", + "ringbuffer", + "risc0-binfmt 2.0.0", "risc0-circuit-rv32im-sys", - "risc0-core", + "risc0-core 2.0.0", "risc0-sys", - "risc0-zkp", - "risc0-zkvm-platform", + "risc0-zkp 2.0.0", "serde", - "sha2 0.10.8", + "smallvec 1.14.0", "tracing", ] [[package]] name = "risc0-circuit-rv32im-sys" -version = "1.2.5" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d161d7a468272e803655856a11d379e5754d347fd01146b079aaaa8b4536c0c6" +checksum = "c3904bb2fb2d26f96dd8dea5c5fcd7b86efd7e6f3e6dc56ef33e3e7fee51c4de" dependencies = [ + "cc", + "cust", + "derive_more 2.0.1", "glob", "risc0-build-kernel", - "risc0-core", + "risc0-core 2.0.0", "risc0-sys", "sppark", ] [[package]] name = "risc0-core" -version = "1.2.5" +version = "1.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2be3e5c922ccf8a61adc3ebfbf9aadc168dec765c8bc5bf7cb28d9c46bfa5b9b" +dependencies = [ + "bytemuck", + "rand_core 0.6.4", +] + +[[package]] +name = "risc0-core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2492abd92da4eb2a6e5e9e74757d00b1c29c03bb867266c85752cb22a03a920" +checksum = "317bbf70a8750b64d4fd7a2bdc9d7d5f30d8bb305cae486962c797ef35c8d08e" dependencies = [ "bytemuck", + "bytemuck_derive", "nvtx", "puffin", "rand_core 0.6.4", @@ -15936,22 +16378,22 @@ dependencies = [ [[package]] name = "risc0-groth16" -version = "1.2.5" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0017c18151e017a154f4b4bbeec2a0656a3a7822fab3cd0dc1a15e2654dde4fe" +checksum = "d3090293edf52c603dd3021588cf42c231501ae51c88086f7b732ac48c6684d6" dependencies = [ "anyhow", "ark-bn254", - "ark-ec", + "ark-ec 0.5.0", "ark-groth16", - "ark-serialize 0.4.2", + "ark-serialize 0.5.0", "bytemuck", "hex", "num-bigint 0.4.6", "num-traits", - "risc0-binfmt", - "risc0-core", - "risc0-zkp", + "risc0-binfmt 2.0.0", + "risc0-core 2.0.0", + "risc0-zkp 2.0.0", "serde", "serde_json", "stability", @@ -15961,9 +16403,9 @@ dependencies = [ [[package]] name = "risc0-sys" -version = "1.2.5" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3ea764e96dd881a9e568deae0ad4cf0a603f0d685a622ed5f1b1afed8d62d30" +checksum = "11abd6064c039f24b58676419cd13c92cbf4858e66948dd55b188b03511db44c" dependencies = [ "anyhow", "cust", @@ -15971,11 +16413,45 @@ dependencies = [ "sppark", ] +[[package]] +name = "risc0-zkos-v1compat" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa44e7cc6642e621c6f3eea56f57a765f8e599bf327f4d0f74921693234a5d62" +dependencies = [ + "include_bytes_aligned", + "no_std_strings", +] + [[package]] name = "risc0-zkp" -version = "1.2.5" +version = "1.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8a6e3c078d7a7d27eda9383db8d080f7200ac4e5e65c1971d454a0286c00cae" +checksum = "373d06becf7bd3a8e46af6f8cb81509aa363cdddb1ec67a588ac69ad9f968127" +dependencies = [ + "anyhow", + "blake2", + "borsh", + "bytemuck", + "cfg-if", + "digest 0.10.7", + "hex", + "hex-literal 0.4.1", + "metal", + "paste", + "rand_core 0.6.4", + "risc0-core 1.2.6", + "risc0-zkvm-platform 1.2.6", + "serde", + "sha2 0.10.8", + "tracing", +] + +[[package]] +name = "risc0-zkp" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "023ed128cab28e4078330fffb65e9d079b3198958e3de6835f70c7ff285afeb4" dependencies = [ "anyhow", "blake2", @@ -15994,19 +16470,20 @@ dependencies = [ "rand 0.8.5", "rand_core 0.6.4", "rayon", - "risc0-core", + "risc0-core 2.0.0", "risc0-sys", - "risc0-zkvm-platform", + "risc0-zkvm-platform 2.0.1", "serde", "sha2 0.10.8", + "stability", "tracing", ] [[package]] name = "risc0-zkvm" -version = "1.2.5" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fd97c60815994da62fa000dec9470c0d0e3045a554354e279695f2213b0182f" +checksum = "da62ed54fa6cfd16b93b79ca48f2d58f6ee818a630f5132e61a43003b65478a1" dependencies = [ "addr2line 0.22.0", "anyhow", @@ -16015,6 +16492,7 @@ dependencies = [ "borsh", "bytemuck", "bytes", + "derive_more 2.0.1", "elf", "enum-map", "getrandom 0.2.15", @@ -16026,17 +16504,19 @@ dependencies = [ "prost 0.13.5", "rand 0.8.5", "rayon", - "risc0-binfmt", - "risc0-build", + "risc0-binfmt 2.0.0", + "risc0-build 2.0.1", "risc0-circuit-keccak", "risc0-circuit-recursion", "risc0-circuit-rv32im", - "risc0-core", + "risc0-core 2.0.0", "risc0-groth16", - "risc0-zkp", - "risc0-zkvm-platform", + "risc0-zkos-v1compat", + "risc0-zkp 2.0.0", + "risc0-zkvm-platform 2.0.1", "rrs-lib", "rustc-demangle", + "rzup", "semver 1.0.26", "serde", "sha2 0.10.8", @@ -16048,9 +16528,19 @@ dependencies = [ [[package]] name = "risc0-zkvm-platform" -version = "1.2.5" +version = "1.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8187245809fe15d389dcdc1ca09ed5f5a1227b15e2fd48860c808aaf02e6996f" +dependencies = [ + "cfg-if", + "stability", +] + +[[package]] +name = "risc0-zkvm-platform" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778e0235c87d8e18f13da5c71bfe69b1beb7c08694c75d19eae9dbed09a59c57" +checksum = "fed76ab12e5af4c93a3996e0609696cfdd0caebe8746af171ef583fa6e4af134" dependencies = [ "bytemuck", "cfg-if", @@ -16131,9 +16621,9 @@ dependencies = [ [[package]] name = "ruint" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "825df406ec217a8116bd7b06897c6cc8f65ffefc15d030ae2c9540acc9ed50b6" +checksum = "78a46eb779843b2c4f21fac5773e25d6d5b7c8f0922876c91541790d2ca27eef" dependencies = [ "alloy-rlp", "ark-ff 0.3.0", @@ -16148,6 +16638,7 @@ dependencies = [ "primitive-types 0.12.2", "proptest", "rand 0.8.5", + "rand 0.9.0", "rlp", "ruint-macro", "serde", @@ -16309,7 +16800,7 @@ dependencies = [ "once_cell", "ring 0.17.14", "rustls-pki-types", - "rustls-webpki 0.103.0", + "rustls-webpki 0.103.1", "subtle", "zeroize", ] @@ -16379,7 +16870,7 @@ dependencies = [ "rustls 0.23.25", "rustls-native-certs 0.8.1", "rustls-platform-verifier-android", - "rustls-webpki 0.103.0", + "rustls-webpki 0.103.1", "security-framework 3.2.0", "security-framework-sys", "webpki-root-certs", @@ -16404,9 +16895,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.0" +version = "0.103.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" +checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" dependencies = [ "ring 0.17.14", "rustls-pki-types", @@ -16448,6 +16939,21 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +[[package]] +name = "rzup" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "400558bf12d4292a7804093b60a437ba8b0219ea7d53716b2c010a0d31e5f4a8" +dependencies = [ + "semver 1.0.26", + "serde", + "strum 0.26.3", + "tempfile", + "thiserror 2.0.12", + "toml 0.8.20", + "yaml-rust2", +] + [[package]] name = "safe-mix" version = "1.0.1" @@ -16637,7 +17143,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f4b54a1211260718b92832b661025d1f1a4b6930fbadd6908e00edd265fa5f7" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", "syn 2.0.100", @@ -16692,7 +17198,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78a3993a13b4eafa89350604672c8757b7ea84c7c5947d4b3691e3169c96379b" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro-crate 3.3.0", "proc-macro2", "quote", @@ -17426,7 +17932,7 @@ version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", "syn 2.0.100", @@ -18164,9 +18670,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" dependencies = [ "libc", "windows-sys 0.52.0", @@ -18794,7 +19300,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98c6ffcea6794d338514cf9bd84446d2f276cb63" +source = "git+https://github.com/paritytech/polkadot-sdk#c6249dca5928c12c35c577b971277d4211c928b7" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -18802,7 +19308,7 @@ dependencies = [ "ark-bls12-381-ext", "ark-bw6-761", "ark-bw6-761-ext", - "ark-ec", + "ark-ec 0.4.2", "ark-ed-on-bls12-377", "ark-ed-on-bls12-377-ext", "ark-ed-on-bls12-381-bandersnatch", @@ -18823,7 +19329,7 @@ dependencies = [ "ark-bls12-381-ext", "ark-bw6-761", "ark-bw6-761-ext", - "ark-ec", + "ark-ec 0.4.2", "ark-ed-on-bls12-377", "ark-ed-on-bls12-377-ext", "ark-ed-on-bls12-381-bandersnatch", @@ -18914,7 +19420,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98c6ffcea6794d338514cf9bd84446d2f276cb63" +source = "git+https://github.com/paritytech/polkadot-sdk#c6249dca5928c12c35c577b971277d4211c928b7" dependencies = [ "proc-macro2", "quote", @@ -18946,7 +19452,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98c6ffcea6794d338514cf9bd84446d2f276cb63" +source = "git+https://github.com/paritytech/polkadot-sdk#c6249dca5928c12c35c577b971277d4211c928b7" dependencies = [ "environmental", "parity-scale-codec", @@ -19469,7 +19975,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98c6ffcea6794d338514cf9bd84446d2f276cb63" +source = "git+https://github.com/paritytech/polkadot-sdk#c6249dca5928c12c35c577b971277d4211c928b7" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -19553,7 +20059,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98c6ffcea6794d338514cf9bd84446d2f276cb63" +source = "git+https://github.com/paritytech/polkadot-sdk#c6249dca5928c12c35c577b971277d4211c928b7" dependencies = [ "Inflector", "expander", @@ -19777,7 +20283,7 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?rev=5237e012d7d97 [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98c6ffcea6794d338514cf9bd84446d2f276cb63" +source = "git+https://github.com/paritytech/polkadot-sdk#c6249dca5928c12c35c577b971277d4211c928b7" [[package]] name = "sp-storage" @@ -19808,7 +20314,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98c6ffcea6794d338514cf9bd84446d2f276cb63" +source = "git+https://github.com/paritytech/polkadot-sdk#c6249dca5928c12c35c577b971277d4211c928b7" dependencies = [ "impl-serde 0.5.0", "parity-scale-codec", @@ -19897,7 +20403,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98c6ffcea6794d338514cf9bd84446d2f276cb63" +source = "git+https://github.com/paritytech/polkadot-sdk#c6249dca5928c12c35c577b971277d4211c928b7" dependencies = [ "parity-scale-codec", "tracing", @@ -20167,7 +20673,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#98c6ffcea6794d338514cf9bd84446d2f276cb63" +source = "git+https://github.com/paritytech/polkadot-sdk#c6249dca5928c12c35c577b971277d4211c928b7" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -20258,20 +20764,20 @@ dependencies = [ "anyhow", "cargo_metadata 0.18.1", "chrono", - "clap 4.5.32", + "clap 4.5.34", "dirs", ] [[package]] name = "sp1-build" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481ef879fdd5337a3c5181b445a4b63da920e9491ce9e85a25372620a9ef6bb" +checksum = "44021cb464833bc15882933d79da1ea45013b12d97f1c0d874ee46cc00de5aaf" dependencies = [ "anyhow", "cargo_metadata 0.18.1", "chrono", - "clap 4.5.32", + "clap 4.5.34", "dirs", ] @@ -20311,13 +20817,13 @@ dependencies = [ [[package]] name = "sp1-core-executor" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6f87ff0a7844ebfcdf4c1c8fc5b4358f7dbd794c0af01c1ae77d371226a9f24" +checksum = "e10afc7d810ddf67b1a7f73630b2d3b475d5ee82b6db3d6e1d522b2b5c3776d4" dependencies = [ "bincode", "bytemuck", - "clap 4.5.32", + "clap 4.5.34", "elf", "enum-map", "eyre", @@ -20326,18 +20832,18 @@ dependencies = [ "itertools 0.13.0", "nohash-hasher", "num", - "p3-baby-bear 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-maybe-rayon 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-baby-bear 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-maybe-rayon 0.2.2-succinct", + "p3-util 0.2.2-succinct", "rand 0.8.5", "range-set-blaze", "rrs-succinct", "serde", "serde_json", - "sp1-curves 4.1.4", - "sp1-primitives 4.1.4", - "sp1-stark 4.1.4", + "sp1-curves 4.1.6", + "sp1-primitives 4.1.6", + "sp1-stark 4.1.6", "strum 0.26.3", "strum_macros 0.26.4", "subenum", @@ -20398,9 +20904,9 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08275d67c457832cfdff80e61a6982e267e04f117d248eb6f0ac8e4e0fb981d6" +checksum = "36b54ed5c0f799c7a97d52adf5a01f7cc71e0019fc3cd5ce559c5dc095233ab4" dependencies = [ "bincode", "cbindgen", @@ -20416,17 +20922,17 @@ dependencies = [ "num", "num_cpus", "p256", - "p3-air 0.2.1-succinct", - "p3-baby-bear 0.2.1-succinct", - "p3-challenger 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-keccak-air 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-maybe-rayon 0.2.1-succinct", - "p3-poseidon2 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", - "p3-uni-stark 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-air 0.2.2-succinct", + "p3-baby-bear 0.2.2-succinct", + "p3-challenger 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-keccak-air 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-maybe-rayon 0.2.2-succinct", + "p3-poseidon2 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", + "p3-uni-stark 0.2.2-succinct", + "p3-util 0.2.2-succinct", "pathdiff", "rand 0.8.5", "rayon", @@ -20435,11 +20941,11 @@ dependencies = [ "serde_json", "size", "snowbridge-amcl", - "sp1-core-executor 4.1.4", - "sp1-curves 4.1.4", - "sp1-derive 4.1.4", - "sp1-primitives 4.1.4", - "sp1-stark 4.1.4", + "sp1-core-executor 4.1.6", + "sp1-curves 4.1.6", + "sp1-derive 4.1.6", + "sp1-primitives 4.1.6", + "sp1-stark 4.1.6", "static_assertions", "strum 0.26.3", "strum_macros 0.26.4", @@ -20454,16 +20960,16 @@ dependencies = [ [[package]] name = "sp1-cuda" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bc32254578ff9da654517fdf9681bd04f62ab5231f8ad631dc30dd42adb955" +checksum = "70e308eaa531e29325429647de47a115e973752ac39baa0b1561620f9cc92140" dependencies = [ "bincode", "ctrlc", "prost 0.13.5", "serde", - "sp1-core-machine 4.1.4", - "sp1-prover 4.1.4", + "sp1-core-machine 4.1.6", + "sp1-prover 4.1.6", "tokio", "tracing", "twirp-rs", @@ -20492,9 +20998,9 @@ dependencies = [ [[package]] name = "sp1-curves" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356b371c76fa5c14f860aa2714242fdcffc88bed7fae8f8f890f12949bb2aeab" +checksum = "12c63db52b39beb4852428bdd259fda6ceef4f532df1e6ec35a9a5b50651db65" dependencies = [ "cfg-if", "dashu", @@ -20504,11 +21010,11 @@ dependencies = [ "k256 0.13.4", "num", "p256", - "p3-field 0.2.1-succinct", + "p3-field 0.2.2-succinct", "serde", "snowbridge-amcl", - "sp1-primitives 4.1.4", - "sp1-stark 4.1.4", + "sp1-primitives 4.1.6", + "sp1-stark 4.1.6", "typenum", ] @@ -20524,9 +21030,9 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf58192d37ca0568d2b166b9ef1212eea8b83b8776d09bc116cc975168160aa" +checksum = "541c1dc207775c1e0c4e5e90257abf9a17ddc9553da9a25b254dd4307e7a0117" dependencies = [ "quote", "syn 1.0.109", @@ -20544,13 +21050,13 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfd37d1d409446577a070f17b8e125cd82c39d78abc512977dd4857677c738b" +checksum = "39daf1e0f52792dfc4d65fb904a3ece0125895e6e43ebb4284ffa5a08087bde6" dependencies = [ "bincode", "serde", - "sp1-primitives 4.1.4", + "sp1-primitives 4.1.6", ] [[package]] @@ -20573,18 +21079,18 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5943e519bd51b8c5c76813948acb544283a2eee5aead41fe9c63bf6425fcad18" +checksum = "c856b3fdcf7f380c16dc2c23e5b21df5107d4c1568475722d4256b9a416bca39" dependencies = [ "bincode", "hex", "lazy_static", "num-bigint 0.4.6", - "p3-baby-bear 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-poseidon2 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", + "p3-baby-bear 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-poseidon2 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", "serde", "sha2 0.10.8", ] @@ -20597,7 +21103,7 @@ checksum = "bc363eda811717369513ca72abafbb5cdec0ed16cda12458ca5321e4167e97ff" dependencies = [ "anyhow", "bincode", - "clap 4.5.32", + "clap 4.5.34", "dirs", "eyre", "itertools 0.13.0", @@ -20633,13 +21139,13 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27103239b13e2841ac27ea0941258a406061746a483ce9de9bf69c0dab330ce4" +checksum = "2002b44e97590f554cac88fccb267bce73b9b8ee64ec5774316cf317c62fae0a" dependencies = [ "anyhow", "bincode", - "clap 4.5.32", + "clap 4.5.34", "dirs", "downloader", "enum-map", @@ -20649,27 +21155,27 @@ dependencies = [ "itertools 0.13.0", "lru 0.12.5", "num-bigint 0.4.6", - "p3-baby-bear 0.2.1-succinct", - "p3-bn254-fr 0.2.1-succinct", - "p3-challenger 0.2.1-succinct", - "p3-commit 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-baby-bear 0.2.2-succinct", + "p3-bn254-fr 0.2.2-succinct", + "p3-challenger 0.2.2-succinct", + "p3-commit 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", + "p3-util 0.2.2-succinct", "rayon", "serde", "serde_json", "serial_test", "sha2 0.10.8", - "sp1-core-executor 4.1.4", - "sp1-core-machine 4.1.4", - "sp1-primitives 4.1.4", - "sp1-recursion-circuit 4.1.4", - "sp1-recursion-compiler 4.1.4", - "sp1-recursion-core 4.1.4", - "sp1-recursion-gnark-ffi 4.1.4", - "sp1-stark 4.1.4", + "sp1-core-executor 4.1.6", + "sp1-core-machine 4.1.6", + "sp1-primitives 4.1.6", + "sp1-recursion-circuit 4.1.6", + "sp1-recursion-compiler 4.1.6", + "sp1-recursion-core 4.1.6", + "sp1-recursion-gnark-ffi 4.1.6", + "sp1-stark 4.1.6", "thiserror 1.0.69", "tracing", "tracing-appender", @@ -20712,36 +21218,36 @@ dependencies = [ [[package]] name = "sp1-recursion-circuit" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e996cd4da78f92ec6fad1d5e9cea03c2ec629ad5be5c3c04535bfc4514e6db41" +checksum = "9634b7c12dd9bd6f55f0c2fc875459e65ba7f8a60ba602a59da66ec6146c4fbf" dependencies = [ "hashbrown 0.14.5", "itertools 0.13.0", "num-traits", - "p3-air 0.2.1-succinct", - "p3-baby-bear 0.2.1-succinct", - "p3-bn254-fr 0.2.1-succinct", - "p3-challenger 0.2.1-succinct", - "p3-commit 0.2.1-succinct", - "p3-dft 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-fri 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", - "p3-uni-stark 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-air 0.2.2-succinct", + "p3-baby-bear 0.2.2-succinct", + "p3-bn254-fr 0.2.2-succinct", + "p3-challenger 0.2.2-succinct", + "p3-commit 0.2.2-succinct", + "p3-dft 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-fri 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", + "p3-uni-stark 0.2.2-succinct", + "p3-util 0.2.2-succinct", "rand 0.8.5", "rayon", "serde", - "sp1-core-executor 4.1.4", - "sp1-core-machine 4.1.4", - "sp1-derive 4.1.4", - "sp1-primitives 4.1.4", - "sp1-recursion-compiler 4.1.4", - "sp1-recursion-core 4.1.4", - "sp1-recursion-gnark-ffi 4.1.4", - "sp1-stark 4.1.4", + "sp1-core-executor 4.1.6", + "sp1-core-machine 4.1.6", + "sp1-derive 4.1.6", + "sp1-primitives 4.1.6", + "sp1-recursion-compiler 4.1.6", + "sp1-recursion-core 4.1.6", + "sp1-recursion-gnark-ffi 4.1.6", + "sp1-stark 4.1.6", "tracing", ] @@ -20769,22 +21275,22 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "247dee5143c4a64be7915006bfa38002ec086d8004dce60493e0d4d4c91f3dfb" +checksum = "a8d1b7d86b1684a468b1770cf94da0a26b21a78fae4772f841b7d86321e1cab5" dependencies = [ "backtrace", "itertools 0.13.0", - "p3-baby-bear 0.2.1-succinct", - "p3-bn254-fr 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", - "serde", - "sp1-core-machine 4.1.4", - "sp1-primitives 4.1.4", - "sp1-recursion-core 4.1.4", - "sp1-recursion-derive 4.1.4", - "sp1-stark 4.1.4", + "p3-baby-bear 0.2.2-succinct", + "p3-bn254-fr 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", + "serde", + "sp1-core-machine 4.1.6", + "sp1-primitives 4.1.6", + "sp1-recursion-core 4.1.6", + "sp1-recursion-derive 4.1.6", + "sp1-stark 4.1.6", "tracing", "vec_map", ] @@ -20827,9 +21333,9 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a198fa54df37af32d953855fe6bca5148c974878def97bb808c563b38ce1280c" +checksum = "ffb3bd561f0bc64e7e102ff59dec3dcc23c695f7a6073f3a2c235faa013f2b74" dependencies = [ "backtrace", "cbindgen", @@ -20840,27 +21346,27 @@ dependencies = [ "hashbrown 0.14.5", "itertools 0.13.0", "num_cpus", - "p3-air 0.2.1-succinct", - "p3-baby-bear 0.2.1-succinct", - "p3-bn254-fr 0.2.1-succinct", - "p3-challenger 0.2.1-succinct", - "p3-commit 0.2.1-succinct", - "p3-dft 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-fri 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-maybe-rayon 0.2.1-succinct", - "p3-merkle-tree 0.2.1-succinct", - "p3-poseidon2 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-air 0.2.2-succinct", + "p3-baby-bear 0.2.2-succinct", + "p3-bn254-fr 0.2.2-succinct", + "p3-challenger 0.2.2-succinct", + "p3-commit 0.2.2-succinct", + "p3-dft 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-fri 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-maybe-rayon 0.2.2-succinct", + "p3-merkle-tree 0.2.2-succinct", + "p3-poseidon2 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", + "p3-util 0.2.2-succinct", "pathdiff", "rand 0.8.5", "serde", - "sp1-core-machine 4.1.4", - "sp1-derive 4.1.4", - "sp1-primitives 4.1.4", - "sp1-stark 4.1.4", + "sp1-core-machine 4.1.6", + "sp1-derive 4.1.6", + "sp1-primitives 4.1.6", + "sp1-stark 4.1.6", "static_assertions", "thiserror 1.0.69", "tracing", @@ -20880,9 +21386,9 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39250369fa4718b28030ac3548f867022efcd99c1f2f705e1a57710564646f9" +checksum = "d3ff29389b2bba2f21fb632344f4c79a2c65f71ff45595164c80c577c54b856e" dependencies = [ "quote", "syn 1.0.109", @@ -20916,9 +21422,9 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0962d2c3cee15533dc14ed1bda781af6e7bce2acbeff7abc77d4ff56646d5d6f" +checksum = "8ce6d98a0ca00b95138da2ae97c513c6a5cc0ed7605fa83782b22fd51fdde775" dependencies = [ "anyhow", "bincode", @@ -20927,15 +21433,15 @@ dependencies = [ "cfg-if", "hex", "num-bigint 0.4.6", - "p3-baby-bear 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", + "p3-baby-bear 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", "serde", "serde_json", "sha2 0.10.8", - "sp1-core-machine 4.1.4", - "sp1-recursion-compiler 4.1.4", - "sp1-stark 4.1.4", + "sp1-core-machine 4.1.6", + "sp1-recursion-compiler 4.1.6", + "sp1-stark 4.1.6", "tempfile", "tracing", ] @@ -20983,14 +21489,14 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0be727829b2541d11b7e0953215a6a2e362c1f09b8ff69344ff3a109450ecdd8" +checksum = "162a2e123a6445fe87d07779c83c05c2393fa93f5b784959fb97e72c787df360" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "alloy-signer 0.11.1", "alloy-signer-local", - "alloy-sol-types 0.8.24", + "alloy-sol-types 0.8.25", "anyhow", "async-trait", "backoff", @@ -21002,21 +21508,21 @@ dependencies = [ "hex", "indicatif", "itertools 0.13.0", - "p3-baby-bear 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-fri 0.2.1-succinct", + "p3-baby-bear 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-fri 0.2.2-succinct", "prost 0.13.5", "reqwest 0.12.15", "reqwest-middleware", "serde", "serde_json", - "sp1-build 4.1.4", - "sp1-core-executor 4.1.4", - "sp1-core-machine 4.1.4", + "sp1-build 4.1.6", + "sp1-core-executor 4.1.6", + "sp1-core-machine 4.1.6", "sp1-cuda", - "sp1-primitives 4.1.4", - "sp1-prover 4.1.4", - "sp1-stark 4.1.4", + "sp1-primitives 4.1.6", + "sp1-prover 4.1.6", + "sp1-stark 4.1.6", "strum 0.26.3", "strum_macros 0.26.4", "tempfile", @@ -21065,33 +21571,33 @@ dependencies = [ [[package]] name = "sp1-stark" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86efb046f8e5d01898fe67889a70dcc41efa605b9d173945f58f6be16049a5ef" +checksum = "1a88b6ee5c666f74945a058b450288281e0f618c0b68c8b38084377e292cd29b" dependencies = [ "arrayref", "hashbrown 0.14.5", "itertools 0.13.0", "num-bigint 0.4.6", "num-traits", - "p3-air 0.2.1-succinct", - "p3-baby-bear 0.2.1-succinct", - "p3-challenger 0.2.1-succinct", - "p3-commit 0.2.1-succinct", - "p3-dft 0.2.1-succinct", - "p3-field 0.2.1-succinct", - "p3-fri 0.2.1-succinct", - "p3-matrix 0.2.1-succinct", - "p3-maybe-rayon 0.2.1-succinct", - "p3-merkle-tree 0.2.1-succinct", - "p3-poseidon2 0.2.1-succinct", - "p3-symmetric 0.2.1-succinct", - "p3-uni-stark 0.2.1-succinct", - "p3-util 0.2.1-succinct", + "p3-air 0.2.2-succinct", + "p3-baby-bear 0.2.2-succinct", + "p3-challenger 0.2.2-succinct", + "p3-commit 0.2.2-succinct", + "p3-dft 0.2.2-succinct", + "p3-field 0.2.2-succinct", + "p3-fri 0.2.2-succinct", + "p3-matrix 0.2.2-succinct", + "p3-maybe-rayon 0.2.2-succinct", + "p3-merkle-tree 0.2.2-succinct", + "p3-poseidon2 0.2.2-succinct", + "p3-symmetric 0.2.2-succinct", + "p3-uni-stark 0.2.2-succinct", + "p3-util 0.2.2-succinct", "rayon-scan", "serde", - "sp1-derive 4.1.4", - "sp1-primitives 4.1.4", + "sp1-derive 4.1.6", + "sp1-primitives 4.1.6", "strum 0.26.3", "strum_macros 0.26.4", "sysinfo", @@ -21118,20 +21624,20 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5085a98fa0cf2a1e570dfd5347eb3b86df23e24d3b684e53b6fff36309c4758" +checksum = "3fc2e19a2e70568b1fa5b038f7e91f9efe2b29da829bbfbb134660c44df8656d" dependencies = [ "cfg-if", "getrandom 0.2.15", "lazy_static", "libm", - "p3-baby-bear 0.2.1-succinct", - "p3-field 0.2.1-succinct", + "p3-baby-bear 0.2.2-succinct", + "p3-field 0.2.2-succinct", "rand 0.8.5", "sha2 0.10.8", - "sp1-lib 4.1.4", - "sp1-primitives 4.1.4", + "sp1-lib 4.1.6", + "sp1-primitives 4.1.6", ] [[package]] @@ -21158,6 +21664,9 @@ name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] [[package]] name = "spki" @@ -21723,7 +22232,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e544e41e1c84b616632cd2f86862342868f62e11e4cd9062a9e3dbf5fc871f64" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro-error", "subxt-codegen 0.29.0", "syn 2.0.100", @@ -21735,7 +22244,7 @@ version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a12ac44222225bf0eb96a32d663d00fac8d2917f4873e4f6b5d00cdd1f5b6e7b" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "parity-scale-codec", "proc-macro-error2", "quote", @@ -21874,9 +22383,9 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36dbbf0d465ab9fdfea3093e755ae8839bdc1263dbe18d35064d02d6060f949e" +checksum = "4560533fbd6914b94a8fb5cc803ed6801c3455668db3b810702c57612bac9412" dependencies = [ "paste", "proc-macro2", @@ -22630,7 +23139,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c58eb0f518840670270d90d97ffee702d8662d9c5494870c9e1e9e0fa00f668" dependencies = [ - "alloy-primitives 0.8.24", + "alloy-primitives 0.8.25", "ethereum_hashing", "ethereum_ssz", "smallvec 1.14.0", @@ -22643,7 +23152,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "699e7fb6b3fdfe0c809916f251cf5132d64966858601695c3736630a87e7166a" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", "syn 2.0.100", @@ -23171,10 +23680,10 @@ checksum = "70a3028804c8bbae2a97a15b71ffc0e308c4b01a520994aafa77d56e94e19024" dependencies = [ "ark-bls12-377", "ark-bls12-381", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-serialize 0.4.2", - "ark-serialize-derive", + "ark-serialize-derive 0.4.2", "arrayref", "constcat", "digest 0.10.7", @@ -23857,7 +24366,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-core", + "windows-core 0.52.0", "windows-targets 0.52.6", ] @@ -23870,6 +24379,41 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings 0.4.0", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "windows-link" version = "0.1.1" @@ -23883,7 +24427,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" dependencies = [ "windows-result", - "windows-strings", + "windows-strings 0.3.1", "windows-targets 0.53.0", ] @@ -23905,6 +24449,15 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-strings" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -24340,6 +24893,17 @@ dependencies = [ "lzma-sys", ] +[[package]] +name = "yaml-rust2" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a1a1c0bc9823338a3bdf8c61f994f23ac004c6fa32c08cd152984499b445e8d" +dependencies = [ + "arraydeque", + "encoding_rs", + "hashlink", +] + [[package]] name = "yansi" version = "1.0.1" @@ -24582,7 +25146,7 @@ dependencies = [ "serde", "serde_json", "sp-runtime 33.0.0", - "sp1-sdk 4.1.4", + "sp1-sdk 4.1.6", "tokio", "tracing-subscriber 0.3.19", "warp", @@ -24597,8 +25161,8 @@ name = "zksync-adapter-sp1" version = "1.0.0" dependencies = [ "nexus-core", - "sp1-derive 4.1.4", - "sp1-zkvm 4.1.4", + "sp1-derive 4.1.6", + "sp1-zkvm 4.1.6", "zksync-core", ] @@ -24625,8 +25189,8 @@ dependencies = [ name = "zksync-methods" version = "1.0.0" dependencies = [ - "risc0-build", - "sp1-build 4.1.4", + "risc0-build 1.2.6", + "sp1-build 4.1.6", ] [[package]] @@ -24828,7 +25392,7 @@ dependencies = [ "opentelemetry", "opentelemetry-appender-tracing", "opentelemetry-otlp", - "opentelemetry-semantic-conventions", + "opentelemetry-semantic-conventions 0.16.0", "opentelemetry_sdk", "sentry", "serde", diff --git a/adapter_sdk/Cargo.toml b/adapter_sdk/Cargo.toml index e381c1fe..49b34061 100644 --- a/adapter_sdk/Cargo.toml +++ b/adapter_sdk/Cargo.toml @@ -15,7 +15,7 @@ serde = "1.0.203" serde_json = "1.0.113" anyhow = "1.0.81" warp = { version = "0.3", optional = true } -risc0-zkvm = { version = "1.2.0", default-features = false, optional = true } +risc0-zkvm = { version = "2.0.0", default-features = false, optional = true } relayer = { path = "../relayer", optional = true } sp1-sdk = { version = "4.1.0", optional = true } sp1-zkvm = { version = "4.1.0", optional = true } diff --git a/core/Cargo.toml b/core/Cargo.toml index 6fed6a98..6a5253c3 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -34,7 +34,7 @@ jmt = { git = "https://github.com/vibhurajeev/jmt.git", features = [ "mocks" ] } ethabi = "18.0.0" sp1-sdk = { version = "3.4.0", optional = true } sp1-zkvm = { version = "3.4.0", optional = true } -risc0-zkvm = { version = "1.2.0", default-features = false, features = [ +risc0-zkvm = { version = "2.0.0", default-features = false, features = [ "std", ], optional = true } sha2 = { version = "0.10.8" } @@ -45,6 +45,10 @@ utoipa = { version = "5.3", optional = true } kzg = { path = "../kzg" } mock_elf = { path = "../mock_elf", optional = true } avail-rust = { git = "https://github.com/availproject/avail-rust.git", branch = "toufeeq/scalable-da-2", optional = true } +opentelemetry = { version = "0.24.0", features = [ + "metrics", + "logs", +], optional = true } [features] native = [ @@ -57,6 +61,7 @@ native = [ "dep:tracing", "utoipa", "avail-rust", + "dep:opentelemetry", ] zkvm = [ "sparse-merkle-tree/arch-32", "sparse-merkle-tree/std" ] native-sp1 = [ "sp1-sdk", "sp1-zkvm/verify", "native", "mock_elf/sp1" ] diff --git a/core/src/lib.rs b/core/src/lib.rs index a0815275..a6b46f41 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -4,6 +4,8 @@ pub mod db; mod h256; #[cfg(any(feature = "native"))] pub mod mempool; +#[cfg(any(feature = "native"))] +pub mod metrics; pub mod prover; pub mod state; #[cfg(any(feature = "native"))] diff --git a/core/src/mempool.rs b/core/src/mempool.rs index 3eb536c3..79c1c37a 100644 --- a/core/src/mempool.rs +++ b/core/src/mempool.rs @@ -1,3 +1,4 @@ +use crate::metrics::MempoolMetrics; use crate::{ db::NodeDB, traits::NexusTransaction, @@ -12,6 +13,7 @@ use tracing::{debug, error, event, info, instrument, span, warn, Level}; pub struct Mempool { tx_list: Arc>>, node_db: Arc>, + mempool_metrics: MempoolMetrics, } impl Mempool { @@ -21,6 +23,7 @@ impl Mempool { Self { tx_list: Arc::new(Mutex::new(vec![])), node_db, + mempool_metrics: MempoolMetrics::init(), } } @@ -41,6 +44,7 @@ impl Mempool { #[instrument(level = "debug", skip(self))] pub async fn clear_upto_tx(&self, index: usize) -> () { debug!("Clearing transactions up to index {} from mempool", index); + let (_, len) = self.get_current_txs().await; let mut tx_list = self.tx_list.lock().await; // Clear transactions up to the specified index if index < tx_list.len() { @@ -49,6 +53,10 @@ impl Mempool { // Handle case where index exceeds the length of tx_list tx_list.clear(); } + if let Some(len) = len { + self.mempool_metrics.mempool_txn_count_gauge.record((len - index) as u64, &[]); + self.mempool_metrics.mempool_txn_count_histogram.record((len - index) as u64, &[]); + } } #[instrument(level = "debug", skip(self))] @@ -74,6 +82,9 @@ impl Mempool { tx_list.push(tx); + self.mempool_metrics.mempool_txn_count_gauge.record(tx_list.len() as u64, &[]); + self.mempool_metrics.mempool_txn_count_histogram.record(tx_list.len() as u64, &[]); + info!("Transaction successfully added to mempool"); Ok(()) } diff --git a/core/src/metrics.rs b/core/src/metrics.rs new file mode 100644 index 00000000..cb2d6fa2 --- /dev/null +++ b/core/src/metrics.rs @@ -0,0 +1,219 @@ +use opentelemetry::global; +use opentelemetry::metrics::{Counter, Gauge, Histogram}; +use std::time::Instant; + +#[derive(Clone)] +pub struct MempoolMetrics { + pub mempool_txn_count_gauge: Gauge, + pub mempool_txn_count_histogram: Histogram, +} +impl MempoolMetrics { + pub fn init() -> Self { + let metrics_meter = global::meter("nexus-metrics"); + let mempool_txn_count_gauge = metrics_meter.u64_gauge("mempool_txn_count").with_unit("Transactions").init(); + let mempool_txn_count_histogram = metrics_meter + .u64_histogram("mempool_txn_count_histogram") + .with_unit("Transactions") + .init(); + Self { + mempool_txn_count_gauge, + mempool_txn_count_histogram, + } + } +} + +#[derive(Clone, Debug)] +pub struct ExecutionMetrics { + pub batch_execution_time: Histogram, + pub batch_proving_time: Histogram, + pub total_batch_execution_time: Histogram, + pub batch_number_counter: Counter, + pub number_of_transactions_batch: Histogram, +} +impl ExecutionMetrics { + pub fn init() -> Self { + let metrics_meter = global::meter("nexus-metrics"); + let batch_execution_time = metrics_meter.u64_histogram("batch_execution_time").init(); + let batch_proving_time = metrics_meter.u64_histogram("batch_proving_time").init(); + let total_batch_execution_time = metrics_meter.u64_histogram("total_batch_execution_time").init(); + let batch_number_counter = metrics_meter.u64_counter("block_number").with_unit("Blocks").init(); + let number_of_transactions_batch = metrics_meter.u64_histogram("number_of_transactions").init(); + Self { + batch_execution_time, + batch_proving_time, + total_batch_execution_time, + batch_number_counter, + number_of_transactions_batch, + } + } +} + +#[derive(Clone)] +pub struct ApiMetrics { + submit_tx_counter: Counter, + tx_status_counter: Counter, + get_block_counter: Counter, + get_state_counter: Counter, + get_state_hex_counter: Counter, + get_header_counter: Counter, + range_counter: Counter, + + submit_tx_response_time: Histogram, + tx_status_response_time: Histogram, + get_block_response_time: Histogram, + get_state_response_time: Histogram, + get_state_hex_response_time: Histogram, + get_header_response_time: Histogram, + range_response_time: Histogram, +} + +impl ApiMetrics { + pub fn new() -> Self { + let meter = global::meter("nexus_api"); + + let submit_tx_counter = meter + .u64_counter("nexus_api_submit_tx_requests") + .with_description("Number of transaction submission requests") + .init(); + + let tx_status_counter = meter + .u64_counter("nexus_api_tx_status_requests") + .with_description("Number of transaction status requests") + .init(); + + let get_block_counter = meter + .u64_counter("nexus_api_get_block_requests") + .with_description("Number of block retrieval requests") + .init(); + + let get_state_counter = meter + .u64_counter("nexus_api_get_state_requests") + .with_description("Number of account state requests") + .init(); + + let get_state_hex_counter = meter + .u64_counter("nexus_api_get_state_hex_requests") + .with_description("Number of hex account state requests") + .init(); + + let get_header_counter = meter + .u64_counter("nexus_api_get_header_requests") + .with_description("Number of header requests") + .init(); + + let range_counter = meter + .u64_counter("nexus_api_range_requests") + .with_description("Number of block range requests") + .init(); + + // Create histograms for response times (in milliseconds) + let submit_tx_response_time = meter + .f64_histogram("nexus_api_submit_tx_response_time") + .with_description("Response time for transaction submission") + .with_unit("ms") + .init(); + + let tx_status_response_time = meter + .f64_histogram("nexus_api_tx_status_response_time") + .with_description("Response time for transaction status requests") + .with_unit("ms") + .init(); + + let get_block_response_time = meter + .f64_histogram("nexus_api_get_block_response_time") + .with_description("Response time for block retrieval") + .with_unit("ms") + .init(); + + let get_state_response_time = meter + .f64_histogram("nexus_api_get_state_response_time") + .with_description("Response time for account state requests") + .with_unit("ms") + .init(); + + let get_state_hex_response_time = meter + .f64_histogram("nexus_api_get_state_hex_response_time") + .with_description("Response time for hex account state requests") + .with_unit("ms") + .init(); + + let get_header_response_time = meter + .f64_histogram("nexus_api_get_header_response_time") + .with_description("Response time for header requests") + .with_unit("ms") + .init(); + + let range_response_time = meter + .f64_histogram("nexus_api_range_response_time") + .with_description("Response time for block range requests") + .with_unit("ms") + .init(); + + Self { + submit_tx_counter, + tx_status_counter, + get_block_counter, + get_state_counter, + get_state_hex_counter, + get_header_counter, + range_counter, + + submit_tx_response_time, + tx_status_response_time, + get_block_response_time, + get_state_response_time, + get_state_hex_response_time, + get_header_response_time, + range_response_time, + } + } + + // Measure response time and increment counter for submit_tx endpoint + pub fn record_submit_tx_request(&self, start_time: Instant) { + self.submit_tx_counter.add(1, &[]); + let duration = start_time.elapsed().as_millis() as f64; + self.submit_tx_response_time.record(duration, &[]); + } + + // Measure response time and increment counter for tx_status endpoint + pub fn record_tx_status_request(&self, start_time: Instant) { + self.tx_status_counter.add(1, &[]); + let duration = start_time.elapsed().as_millis() as f64; + self.tx_status_response_time.record(duration, &[]); + } + + // Measure response time and increment counter for get_block endpoint + pub fn record_get_block_request(&self, start_time: Instant) { + self.get_block_counter.add(1, &[]); + let duration = start_time.elapsed().as_millis() as f64; + self.get_block_response_time.record(duration, &[]); + } + + // Measure response time and increment counter for get_state endpoint + pub fn record_get_state_request(&self, start_time: Instant) { + self.get_state_counter.add(1, &[]); + let duration = start_time.elapsed().as_millis() as f64; + self.get_state_response_time.record(duration, &[]); + } + + // Measure response time and increment counter for get_state_hex endpoint + pub fn record_get_state_hex_request(&self, start_time: Instant) { + self.get_state_hex_counter.add(1, &[]); + let duration = start_time.elapsed().as_millis() as f64; + self.get_state_hex_response_time.record(duration, &[]); + } + + // Measure response time and increment counter for get_header endpoint + pub fn record_get_header_request(&self, start_time: Instant) { + self.get_header_counter.add(1, &[]); + let duration = start_time.elapsed().as_millis() as f64; + self.get_header_response_time.record(duration, &[]); + } + + // Measure response time and increment counter for range endpoint + pub fn record_range_request(&self, start_time: Instant) { + self.range_counter.add(1, &[]); + let duration = start_time.elapsed().as_millis() as f64; + self.range_response_time.record(duration, &[]); + } +} diff --git a/core/src/state_machine.rs b/core/src/state_machine.rs index 8c8cb2e4..d8fb7483 100644 --- a/core/src/state_machine.rs +++ b/core/src/state_machine.rs @@ -51,7 +51,6 @@ impl StateMachine Result<(), Box> { .with_timer(tracing_subscriber::fmt::time::UtcTime::rfc_3339()) .init(); + // Setup Instrumentation + let mut analytics = Instrumentation::new("nexus-node".to_string()); + analytics.setup()?; + let args: Vec = args().collect(); let dev_flag = args.iter().any(|arg| arg == "--dev"); if dev_flag { diff --git a/nexus/host/src/instrumentation.rs b/nexus/host/src/instrumentation.rs new file mode 100644 index 00000000..007da874 --- /dev/null +++ b/nexus/host/src/instrumentation.rs @@ -0,0 +1,73 @@ +use opentelemetry::{global, KeyValue}; +use opentelemetry_otlp::{ExportConfig, WithExportConfig}; +use opentelemetry_sdk::metrics::reader::{DefaultAggregationSelector, DefaultTemporalitySelector}; +use opentelemetry_sdk::metrics::{PeriodicReader, SdkMeterProvider}; +use opentelemetry_sdk::{runtime, Resource}; +use reqwest::Url; +use std::time::Duration; +use tracing_subscriber::layer::SubscriberExt; +use tracing_subscriber::util::SubscriberInitExt; +use tracing_subscriber::EnvFilter; + +pub struct Instrumentation { + meter_provider: Option, + service_name: String, + otel_collector_endpoint: Option, +} + +impl Instrumentation { + pub fn new(service_name: String) -> Self { + Self { + meter_provider: None, + service_name, + otel_collector_endpoint: std::env::var("OTEL_COLLECTOR_ENDPOINT") + .ok() + .map(|endpoint| Url::parse(&endpoint).expect("Invalid OTEL_COLLECTOR_ENDPOINT")), + } + } + + pub fn setup(&mut self) -> anyhow::Result<()> { + let otel_endpoint = self.otel_collector_endpoint.clone(); + if otel_endpoint.is_none() { + return Ok(()); + } + + // Set up tracing subscriber without OpenTelemetry + let env_filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info")); + + tracing_subscriber::registry().with(env_filter).init(); + + // Set up just the metrics exporter + let export_config = ExportConfig { + // Can use unwrap here because we know otel_endpoint exists from the check above + endpoint: otel_endpoint.unwrap().to_string(), + ..ExportConfig::default() + }; + + let exporter = opentelemetry_otlp::new_exporter() + .tonic() + .with_export_config(export_config) + .build_metrics_exporter( + Box::new(DefaultAggregationSelector::new()), + Box::new(DefaultTemporalitySelector::new()), + ) + .expect("Failed to build metrics exporter"); + + let reader = PeriodicReader::builder(exporter, runtime::Tokio) + .with_interval(Duration::from_secs(5)) + .build(); + + let meter_provider = SdkMeterProvider::builder() + .with_reader(reader) + .with_resource(Resource::new(vec![KeyValue::new( + opentelemetry_semantic_conventions::resource::SERVICE_NAME, + format!("{}{}", self.service_name, "_meter_service"), + )])) + .build(); + + global::set_meter_provider(meter_provider.clone()); + self.meter_provider = Some(meter_provider); + + Ok(()) + } +} diff --git a/nexus/host/src/lib.rs b/nexus/host/src/lib.rs index 8ef8d76b..bf31cd52 100644 --- a/nexus/host/src/lib.rs +++ b/nexus/host/src/lib.rs @@ -42,6 +42,7 @@ use tracing::{debug, error, info, instrument}; #[cfg(any(feature = "sp1"))] use nexus_core::zkvm::sp1::{Sp1Proof as Proof, Sp1Prover as Prover, SP1ZKVM as ZKVM}; +use nexus_core::metrics::ExecutionMetrics; #[cfg(any(feature = "risc0"))] use prover::{NEXUS_RUNTIME_ELF, NEXUS_RUNTIME_ID}; pub use relayer::{Relayer, SimpleRelayer}; @@ -65,6 +66,7 @@ use nexus_core::types::{Blob, CompactDataLookup, HeaderExtension}; type DataSubmissionWithCommitmentsCall = avail::data_availability::calls::types::SubmitDataWithCommitments; +pub mod instrumentation; pub mod rpc; #[derive(Clone, Debug, Serialize, Deserialize)] pub struct AvailToNexusPointer { @@ -172,12 +174,13 @@ pub async fn sequencer_handle(mempool: Mempool, mut shutdown_rx: watch::Receiver } } -#[instrument(level = "info", skip(node_db_mutex, shutdown_rx))] +#[instrument(level = "info", skip(node_db_mutex, shutdown_rx, execution_metrics))] pub async fn prover_handle( node_db_mutex: Arc>, mut shutdown_rx: watch::Receiver, start_block: u32, prover_mode: ProverMode, + execution_metrics: ExecutionMetrics, ) -> Result<(), Error> { info!("Starting prover engine in {:?} mode", prover_mode); @@ -227,6 +230,7 @@ pub async fn prover_handle( block_with_info.zkvm_inputs.clone(), block_with_info.block.header.clone(), &prover_mode, + execution_metrics.clone(), ) .await { @@ -319,6 +323,7 @@ pub async fn execute_batch, P: ZKVMProof + Serialize + Clone + header: &AvailHeader, header_store: &mut HeaderStore, app_id: u32, + execution_metrics: ExecutionMetrics, ) -> Result< ( NexusZKVMInputs, @@ -389,12 +394,15 @@ where } } + let batch_execution_time_start = std::time::Instant::now(); let (tree_update_batch, state_update, tx_result, nexus_header): ( Option, nexus_core::types::StateUpdate, HashMap, NexusHeader, ) = state_machine.execute_batch(&header, header_store, &txs).await?; + let batch_execution_time = batch_execution_time_start.elapsed(); + execution_metrics.batch_execution_time.record(batch_execution_time.as_secs(), &[]); //Creating zkvm_inputs before adding the new header to header store. let zkvm_inputs = NexusZKVMInputs { @@ -415,6 +423,7 @@ pub async fn prove_batch, P: ZKVMProof + Serialize + Clone + De zkvm_inputs: NexusZKVMInputs, nexus_header: NexusHeader, prover_mode: &ProverMode, + execution_metrics: ExecutionMetrics, ) -> Result where

>::Error: std::fmt::Debug, @@ -430,6 +439,7 @@ where txs.extend(blob_txs); } + let batch_proving_time_start = std::time::Instant::now(); let (proof, result) = { #[cfg(any(feature = "sp1"))] let NEXUS_RUNTIME_ELF: &[u8] = include_bytes!("../../../target/elf-compilation/riscv32im-succinct-zkvm-elf/release/nexus_runtime_sp1"); @@ -453,6 +463,8 @@ where (proof, result) }; + let batch_proving_time = batch_proving_time_start.elapsed(); + execution_metrics.batch_proving_time.record(batch_proving_time.as_secs(), &[]); if result.hash() != nexus_header.hash() { return Err(anyhow!( @@ -522,7 +534,10 @@ pub async fn get_blobs_for_block(sdk: &SDK, avail_block_hash: AvailH256, app_id: Ok((blobs, proofs)) } -#[instrument(level = "info", skip(node_db, state_machine, prover_mode, shutdown_rx, state, receiver, sdk))] +#[instrument( + level = "info", + skip(node_db, state_machine, prover_mode, shutdown_rx, state, receiver, sdk, execution_metrics) +)] pub async fn execution_engine_handle( receiver: Arc>>, node_db: Arc>, @@ -532,6 +547,7 @@ pub async fn execution_engine_handle( state: Arc>, sdk: SDK, app_id: u32, + execution_metrics: ExecutionMetrics, ) -> Result<(), anyhow::Error> { info!("Starting execution engine in {:?} mode", prover_mode); const MAX_HEADERS: usize = 5; @@ -604,6 +620,8 @@ pub async fn execution_engine_handle( debug!("🔄 Beginning batch execution"); tokio::time::sleep(Duration::from_secs(5)).await; + let batch_execution_start_time = std::time::Instant::now(); + match execute_batch::( &blobs, &proofs, @@ -611,6 +629,7 @@ pub async fn execution_engine_handle( &AvailHeader::from(&header), &mut old_headers, app_id, + execution_metrics.clone(), ) .await { @@ -666,6 +685,9 @@ pub async fn execution_engine_handle( failed_txs = txs_length - successful_txs, "✅ Batch processing completed successfully" ); + + execution_metrics.batch_number_counter.add(1, &[]); + execution_metrics.number_of_transactions_batch.record(txs_length as u64, &[]); } Err(e) => { error!(error = ?e, "❌ Failed to commit batch"); @@ -679,6 +701,9 @@ pub async fn execution_engine_handle( } } info!("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ \n"); + + let batch_execution_time = batch_execution_start_time.elapsed(); + execution_metrics.total_batch_execution_time.record(batch_execution_time.as_secs(), &[]); } else { debug!("Waiting for new blocks"); tokio::time::sleep(Duration::from_millis(100)).await; @@ -852,6 +877,9 @@ pub async fn run_nexus( let ws_url_clone = ws_url.clone(); + // Initialize the execution metrics + let execution_metrics = ExecutionMetrics::init(); + let db_clone = node_db.clone(); let db_clone_2 = node_db.clone(); let db_clone_3 = node_db.clone(); @@ -893,6 +921,7 @@ pub async fn run_nexus( state_2, sdk, app_id, + execution_metrics, ) .await }); diff --git a/nexus/host/src/rpc.rs b/nexus/host/src/rpc.rs index 4ed0721f..175f60ab 100644 --- a/nexus/host/src/rpc.rs +++ b/nexus/host/src/rpc.rs @@ -13,6 +13,7 @@ use serde::{Deserialize, Serialize}; use serde_json; use std::collections::HashMap; use std::sync::Arc; +use std::time::Instant; use tokio::sync::Mutex; use warp::reject::custom; use warp::reply::WithStatus; @@ -20,6 +21,7 @@ use warp::{http::StatusCode, http::Uri, hyper::Response, path::FullPath, path::T use crate::AvailToNexusPointer; +use nexus_core::metrics::ApiMetrics; use utoipa::OpenApi; use utoipa_swagger_ui::Config; @@ -640,172 +642,252 @@ pub fn routes( let db_clone_4 = db.clone(); let db_clone_5 = db.clone(); - let health_check = warp::path("health") - .and(warp::get()) - .map(|| warp::reply::json(&serde_json::json!({"status": "Alive ser."}))); - + // Initialize metrics + let metrics = ApiMetrics::new(); + let health_metrics = metrics.clone(); + let tx_metrics = metrics.clone(); + let tx_status_metrics = metrics.clone(); + let block_metrics = metrics.clone(); + let range_metrics = metrics.clone(); + let header_metrics = metrics.clone(); + let account_metrics = metrics.clone(); + let account_hex_metrics = metrics.clone(); + + // Health check endpoint with direct metrics + let health_check = warp::path("health").and(warp::get()).map(move || { + let start = Instant::now(); + let response = warp::reply::json(&serde_json::json!({"status": "Alive ser."})); + response + }); + + // Transaction submission endpoint with direct metrics let tx = warp::path("tx") .and(warp::post()) .and(warp::any().map(move || mempool_clone.clone())) .and(warp::body::json()) - .and_then(submit_tx); - let tx_status = warp::path("tx_status") + .and_then(move |mempool: Mempool, tx: Transaction| { + let metrics = tx_metrics.clone(); + let start = Instant::now(); + + async move { + let result = submit_tx(mempool, tx).await; + metrics.record_submit_tx_request(start); + result + } + }); + + // Transaction status endpoint with direct metrics + let tx_status_route = warp::path("tx_status") .and(warp::get()) .and(warp::any().map(move || db_clone_4.clone())) .and(warp::query::>()) .and_then( - |db: Arc>, params: HashMap| async move { - match params.get("tx_hash") { - Some(hash_str) => { - let tx_hash = H256::try_from(hash_str.as_str()); - match tx_hash { - Ok(hash) => tx_status(db, hash).await, - Err(_) => Ok(warp::reply::with_status( - "Invalid hash".to_string(), - warp::http::StatusCode::BAD_REQUEST, - )), + move |db: Arc>, params: HashMap| { + let metrics = tx_status_metrics.clone(); + let start = Instant::now(); + + async move { + let result = match params.get("tx_hash") { + Some(hash_str) => { + let tx_hash = H256::try_from(hash_str.as_str()); + match tx_hash { + Ok(hash) => tx_status(db, hash).await, + Err(_) => Ok(warp::reply::with_status( + "Invalid hash".to_string(), + warp::http::StatusCode::BAD_REQUEST, + )), + } } - } - None => Ok(warp::reply::with_status( - "Hash parameter not provided".to_string(), - warp::http::StatusCode::BAD_REQUEST, - )), + None => Ok(warp::reply::with_status( + "Hash parameter not provided".to_string(), + warp::http::StatusCode::BAD_REQUEST, + )), + }; + + metrics.record_tx_status_request(start); + result } }, ); - let block = warp::path("block") + // Block retrieval endpoint with direct metrics + let block_route = warp::path("block") .and(warp::get()) .and(warp::any().map(move || db_clone_5.clone())) .and(warp::query::>()) .and_then( - |db: Arc>, params: HashMap| async move { - let block_hash = match params - .get("block_hash") - .map(|hash_str| H256::try_from(hash_str.as_str())) - .transpose() - .map_err(|_| { - warp::reply::with_status( - "Invalid hash".to_string(), - warp::http::StatusCode::BAD_REQUEST, - ) - }) { - Ok(i) => i, - Err(e) => return Ok(e), - }; - - let block_number = match params - .get("block_number") - .map(|hash_str| hash_str.parse::()) - .transpose() - .map_err(|_| { - warp::reply::with_status( - "Invalid block number".to_string(), - warp::http::StatusCode::BAD_REQUEST, - ) - }) { - Ok(i) => i, - Err(e) => return Ok(e), - }; - - get_block(db, block_hash, block_number).await + move |db: Arc>, params: HashMap| { + let metrics = block_metrics.clone(); + let start = Instant::now(); + + async move { + let block_hash = match params + .get("block_hash") + .map(|hash_str| H256::try_from(hash_str.as_str())) + .transpose() + .map_err(|_| { + warp::reply::with_status( + "Invalid hash".to_string(), + warp::http::StatusCode::BAD_REQUEST, + ) + }) { + Ok(i) => i, + Err(e) => return Ok(e), + }; + + let block_number = match params + .get("block_number") + .map(|hash_str| hash_str.parse::()) + .transpose() + .map_err(|_| { + warp::reply::with_status( + "Invalid block number".to_string(), + warp::http::StatusCode::BAD_REQUEST, + ) + }) { + Ok(i) => i, + Err(e) => return Ok(e), + }; + + let result = get_block(db, block_hash, block_number).await; + metrics.record_get_block_request(start); + result + } }, ); - let submit_batch = warp::path("range") + // Block range endpoint with direct metrics + let range_route = warp::path("range") .and(warp::get()) .and(warp::any().map(move || db_clone_2.clone())) - .and_then(range); + .and_then(move |db: Arc>| { + let metrics = range_metrics.clone(); + let start = Instant::now(); + + async move { + let result = range(db).await; + metrics.record_range_request(start); + result + } + }); - let header = warp::path("header") + // Header endpoint with direct metrics + let header_route = warp::path("header") .and(warp::get()) .and(warp::any().map(move || db_clone.clone())) .and(warp::query::>()) .and_then( - |db: Arc>, params: HashMap| async move { - match params.get("hash") { - Some(hash_str) => { - let avail_hash = H256::try_from(hash_str.as_str()); - match avail_hash { - Ok(hash) => get_header(db, hash).await, - Err(_) => Ok(warp::reply::with_status( - "Invalid hash".to_string(), - warp::http::StatusCode::BAD_REQUEST, - )), + move |db: Arc>, params: HashMap| { + let metrics = header_metrics.clone(); + let start = Instant::now(); + + async move { + let result = match params.get("hash") { + Some(hash_str) => { + let avail_hash = H256::try_from(hash_str.as_str()); + match avail_hash { + Ok(hash) => get_header(db, hash).await, + Err(_) => Ok(warp::reply::with_status( + "Invalid hash".to_string(), + warp::http::StatusCode::BAD_REQUEST, + )), + } } - } - None => Ok(warp::reply::with_status( - "Hash parameter not provided".to_string(), - warp::http::StatusCode::BAD_REQUEST, - )), + None => Ok(warp::reply::with_status( + "Hash parameter not provided".to_string(), + warp::http::StatusCode::BAD_REQUEST, + )), + }; + + metrics.record_get_header_request(start); + result } }, ); - let account = warp::path("account") + // Account state endpoint with direct metrics + let account_route = warp::path("account") .and(warp::get()) .and(warp::any().map(move || db.clone())) .and(warp::any().map(move || vm_state.clone())) .and(warp::query::>()) .and_then( - |db: Arc>, vm_state: Arc>, params: HashMap| async move { - match params.get("app_account_id") { - Some(hash_str) => { - let block_hash = match params.get("block_hash") { - Some(i) => match H256::try_from(i.as_str()) { - Ok(i) => Some(i), - Err(_) => { - return Ok(warp::reply::with_status( - "Invalid hash".to_string(), - warp::http::StatusCode::BAD_REQUEST, - )) - } - }, - None => None, - }; - let app_account_id = H256::try_from(hash_str.as_str()); - match app_account_id { - Ok(i) => get_state(db, vm_state, &i, block_hash).await, - Err(_) => Ok(warp::reply::with_status( - "Invalid hash".to_string(), - warp::http::StatusCode::BAD_REQUEST, - )), + move |db: Arc>, vm_state: Arc>, params: HashMap| { + let metrics = account_metrics.clone(); + let start = Instant::now(); + + async move { + let result = match params.get("app_account_id") { + Some(hash_str) => { + let block_hash = match params.get("block_hash") { + Some(i) => match H256::try_from(i.as_str()) { + Ok(i) => Some(i), + Err(_) => { + return Ok(warp::reply::with_status( + "Invalid hash".to_string(), + warp::http::StatusCode::BAD_REQUEST, + )) + } + }, + None => None, + }; + let app_account_id = H256::try_from(hash_str.as_str()); + match app_account_id { + Ok(i) => get_state(db, vm_state, &i, block_hash).await, + Err(_) => Ok(warp::reply::with_status( + "Invalid hash".to_string(), + warp::http::StatusCode::BAD_REQUEST, + )), + } } - } - None => Ok(warp::reply::with_status( - "Hash parameter not provided".to_string(), - warp::http::StatusCode::BAD_REQUEST, - )), + None => Ok(warp::reply::with_status( + "Hash parameter not provided".to_string(), + warp::http::StatusCode::BAD_REQUEST, + )), + }; + + metrics.record_get_state_request(start); + result } }, ); - let account_hex = warp::path("account-hex") + // Account hex state endpoint with direct metrics + let account_hex_route = warp::path("account-hex") .and(warp::get()) .and(warp::any().map(move || db_clone_3.clone())) .and(warp::any().map(move || vm_state_clone.clone())) .and(warp::query::>()) .and_then( - |db: Arc>, vm_state: Arc>, params: HashMap| async move { - match params.get("app_account_id") { - Some(hash_str) => { - let app_account_id = H256::try_from(hash_str.as_str()); - match app_account_id { - Ok(i) => get_state_hex(db, vm_state, &i).await, - Err(_) => Ok(warp::reply::with_status( - "Invalid hash".to_string(), - warp::http::StatusCode::BAD_REQUEST, - )), + move |db: Arc>, vm_state: Arc>, params: HashMap| { + let metrics = account_hex_metrics.clone(); + let start = Instant::now(); + + async move { + let result = match params.get("app_account_id") { + Some(hash_str) => { + let app_account_id = H256::try_from(hash_str.as_str()); + match app_account_id { + Ok(i) => get_state_hex(db, vm_state, &i).await, + Err(_) => Ok(warp::reply::with_status( + "Invalid hash".to_string(), + warp::http::StatusCode::BAD_REQUEST, + )), + } } - } - None => Ok(warp::reply::with_status( - "Hash parameter not provided".to_string(), - warp::http::StatusCode::BAD_REQUEST, - )), + None => Ok(warp::reply::with_status( + "Hash parameter not provided".to_string(), + warp::http::StatusCode::BAD_REQUEST, + )), + }; + + metrics.record_get_state_hex_request(start); + result } }, ); + // Swagger documentation endpoints (no metrics needed) let config = Arc::new(Config::from("/api-doc.json")); let api_doc = warp::path("api-doc.json").and(warp::get()).map(|| warp::reply::json(&ApiDoc::openapi())); @@ -816,13 +898,14 @@ pub fn routes( .and(warp::any().map(move || config.clone())) .and_then(serve_swagger); + // Combine all routes tx.or(health_check) - .or(tx_status) - .or(block) - .or(submit_batch) - .or(header) - .or(account) - .or(account_hex) + .or(tx_status_route) + .or(block_route) + .or(range_route) + .or(header_route) + .or(account_route) + .or(account_hex_route) .or(api_doc) .or(swagger_ui) } diff --git a/nexus/prover/Cargo.toml b/nexus/prover/Cargo.toml index 350b018d..ac945ce8 100644 --- a/nexus/prover/Cargo.toml +++ b/nexus/prover/Cargo.toml @@ -4,7 +4,7 @@ version.workspace = true edition = "2021" [build-dependencies] -risc0-build = { version = "1.2.0", optional = true } +risc0-build = { version = "2.0.0", optional = true } sp1-build = { version = "4.1.0", optional = true } [package.metadata.risc0] diff --git a/nexus/prover/risc0-guest/Cargo.toml b/nexus/prover/risc0-guest/Cargo.toml index 3f87023d..9a24dc2f 100644 --- a/nexus/prover/risc0-guest/Cargo.toml +++ b/nexus/prover/risc0-guest/Cargo.toml @@ -5,10 +5,10 @@ edition = "2021" [dependencies] # If you want to try (experimental) std support, add `features = [ "std" ]` to risc0-zkvm -risc0-zkvm = { version = "1.2.0", default-features = false, features = [ +risc0-zkvm = { version = "2.0.0", default-features = false, features = [ "std", ] } nexus-core = { path = "../../../core", default-features = false, features = [ "zkvm-risc0", ] } -risc0-zkvm-platform = { version = "1.2.0", features = [ "sys-getenv" ] } +risc0-zkvm-platform = { version = "2.0.0", features = [ "sys-getenv" ] } diff --git a/nexus/prover/sp1-guest/Cargo.toml b/nexus/prover/sp1-guest/Cargo.toml index 77028337..9a1e6eb0 100644 --- a/nexus/prover/sp1-guest/Cargo.toml +++ b/nexus/prover/sp1-guest/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [dependencies] # If you want to try (experimental) std support, add `features = [ "std" ]` to risc0-zkvm -risc0-zkvm = { version = "1.2.0", default-features = false, features = [ +risc0-zkvm = { version = "2.0.0", default-features = false, features = [ "std", ], optional = true } nexus-core = { path = "../../../core", default-features = false, features = [ diff --git a/nexus_bench_setup/Cargo.toml b/nexus_bench_setup/Cargo.toml index 17997ad0..dc6c50ea 100644 --- a/nexus_bench_setup/Cargo.toml +++ b/nexus_bench_setup/Cargo.toml @@ -11,7 +11,7 @@ kate = { git = "https://github.com/availproject/avail-core.git", branch = "toufe geth-methods = { path = "../examples/mock_geth_adapter/methods" } nexus-host = { package = "host", path = "../nexus/host", default-features = false, optional = true } prover = { path = "../nexus/prover", optional = true } -risc0-zkvm = { version = "1.2.0", features = [ "default", "metal", "prove" ] } +risc0-zkvm = { version = "2.0.0", features = [ "default", "metal", "prove" ] } tracing-subscriber = { version = "0.3", features = [ "env-filter" ] } rocksdb = { version = "0.22.0" } serde = "1.0"