diff --git a/.github/workflows/nexus-e2e-integrations-test.yml b/.github/workflows/nexus-e2e-integrations-test.yml index ab72eba7..171b5cbf 100644 --- a/.github/workflows/nexus-e2e-integrations-test.yml +++ b/.github/workflows/nexus-e2e-integrations-test.yml @@ -16,6 +16,11 @@ jobs: - name: Checkout code uses: actions/checkout@v3 + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: stable + - name: Free Disk Space run: | echo "Before cleanup:" diff --git a/.gitmodules b/.gitmodules index 59bcedd2..d873da72 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,6 @@ [submodule "lib/nexus"] path = lib/nexus url = https://github.com/availproject/nexus +[submodule "contracts/lib/risc0-ethereum"] + path = contracts/lib/risc0-ethereum + url = https://github.com/risc0/risc0-ethereum diff --git a/Cargo.lock b/Cargo.lock index 1b608f31..14587c4d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -31,9 +31,9 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa882656b67966045e4152c634051e70346939fced7117d5f0b52146a7c74c9" +checksum = "44dfe5c9e0004c623edc65391dfd51daa201e7e30ebd9c9bedf873048ec32bc2" dependencies = [ "actix-codec", "actix-rt", @@ -59,9 +59,9 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "rand 0.9.0", + "rand 0.9.1", "sha1", - "smallvec 1.14.0", + "smallvec 1.15.0", "tokio", "tokio-util", "tracing", @@ -75,7 +75,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -105,9 +105,9 @@ dependencies = [ [[package]] name = "actix-server" -version = "2.5.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6398974fd4284f4768af07965701efbbb5fdc0616bff20cade1bb14b77675e24" +checksum = "a65064ea4a457eaf07f2fba30b4c695bf43b721790e9530d26cb6f9019ff7502" dependencies = [ "actix-rt", "actix-service", @@ -142,9 +142,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.10.2" +version = "4.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2e3b15b3dc6c6ed996e4032389e9849d4ab002b1e92fbfe85b5f307d1479b4d" +checksum = "a597b77b5c6d6a1e1097fddde329a83665e25c5437c696a3a9a4aa514a614dea" dependencies = [ "actix-codec", "actix-http", @@ -176,7 +176,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "smallvec 1.14.0", + "smallvec 1.15.0", "socket2", "time", "tracing", @@ -192,7 +192,7 @@ dependencies = [ "actix-router", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -202,7 +202,7 @@ dependencies = [ "adapter_sdk", "geth-adapter-core", "nexus-core", - "risc0-zkvm", + "risc0-zkvm 2.0.2", ] [[package]] @@ -217,7 +217,7 @@ dependencies = [ "nexus-core", "parity-scale-codec", "relayer", - "risc0-zkvm", + "risc0-zkvm 2.0.2", "serde", "serde_json", "sp-runtime 33.0.0", @@ -236,11 +236,11 @@ dependencies = [ "nexus-core", "relayer", "reqwest 0.11.27", - "risc0-zkvm", + "risc0-zkvm 2.0.2", "serde", "serde_json", - "sp1-sdk 4.1.4", - "sp1-zkvm 4.1.4", + "sp1-sdk 4.1.7", + "sp1-zkvm 4.2.0", "tokio", "tokio-stream", "warp", @@ -278,7 +278,7 @@ dependencies = [ "memmap2", "object 0.35.0", "rustc-demangle", - "smallvec 1.14.0", + "smallvec 1.15.0", ] [[package]] @@ -343,22 +343,22 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "once_cell", "version_check", ] [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom 0.3.3", "once_cell", "version_check", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] @@ -391,6 +391,25 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +[[package]] +name = "alloy" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c37d89f69cb43901949ba29307ada8b9e3b170f94057ad4c04d6fd169d24d65f" +dependencies = [ + "alloy-consensus 0.3.6", + "alloy-contract", + "alloy-core", + "alloy-eips 0.3.6", + "alloy-genesis 0.3.6", + "alloy-network 0.3.6", + "alloy-provider 0.3.6", + "alloy-rpc-client 0.3.6", + "alloy-serde 0.3.6", + "alloy-transport 0.3.6", + "alloy-transport-http 0.3.6", +] + [[package]] name = "alloy" version = "0.9.2" @@ -400,29 +419,43 @@ dependencies = [ "alloy-consensus 0.9.2", "alloy-core", "alloy-eips 0.9.2", - "alloy-genesis", + "alloy-genesis 0.9.2", "alloy-json-rpc 0.9.2", "alloy-network 0.9.2", - "alloy-provider", - "alloy-rpc-client", + "alloy-provider 0.9.2", + "alloy-rpc-client 0.9.2", "alloy-rpc-types", "alloy-serde 0.9.2", "alloy-signer 0.9.2", - "alloy-transport", - "alloy-transport-http", + "alloy-transport 0.9.2", + "alloy-transport-http 0.9.2", ] [[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", ] +[[package]] +name = "alloy-consensus" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "629b62e38d471cc15fea534eb7283d2f8a4e8bdb1811bcc5d66dda6cfce6fae1" +dependencies = [ + "alloy-eips 0.3.6", + "alloy-primitives 0.8.25", + "alloy-rlp", + "alloy-serde 0.3.6", + "c-kzg", + "serde", +] + [[package]] name = "alloy-consensus" version = "0.9.2" @@ -430,7 +463,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 +481,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 +499,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,40 +513,60 @@ 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", ] +[[package]] +name = "alloy-contract" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eefe64fd344cffa9cf9e3435ec4e93e6e9c3481bc37269af988bf497faf4a6a" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-network 0.3.6", + "alloy-network-primitives 0.3.6", + "alloy-primitives 0.8.25", + "alloy-provider 0.3.6", + "alloy-rpc-types-eth 0.3.6", + "alloy-sol-types 0.8.25", + "alloy-transport 0.3.6", + "futures", + "futures-util", + "thiserror 1.0.69", +] + [[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", "serde_json", - "winnow 0.7.4", + "winnow 0.7.10", ] [[package]] @@ -522,7 +575,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 +587,18 @@ 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", +] + +[[package]] +name = "alloy-eip7702" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea59dc42102bc9a1905dc57901edc6dd48b9f38115df86c7d252acba70d71d04" +dependencies = [ + "alloy-primitives 0.8.25", "alloy-rlp", "serde", ] @@ -545,13 +609,31 @@ 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", "thiserror 2.0.12", ] +[[package]] +name = "alloy-eips" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f923dd5fca5f67a43d81ed3ebad0880bd41f6dd0ada930030353ac356c54cd0f" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702 0.1.1", + "alloy-primitives 0.8.25", + "alloy-rlp", + "alloy-serde 0.3.6", + "c-kzg", + "derive_more 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "once_cell", + "serde", + "sha2 0.10.9", +] + [[package]] name = "alloy-eips" version = "0.9.2" @@ -559,8 +641,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52dd5869ed09e399003e0e0ec6903d981b2a92e74c5d37e6b40890bad2517526" dependencies = [ "alloy-eip2930", - "alloy-eip7702", - "alloy-primitives 0.8.24", + "alloy-eip7702 0.5.1", + "alloy-primitives 0.8.25", "alloy-rlp", "alloy-serde 0.9.2", "c-kzg", @@ -569,7 +651,7 @@ dependencies = [ "ethereum_ssz_derive", "once_cell", "serde", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -580,8 +662,8 @@ checksum = "5591581ca2ab0b3e7226a4047f9a1bfcf431da1d0cce3752fda609fea3c27e37" dependencies = [ "alloy-eip2124", "alloy-eip2930", - "alloy-eip7702", - "alloy-primitives 0.8.24", + "alloy-eip7702 0.5.1", + "alloy-primitives 0.8.25", "alloy-rlp", "alloy-serde 0.11.1", "auto_impl", @@ -589,7 +671,18 @@ dependencies = [ "derive_more 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell", "serde", - "sha2 0.10.8", + "sha2 0.10.9", +] + +[[package]] +name = "alloy-genesis" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a7a18afb0b318616b6b2b0e2e7ac5529d32a966c673b48091c9919e284e6aca" +dependencies = [ + "alloy-primitives 0.8.25", + "alloy-serde 0.3.6", + "serde", ] [[package]] @@ -599,7 +692,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,24 +700,38 @@ 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", ] +[[package]] +name = "alloy-json-rpc" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3c717b5298fad078cd3a418335b266eba91b511383ca9bd497f742d5975d5ab" +dependencies = [ + "alloy-primitives 0.8.25", + "alloy-sol-types 0.8.25", + "serde", + "serde_json", + "thiserror 1.0.69", + "tracing", +] + [[package]] name = "alloy-json-rpc" 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,14 +744,35 @@ 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", "tracing", ] +[[package]] +name = "alloy-network" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb3705ce7d8602132bcf5ac7a1dd293a42adc2f183abf5907c30ac535ceca049" +dependencies = [ + "alloy-consensus 0.3.6", + "alloy-eips 0.3.6", + "alloy-json-rpc 0.3.6", + "alloy-network-primitives 0.3.6", + "alloy-primitives 0.8.25", + "alloy-rpc-types-eth 0.3.6", + "alloy-serde 0.3.6", + "alloy-signer 0.3.6", + "alloy-sol-types 0.8.25", + "async-trait", + "auto_impl", + "futures-utils-wasm", + "thiserror 1.0.69", +] + [[package]] name = "alloy-network" version = "0.9.2" @@ -656,12 +784,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 +809,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", @@ -695,6 +823,18 @@ dependencies = [ "thiserror 2.0.12", ] +[[package]] +name = "alloy-network-primitives" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94ad40869867ed2d9cd3842b1e800889e5b49e6b92da346e93862b4a741bedf3" +dependencies = [ + "alloy-eips 0.3.6", + "alloy-primitives 0.8.25", + "alloy-serde 0.3.6", + "serde", +] + [[package]] name = "alloy-network-primitives" version = "0.9.2" @@ -703,7 +843,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 +856,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", ] @@ -731,7 +871,7 @@ dependencies = [ "bytes", "cfg-if", "const-hex", - "derive_more 0.99.19", + "derive_more 0.99.20", "hex-literal 0.4.1", "itoa", "proptest", @@ -751,7 +891,7 @@ dependencies = [ "bytes", "cfg-if", "const-hex", - "derive_more 0.99.19", + "derive_more 0.99.20", "hex-literal 0.4.1", "itoa", "k256 0.13.4", @@ -765,9 +905,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", @@ -775,8 +915,8 @@ dependencies = [ "const-hex", "derive_more 2.0.1", "foldhash", - "hashbrown 0.15.2", - "indexmap 2.8.0", + "hashbrown 0.15.3", + "indexmap 2.9.0", "itoa", "k256 0.13.4", "keccak-asm", @@ -790,6 +930,40 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "alloy-provider" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927f708dd457ed63420400ee5f06945df9632d5d101851952056840426a10dc5" +dependencies = [ + "alloy-chains", + "alloy-consensus 0.3.6", + "alloy-eips 0.3.6", + "alloy-json-rpc 0.3.6", + "alloy-network 0.3.6", + "alloy-network-primitives 0.3.6", + "alloy-primitives 0.8.25", + "alloy-rpc-client 0.3.6", + "alloy-rpc-types-eth 0.3.6", + "alloy-transport 0.3.6", + "alloy-transport-http 0.3.6", + "async-stream", + "async-trait", + "auto_impl", + "dashmap", + "futures", + "futures-utils-wasm", + "lru 0.12.5", + "pin-project", + "reqwest 0.12.15", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tracing", + "url", +] + [[package]] name = "alloy-provider" version = "0.9.2" @@ -802,11 +976,11 @@ dependencies = [ "alloy-json-rpc 0.9.2", "alloy-network 0.9.2", "alloy-network-primitives 0.9.2", - "alloy-primitives 0.8.24", - "alloy-rpc-client", + "alloy-primitives 0.8.25", + "alloy-rpc-client 0.9.2", "alloy-rpc-types-eth 0.9.2", - "alloy-transport", - "alloy-transport-http", + "alloy-transport 0.9.2", + "alloy-transport-http 0.9.2", "async-stream", "async-trait", "auto_impl", @@ -846,7 +1020,28 @@ checksum = "a40e1ef334153322fd878d07e86af7a529bcb86b2439525920a88eba87bcf943" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", +] + +[[package]] +name = "alloy-rpc-client" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d82952dca71173813d4e5733e2c986d8b04aea9e0f3b0a576664c232ad050a5" +dependencies = [ + "alloy-json-rpc 0.3.6", + "alloy-transport 0.3.6", + "alloy-transport-http 0.3.6", + "futures", + "pin-project", + "reqwest 0.12.15", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower 0.5.2", + "tracing", + "url", ] [[package]] @@ -856,9 +1051,9 @@ 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-transport", - "alloy-transport-http", + "alloy-primitives 0.8.25", + "alloy-transport 0.9.2", + "alloy-transport-http 0.9.2", "futures", "pin-project", "reqwest 0.12.15", @@ -878,7 +1073,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 +1110,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 +1127,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)", @@ -942,6 +1137,27 @@ dependencies = [ "strum 0.26.3", ] +[[package]] +name = "alloy-rpc-types-eth" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83aa984386deda02482660aa31cb8ca1e63d533f1c31a52d7d181ac5ec68e9b8" +dependencies = [ + "alloy-consensus 0.3.6", + "alloy-eips 0.3.6", + "alloy-network-primitives 0.3.6", + "alloy-primitives 0.8.25", + "alloy-rlp", + "alloy-serde 0.3.6", + "alloy-sol-types 0.8.25", + "cfg-if", + "derive_more 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hashbrown 0.14.5", + "itertools 0.13.0", + "serde", + "serde_json", +] + [[package]] name = "alloy-rpc-types-eth" version = "0.9.2" @@ -952,10 +1168,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,23 +1188,34 @@ 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", "thiserror 2.0.12", ] +[[package]] +name = "alloy-serde" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "731f75ec5d383107fd745d781619bd9cedf145836c51ecb991623d41278e71fa" +dependencies = [ + "alloy-primitives 0.8.25", + "serde", + "serde_json", +] + [[package]] name = "alloy-serde" 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,18 +1226,32 @@ 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", ] +[[package]] +name = "alloy-signer" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "307324cca94354cd654d6713629f0383ec037e1ff9e3e3d547212471209860c0" +dependencies = [ + "alloy-primitives 0.8.25", + "async-trait", + "auto_impl", + "elliptic-curve 0.13.8", + "k256 0.13.4", + "thiserror 1.0.69", +] + [[package]] name = "alloy-signer" 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 +1265,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 +1282,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", @@ -1061,7 +1302,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "syn-solidity 0.4.2", "tiny-keccak", ] @@ -1077,21 +1318,21 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[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", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1103,30 +1344,31 @@ dependencies = [ "alloy-sol-macro-input 0.7.7", "const-hex", "heck 0.5.0", - "indexmap 2.8.0", + "indexmap 2.9.0", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "syn-solidity 0.7.7", "tiny-keccak", ] [[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-json-abi", + "alloy-sol-macro-input 0.8.25", "const-hex", "heck 0.5.0", - "indexmap 2.8.0", + "indexmap 2.9.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.100", - "syn-solidity 0.8.24", + "syn 2.0.101", + "syn-solidity 0.8.25", "tiny-keccak", ] @@ -1141,34 +1383,36 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "syn-solidity 0.7.7", ] [[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 = [ + "alloy-json-abi", "const-hex", "dunce", "heck 0.5.0", "macro-string", "proc-macro2", "quote", - "syn 2.0.100", - "syn-solidity 0.8.24", + "serde_json", + "syn 2.0.101", + "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", + "winnow 0.7.10", ] [[package]] @@ -1197,17 +1441,36 @@ 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", ] +[[package]] +name = "alloy-transport" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33616b2edf7454302a1d48084db185e52c309f73f6c10be99b0fe39354b3f1e9" +dependencies = [ + "alloy-json-rpc 0.3.6", + "base64 0.22.1", + "futures-util", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tower 0.5.2", + "tracing", + "url", +] + [[package]] name = "alloy-transport" version = "0.9.2" @@ -1228,6 +1491,21 @@ dependencies = [ "wasmtimer 0.4.1", ] +[[package]] +name = "alloy-transport-http" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a944f5310c690b62bbb3e7e5ce34527cbd36b2d18532a797af123271ce595a49" +dependencies = [ + "alloy-json-rpc 0.3.6", + "alloy-transport 0.3.6", + "reqwest 0.12.15", + "serde_json", + "tower 0.5.2", + "tracing", + "url", +] + [[package]] name = "alloy-transport-http" version = "0.9.2" @@ -1235,7 +1513,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e1509599021330a31c4a6816b655e34bf67acb1cc03c564e09fd8754ff6c5de" dependencies = [ "alloy-json-rpc 0.9.2", - "alloy-transport", + "alloy-transport 0.9.2", "reqwest 0.12.15", "serde_json", "tower 0.5.2", @@ -1249,13 +1527,13 @@ 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)", "nybbles", "serde", - "smallvec 1.14.0", + "smallvec 1.15.0", "tracing", ] @@ -1335,9 +1613,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.97" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" dependencies = [ "backtrace", ] @@ -1362,7 +1640,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1423,6 +1701,17 @@ dependencies = [ "ark-std 0.4.0", ] +[[package]] +name = "ark-bn254" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +dependencies = [ + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + [[package]] name = "ark-bn254" version = "0.5.0" @@ -1460,26 +1749,44 @@ dependencies = [ "ark-std 0.4.0", ] +[[package]] +name = "ark-crypto-primitives" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" +dependencies = [ + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-snark 0.4.0", + "ark-std 0.4.0", + "blake2", + "derivative", + "digest 0.10.7", + "sha2 0.10.9", +] + [[package]] name = "ark-crypto-primitives" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e0c292754729c8a190e50414fd1a37093c786c709899f29c9f7daccecfa855e" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "ark-crypto-primitives-macros", "ark-ec 0.5.0", "ark-ff 0.5.0", - "ark-relations", + "ark-relations 0.5.1", "ark-serialize 0.5.0", - "ark-snark", + "ark-snark 0.5.1", "ark-std 0.5.0", "blake2", "derivative", "digest 0.10.7", "fnv", "merlin 3.0.0", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -1490,7 +1797,7 @@ checksum = "e7e89fe77d1f0f4fe5b96dfc940923d88d17b6a773808124f21e764dfb063c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1517,14 +1824,14 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "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", + "hashbrown 0.15.3", "itertools 0.13.0", "num-bigint 0.4.6", "num-integer", @@ -1667,7 +1974,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1705,7 +2012,22 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", +] + +[[package]] +name = "ark-groth16" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" +dependencies = [ + "ark-crypto-primitives 0.4.0", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-poly 0.4.2", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-std 0.4.0", ] [[package]] @@ -1714,11 +2036,11 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88f1d0f3a534bb54188b8dcc104307db6c56cdae574ddc3212aec0625740fc7e" dependencies = [ - "ark-crypto-primitives", + "ark-crypto-primitives 0.5.0", "ark-ec 0.5.0", "ark-ff 0.5.0", "ark-poly 0.5.0", - "ark-relations", + "ark-relations 0.5.1", "ark-serialize 0.5.0", "ark-std 0.5.0", ] @@ -1755,13 +2077,13 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "ark-ff 0.5.0", "ark-serialize 0.5.0", "ark-std 0.5.0", "educe", "fnv", - "hashbrown 0.15.2", + "hashbrown 0.15.3", ] [[package]] @@ -1772,7 +2094,7 @@ checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" dependencies = [ "ark-ec 0.5.0", "ark-ff 0.5.0", - "ark-relations", + "ark-relations 0.5.1", "ark-std 0.5.0", "educe", "num-bigint 0.4.6", @@ -1781,6 +2103,17 @@ dependencies = [ "tracing", ] +[[package]] +name = "ark-relations" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" +dependencies = [ + "ark-ff 0.4.2", + "ark-std 0.4.0", + "tracing", +] + [[package]] name = "ark-relations" version = "0.5.1" @@ -1876,7 +2209,19 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", +] + +[[package]] +name = "ark-snark" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" +dependencies = [ + "ark-ff 0.4.2", + "ark-relations 0.4.0", + "ark-serialize 0.4.2", + "ark-std 0.4.0", ] [[package]] @@ -1886,7 +2231,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d368e2848c2d4c129ce7679a7d0d2d612b6a274d3ea6a13bad4445d61b381b88" dependencies = [ "ark-ff 0.5.0", - "ark-relations", + "ark-relations 0.5.1", "ark-serialize 0.5.0", "ark-std 0.5.0", ] @@ -2046,7 +2391,7 @@ dependencies = [ "parachains-common", "parachains-runtimes-test-utils", "parity-scale-codec", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "staging-parachain-info", "staging-xcm", @@ -2114,14 +2459,15 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" +checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" dependencies = [ "async-task", "concurrent-queue", "fastrand", "futures-lite", + "pin-project-lite", "slab", ] @@ -2294,7 +2640,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -2311,7 +2657,7 @@ checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -2387,13 +2733,13 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73" +checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -2414,7 +2760,7 @@ version = "0.5.1" source = "git+https://github.com/availproject/avail-core?tag=core-goldberg-v1.11.0.0#34c910c175b6b7f18a48aabd1e64c86da5cfbad2" dependencies = [ "binary-merkle-tree 4.0.0-dev", - "derive_more 0.99.19", + "derive_more 0.99.20", "ethabi", "frame-support 4.0.0-dev", "hash256-std-hasher", @@ -2439,12 +2785,12 @@ dependencies = [ [[package]] name = "avail-core" version = "0.6.2" -source = "git+https://github.com/availproject/avail-core.git?branch=toufeeq%2Fscalable-da-2#d62ce4875148a69a62d77f224ed6dbe060cc92f5" +source = "git+https://github.com/availproject/avail-core.git?branch=toufeeq%2Fscalable-da-2#accff8cc89c01cd3694e08a67eadb612434b8495" dependencies = [ "binary-merkle-tree 13.0.0", "blake2b_simd", "bounded-collections 0.2.4", - "derive_more 0.99.19", + "derive_more 0.99.20", "ethabi-decode 2.0.0", "frame-support 28.0.0", "hash-db", @@ -2456,7 +2802,7 @@ dependencies = [ "primitive-types 0.12.2", "scale-info", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", "sp-arithmetic 23.0.0", "sp-debug-derive 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?rev=5237e012d7d973b7210fc1929b2f1ff8726333b5)", @@ -2478,7 +2824,7 @@ dependencies = [ "binary-merkle-tree 13.0.0", "blake2b_simd", "bounded-collections 0.2.4", - "derive_more 0.99.19", + "derive_more 0.99.20", "ethabi-decode 2.0.0", "frame-support 28.0.0", "hash-db", @@ -2490,7 +2836,7 @@ dependencies = [ "primitive-types 0.12.2", "scale-info", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", "sp-arithmetic 23.0.0", "sp-debug-derive 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?rev=5237e012d7d973b7210fc1929b2f1ff8726333b5)", @@ -2514,7 +2860,7 @@ dependencies = [ "base58 0.2.0", "bounded-collections 0.2.4", "derive_more 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "env_logger 0.11.7", + "env_logger 0.11.8", "hex", "jsonrpsee 0.24.9", "kate 0.9.2 (git+https://github.com/availproject/avail-core?rev=d62ce4875148a69a62d77f224ed6dbe060cc92f5)", @@ -2542,7 +2888,7 @@ dependencies = [ "avail-core 0.5.1", "bounded-collections 0.1.9", "curve25519-dalek 2.1.3", - "derive_more 0.99.19", + "derive_more 0.99.20", "futures", "hex", "jsonrpsee 0.16.3", @@ -2620,7 +2966,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" dependencies = [ "futures-core", - "getrandom 0.2.15", + "getrandom 0.2.16", "instant", "pin-project-lite", "rand 0.8.5", @@ -2629,9 +2975,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line 0.24.2", "cfg-if", @@ -2658,7 +3004,7 @@ dependencies = [ "rand_chacha 0.3.1", "rand_core 0.6.4", "ring 0.1.0", - "sha2 0.10.8", + "sha2 0.10.9", "sp-ark-bls12-381", "sp-ark-ed-on-bls12-381-bandersnatch", "zeroize", @@ -2765,12 +3111,12 @@ name = "bench" version = "1.0.0" dependencies = [ "bincode", - "env_logger 0.11.7", + "env_logger 0.11.8", "log", "nexus-core", "primitive-types 0.12.2", - "risc0-zkvm", - "sp1-sdk 4.1.4", + "risc0-zkvm 2.0.2", + "sp1-sdk 4.1.7", "sparse-merkle-tree", "zksync-core", "zksync-methods", @@ -2783,26 +3129,26 @@ version = "1.0.0" dependencies = [ "anyhow", "bincode", - "env_logger 0.11.7", + "env_logger 0.11.8", "host", "log", "nexus-core", "prover", - "risc0-zkvm", + "risc0-zkvm 2.0.2", "risc0-zkvm-platform 2.0.2", "rocksdb", "serde", "serde_json", - "sp1-sdk 4.1.4", + "sp1-sdk 4.1.7", "sparse-merkle-tree", "tokio", ] [[package]] name = "bigdecimal" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f31f3af01c5c65a07985c804d3366560e6fa7883d640a122819b14ec327482c" +checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" dependencies = [ "autocfg", "libm", @@ -2865,7 +3211,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -2885,7 +3231,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -2903,7 +3249,7 @@ dependencies = [ "regex", "rustc-hash 2.1.1", "shlex", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -3061,9 +3407,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.7.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17679a8d69b6d7fd9cd9801a536cec9fa5e5970b69f9d4747f70b39b031f5e7" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" dependencies = [ "arrayref", "arrayvec 0.7.6", @@ -3183,9 +3529,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", @@ -3193,15 +3539,15 @@ 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", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -3259,7 +3605,7 @@ dependencies = [ "scale-info", "serde", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3349,7 +3695,7 @@ dependencies = [ "scale-info", "serde", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-state-machine 0.43.0", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3391,7 +3737,7 @@ dependencies = [ "scale-info", "serde", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "staging-xcm", ] @@ -3462,10 +3808,10 @@ dependencies = [ "parachains-runtimes-test-utils", "parity-scale-codec", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-keyring", "sp-runtime 39.0.5", - "sp-tracing 17.0.1", + "sp-tracing 17.1.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -3494,7 +3840,7 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-trie 37.0.0", @@ -3504,9 +3850,9 @@ dependencies = [ [[package]] name = "brotli" -version = "7.0.0" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -3515,9 +3861,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -3535,15 +3881,15 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ - "sha2 0.10.8", + "sha2 0.10.9", "tinyvec", ] [[package]] name = "bstr" -version = "1.11.3" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0" +checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" dependencies = [ "memchr", "serde", @@ -3578,9 +3924,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.22.0" +version = "1.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" +checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c" dependencies = [ "bytemuck_derive", ] @@ -3593,7 +3939,7 @@ checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -3711,24 +4057,24 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb" dependencies = [ - "clap 4.5.32", + "clap 4.5.38", "heck 0.4.1", - "indexmap 2.8.0", + "indexmap 2.9.0", "log", "proc-macro2", "quote", "serde", "serde_json", - "syn 2.0.100", + "syn 2.0.101", "tempfile", - "toml 0.8.20", + "toml 0.8.22", ] [[package]] name = "cc" -version = "1.2.17" +version = "1.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a" +checksum = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1" dependencies = [ "jobserver", "libc", @@ -3756,7 +4102,7 @@ version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" dependencies = [ - "smallvec 1.14.0", + "smallvec 1.15.0", ] [[package]] @@ -3784,9 +4130,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", @@ -3836,9 +4182,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.32" +version = "4.5.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83" +checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" dependencies = [ "clap_builder", "clap_derive", @@ -3846,9 +4192,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.32" +version = "4.5.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8" +checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" dependencies = [ "anstream", "anstyle", @@ -3865,7 +4211,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -3901,12 +4247,12 @@ dependencies = [ "bs58 0.4.0", "coins-core 0.7.0", "digest 0.10.7", - "getrandom 0.2.15", + "getrandom 0.2.16", "hmac 0.12.1", "k256 0.11.6", "lazy_static", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "thiserror 1.0.69", ] @@ -3922,7 +4268,7 @@ dependencies = [ "hmac 0.12.1", "k256 0.13.4", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "thiserror 1.0.69", ] @@ -3934,12 +4280,12 @@ checksum = "2a11892bcac83b4c6e95ab84b5b06c76d9d70ad73548dd07418269c5c7977171" dependencies = [ "bitvec 0.17.4", "coins-bip32 0.7.0", - "getrandom 0.2.15", + "getrandom 0.2.16", "hex", "hmac 0.12.1", "pbkdf2 0.11.0", "rand 0.8.5", - "sha2 0.10.8", + "sha2 0.10.9", "thiserror 1.0.69", ] @@ -3955,7 +4301,7 @@ dependencies = [ "once_cell", "pbkdf2 0.12.2", "rand 0.8.5", - "sha2 0.10.8", + "sha2 0.10.9", "thiserror 1.0.69", ] @@ -3975,7 +4321,7 @@ dependencies = [ "ripemd", "serde", "serde_derive", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", "thiserror 1.0.69", ] @@ -3995,7 +4341,7 @@ dependencies = [ "ripemd", "serde", "serde_derive", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", "thiserror 1.0.69", ] @@ -4108,7 +4454,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "once_cell", "tiny-keccak", ] @@ -4145,12 +4491,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" -[[package]] -name = "constcat" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" - [[package]] name = "convert_case" version = "0.4.0" @@ -4266,7 +4606,7 @@ dependencies = [ "hashbrown 0.13.2", "log", "regalloc2 0.6.1", - "smallvec 1.14.0", + "smallvec 1.15.0", "target-lexicon", ] @@ -4302,7 +4642,7 @@ checksum = "64a25d9d0a0ae3079c463c34115ec59507b4707175454f0eee0891e83e30e82d" dependencies = [ "cranelift-codegen", "log", - "smallvec 1.14.0", + "smallvec 1.15.0", "target-lexicon", ] @@ -4334,16 +4674,16 @@ dependencies = [ "cranelift-frontend", "itertools 0.10.5", "log", - "smallvec 1.14.0", + "smallvec 1.15.0", "wasmparser", "wasmtime-types", ] [[package]] name = "crc" -version = "3.2.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" dependencies = [ "crc-catalog", ] @@ -4371,9 +4711,9 @@ checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" [[package]] name = "crossbeam-channel" -version = "0.5.14" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ "crossbeam-utils", ] @@ -4495,7 +4835,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" dependencies = [ "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4509,9 +4849,9 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.4.5" +version = "3.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" +checksum = "46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73" dependencies = [ "nix", "windows-sys 0.59.0", @@ -4554,16 +4894,16 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "staging-xcm", ] [[package]] name = "cumulus-pallet-parachain-system" -version = "0.17.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "546403ee1185f4051a74cc9c9d76e82c63cac3fb68e1bf29f61efb5604c96488" +checksum = "ab4255169e8fb9da8ef21630a381067483b2ffb9a3af23357ea150ee7fbdd517" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -4585,7 +4925,7 @@ dependencies = [ "sp-core 34.0.0", "sp-externalities 0.29.0", "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-state-machine 0.43.0", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4605,7 +4945,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4649,16 +4989,16 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "staging-xcm", ] [[package]] name = "cumulus-pallet-xcmp-queue" -version = "0.17.2" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "105767016b8136031f14cca439edf28c8493e3556e6781847758511bfef2477a" +checksum = "a4f4b7dec3206640120013d2ce6b476cbac8be9b93335f66b40255711db81301" dependencies = [ "bounded-collections 0.2.4", "bp-xcm-bridge-hub-router", @@ -4673,7 +5013,7 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "staging-xcm", "staging-xcm-builder", @@ -4783,9 +5123,9 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bdcf4d46dd93f1e6d5dd6d379133566a44042ba6476d04bdcbdb4981c622ae4" +checksum = "4f8ac1b7ed4431370526ed12df9435d73fa2fcb2a5b5c2df8a16f243865f1f40" dependencies = [ "cumulus-primitives-core", "frame-support 38.2.0", @@ -4863,7 +5203,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4914,9 +5254,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.150" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1cf22155cf6a8e0b0536efc30c775eadd7a481c376d2d7e30daf0825a42ef9" +checksum = "a71ea7f29c73f7ffa64c50b83c9fe4d3a6d4be89a86b009eb80d5a6d3429d741" dependencies = [ "cc", "cxxbridge-cmd", @@ -4928,47 +5268,47 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.150" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db4e07e3a69db032f03450594e53785a5d6b1d787c2ad5b901d9347f0064af94" +checksum = "36a8232661d66dcf713394726157d3cfe0a89bfc85f52d6e9f9bbc2306797fe7" dependencies = [ "cc", "codespan-reporting", "proc-macro2", "quote", "scratch", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] name = "cxxbridge-cmd" -version = "1.0.150" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e9ff9c627d3abe06190462f7db81fb6cc12f3424ea081c2a8c9ed7a8cc167a" +checksum = "4f44296c8693e9ea226a48f6a122727f77aa9e9e338380cb021accaeeb7ee279" dependencies = [ - "clap 4.5.32", + "clap 4.5.38", "codespan-reporting", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] name = "cxxbridge-flags" -version = "1.0.150" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e6417f4e1518ded330e088d5a66f50fbae9bbc96840e147058ae44970a2b51a" +checksum = "c42f69c181c176981ae44ba9876e2ea41ce8e574c296b38d06925ce9214fb8e4" [[package]] name = "cxxbridge-macro" -version = "1.0.150" +version = "1.0.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "856ff0dba6e023dd78189c8f4667126842dfe88392b5d4e94118bd18b8f2afbf" +checksum = "8faff5d4467e0709448187df29ccbf3b0982cc426ee444a193f87b11afb565a8" dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -4993,12 +5333,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]] @@ -5031,16 +5371,16 @@ 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", "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5067,13 +5407,13 @@ 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", + "syn 2.0.101", ] [[package]] @@ -5170,9 +5510,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "debugid" @@ -5191,7 +5531,7 @@ dependencies = [ "adapter_sdk", "demo_rollup_core", "nexus-core", - "risc0-zkvm", + "risc0-zkvm 2.0.2", ] [[package]] @@ -5216,9 +5556,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "pem-rfc7468", @@ -5227,9 +5567,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.4.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cfac68e08048ae1883171632c2aef3ebc555621ae56fbccce1cbf22dd7f058" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", ] @@ -5275,18 +5615,18 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] name = "derive-where" -version = "1.2.7" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" +checksum = "e73f2692d4bd3cac41dca28934a39894200c9fabf49586d77d0e5954af1d7902" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5297,7 +5637,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5315,10 +5655,10 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ - "darling 0.20.10", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5328,20 +5668,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] name = "derive_more" -version = "0.99.19" +version = "0.99.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" dependencies = [ "convert_case 0.4.0", "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5378,7 +5718,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "unicode-xid", ] @@ -5389,7 +5729,7 @@ source = "git+https://github.com/JelteF/derive_more?tag=v1.0.0#d7f5b9e94d0247906 dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "unicode-xid", ] @@ -5401,7 +5741,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "unicode-xid", ] @@ -5441,7 +5781,7 @@ version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" dependencies = [ - "dirs-sys", + "dirs-sys 0.4.1", ] [[package]] @@ -5460,7 +5800,16 @@ version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys", + "dirs-sys 0.4.1", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys 0.5.0", ] [[package]] @@ -5481,10 +5830,22 @@ checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ "libc", "option-ext", - "redox_users", + "redox_users 0.4.6", "windows-sys 0.48.0", ] +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users 0.5.0", + "windows-sys 0.59.0", +] + [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -5492,7 +5853,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", - "redox_users", + "redox_users 0.4.6", "winapi", ] @@ -5504,7 +5865,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5544,9 +5905,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.100", + "syn 2.0.101", "termcolor", - "toml 0.8.20", + "toml 0.8.22", "walkdir", ] @@ -5684,7 +6045,7 @@ checksum = "7e8671d54058979a37a26f3511fbf8d198ba1aa35ffb202c42587d918d77213a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5711,7 +6072,7 @@ version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ - "der 0.7.9", + "der 0.7.10", "digest 0.10.7", "elliptic-curve 0.13.8", "rfc6979 0.4.0", @@ -5760,7 +6121,7 @@ dependencies = [ "curve25519-dalek 4.1.3", "ed25519 2.2.3", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "subtle", "zeroize", ] @@ -5790,7 +6151,7 @@ dependencies = [ "hashbrown 0.14.5", "hex", "rand_core 0.6.4", - "sha2 0.10.8", + "sha2 0.10.9", "zeroize", ] @@ -5803,7 +6164,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5943,7 +6304,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5963,7 +6324,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5983,7 +6344,7 @@ checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -5994,7 +6355,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -6022,9 +6383,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.7" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3716d7a920fb4fac5d84e9d4bce8ceb321e9414b4409da61b07b75c1e3d0697" +checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" dependencies = [ "anstream", "anstyle", @@ -6066,9 +6427,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" dependencies = [ "libc", "windows-sys 0.59.0", @@ -6101,7 +6462,7 @@ dependencies = [ "scrypt 0.10.0", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", "thiserror 1.0.69", "uuid 0.8.2", @@ -6195,7 +6556,7 @@ version = "1.0.0" dependencies = [ "ethereum-core", "nexus-core", - "risc0-zkvm", + "risc0-zkvm 2.0.2", ] [[package]] @@ -6203,13 +6564,13 @@ 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.38", "derive_more 1.0.0 (git+https://github.com/JelteF/derive_more?tag=v1.0.0)", "dotenv", - "env_logger 0.11.7", + "env_logger 0.11.8", "ethereum-adapter-methods", "ethereum-core", "helios-consensus-core", @@ -6217,11 +6578,11 @@ dependencies = [ "log", "nexus-core", "reqwest 0.12.15", - "risc0-zkvm", + "risc0-zkvm 2.0.2", "serde", "serde_cbor", "serde_json", - "sp1-sdk 4.1.4", + "sp1-sdk 4.1.7", "tokio", "tracing", "tracing-subscriber 0.3.19", @@ -6232,8 +6593,8 @@ dependencies = [ name = "ethereum-adapter-methods" version = "1.0.0" dependencies = [ - "risc0-build 2.1.1", - "sp1-build 4.1.4", + "risc0-build", + "sp1-build 4.2.0", ] [[package]] @@ -6242,8 +6603,8 @@ version = "1.0.0" dependencies = [ "ethereum-core", "nexus-core", - "sp1-derive 4.1.4", - "sp1-zkvm 4.1.4", + "sp1-derive 4.2.0", + "sp1-zkvm 4.2.0", ] [[package]] @@ -6251,7 +6612,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", @@ -6295,7 +6656,7 @@ version = "0.7.0" source = "git+https://github.com/ncitron/ethereum_hashing?rev=7ee70944ed4fabe301551da8c447e4f4ae5e6c35#7ee70944ed4fabe301551da8c447e4f4ae5e6c35" dependencies = [ "cpufeatures", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -6304,7 +6665,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", @@ -6317,12 +6678,12 @@ 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", "serde_derive", - "smallvec 1.14.0", + "smallvec 1.15.0", "typenum", ] @@ -6332,10 +6693,10 @@ 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", + "syn 2.0.101", ] [[package]] @@ -6400,8 +6761,8 @@ dependencies = [ "regex", "serde", "serde_json", - "syn 2.0.100", - "toml 0.8.20", + "syn 2.0.101", + "toml 0.8.22", "walkdir", ] @@ -6418,7 +6779,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -6473,7 +6834,7 @@ dependencies = [ "serde", "serde_json", "strum 0.26.3", - "syn 2.0.100", + "syn 2.0.101", "tempfile", "thiserror 1.0.69", "tiny-keccak", @@ -6556,7 +6917,7 @@ dependencies = [ "ethers-core 1.0.2", "hex", "rand 0.8.5", - "sha2 0.10.8", + "sha2 0.10.9", "thiserror 1.0.69", ] @@ -6574,16 +6935,16 @@ dependencies = [ "eth-keystore", "ethers-core 2.0.14", "rand 0.8.5", - "sha2 0.10.8", + "sha2 0.10.9", "thiserror 1.0.69", "tracing", ] [[package]] name = "ethnum" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c" +checksum = "0939f82868b77ef93ce3c3c3daf2b3c526b456741da5a1a4559e590965b6026b" dependencies = [ "serde", ] @@ -6618,9 +6979,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", @@ -6638,7 +6999,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -6764,7 +7125,7 @@ dependencies = [ "atomic", "pear", "serde", - "toml 0.8.20", + "toml 0.8.22", "uncased", "version_check", ] @@ -6868,9 +7229,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" +checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" dependencies = [ "crc32fast", "miniz_oxide", @@ -6926,7 +7287,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -6952,9 +7313,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" @@ -6974,7 +7335,7 @@ dependencies = [ "sp-api 34.0.0", "sp-application-crypto 38.0.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-runtime-interface 28.0.0", "sp-storage 21.0.0", @@ -6992,7 +7353,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -7019,7 +7380,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -7033,7 +7394,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", "sp-npos-elections", "sp-runtime 39.0.5", @@ -7053,9 +7414,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", - "sp-tracing 17.0.1", + "sp-tracing 17.1.0", ] [[package]] @@ -7127,7 +7488,7 @@ dependencies = [ "paste", "scale-info", "serde", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-api 4.0.0-dev", "sp-arithmetic 16.0.0", "sp-core 21.0.0", @@ -7165,7 +7526,7 @@ dependencies = [ "scale-info", "serde", "serde_json", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-api 26.0.0", "sp-arithmetic 23.0.0", "sp-core 28.0.0", @@ -7207,22 +7568,22 @@ dependencies = [ "scale-info", "serde", "serde_json", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-api 34.0.0", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", "sp-crypto-hashing-proc-macro 0.1.0", "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-genesis-builder 0.15.1", "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-metadata-ir 0.7.0", "sp-runtime 39.0.5", "sp-staking 36.0.0", "sp-state-machine 0.43.0", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 17.0.1", - "sp-weights 31.0.0", + "sp-tracing 17.1.0", + "sp-weights 31.1.0", "static_assertions", "tt-call", ] @@ -7242,7 +7603,7 @@ dependencies = [ "proc-macro-warning 0.4.2", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -7261,7 +7622,7 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing 0.0.0", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -7282,7 +7643,7 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing 0.1.0", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -7294,7 +7655,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -7306,7 +7667,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -7319,7 +7680,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -7329,7 +7690,7 @@ source = "git+https://github.com/availproject/substrate.git?branch=goldberg#da7b dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -7339,7 +7700,7 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?rev=5237e012d7d97 dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -7350,7 +7711,7 @@ checksum = "ed971c6435503a099bdac99fe4c5bea08981709e5b5a0a8535a1856f48561191" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -7367,11 +7728,11 @@ dependencies = [ "scale-info", "serde", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-version 37.0.0", - "sp-weights 31.0.0", + "sp-weights 31.1.0", ] [[package]] @@ -7518,7 +7879,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -7643,7 +8004,8 @@ dependencies = [ "nexus-core", "parity-scale-codec", "relayer", - "risc0-zkvm", + "risc0-ethereum-contracts", + "risc0-zkvm 2.0.2", "serde", "serde_json", "sp-runtime 33.0.0", @@ -7657,7 +8019,7 @@ dependencies = [ name = "geth-methods" version = "1.0.0" dependencies = [ - "risc0-build 2.1.1", + "risc0-build", ] [[package]] @@ -7673,9 +8035,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "js-sys", @@ -7686,9 +8048,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "js-sys", @@ -7909,7 +8271,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.8.0", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", @@ -7918,9 +8280,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" +checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" dependencies = [ "atomic-waker", "bytes", @@ -7928,7 +8290,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.8.0", + "indexmap 2.9.0", "slab", "tokio", "tokio-util", @@ -8012,7 +8374,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", ] [[package]] @@ -8021,16 +8383,16 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "allocator-api2", "serde", ] [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" dependencies = [ "allocator-api2", "equivalent", @@ -8132,13 +8494,13 @@ name = "helios-consensus-core" version = "0.8.1" source = "git+https://github.com/a16z/helios?tag=0.8.1#ca1fb55cbf01109b7f494963c5e4dd5c1f8db6b7" dependencies = [ - "alloy", + "alloy 0.9.2", "alloy-rlp", "bls12_381 0.8.0", "ethereum_ssz", "ethereum_ssz_derive", "eyre", - "getrandom 0.2.15", + "getrandom 0.2.16", "serde", "sha2 0.9.9", "ssz_types", @@ -8157,7 +8519,7 @@ name = "helios-core" version = "0.8.1" source = "git+https://github.com/a16z/helios?tag=0.8.1#ca1fb55cbf01109b7f494963c5e4dd5c1f8db6b7" dependencies = [ - "alloy", + "alloy 0.9.2", "alloy-trie", "async-trait", "eyre", @@ -8183,15 +8545,15 @@ name = "helios-ethereum" version = "0.8.1" source = "git+https://github.com/a16z/helios?tag=0.8.1#ca1fb55cbf01109b7f494963c5e4dd5c1f8db6b7" dependencies = [ - "alloy", + "alloy 0.9.2", "alloy-trie", "async-trait", "chrono", - "dirs", + "dirs 5.0.1", "eyre", "figment", "futures", - "getrandom 0.2.15", + "getrandom 0.2.16", "helios-consensus-core", "helios-core", "hex", @@ -8237,9 +8599,9 @@ checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" [[package]] name = "hermit-abi" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" +checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" [[package]] name = "hex" @@ -8351,12 +8713,12 @@ dependencies = [ "prover", "relayer", "reqwest 0.12.15", - "risc0-zkvm", + "risc0-zkvm 2.0.2", "rocksdb", "serde", "serde_json", "sp-runtime 33.0.0", - "sp1-sdk 4.1.4", + "sp1-sdk 4.1.7", "tokio", "tracing", "tracing-subscriber 0.3.19", @@ -8511,14 +8873,14 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.8", + "h2 0.4.10", "http 1.3.1", "http-body 1.0.1", "httparse", "httpdate", "itoa", "pin-project-lite", - "smallvec 1.14.0", + "smallvec 1.15.0", "tokio", "want", ] @@ -8551,12 +8913,12 @@ dependencies = [ "hyper 1.6.0", "hyper-util", "log", - "rustls 0.23.25", + "rustls 0.23.27", "rustls-pki-types", "tokio", "tokio-rustls 0.26.2", "tower-service", - "webpki-roots 0.26.8", + "webpki-roots 0.26.11", ] [[package]] @@ -8603,9 +8965,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", @@ -8613,6 +8975,7 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "hyper 1.6.0", + "libc", "pin-project-lite", "socket2", "tokio", @@ -8622,9 +8985,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", @@ -8632,7 +8995,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core", + "windows-core 0.61.0", ] [[package]] @@ -8659,27 +9022,28 @@ dependencies = [ "prost 0.12.6", "ripemd", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", ] [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -8688,99 +9052,66 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", "icu_provider", - "smallvec 1.14.0", - "utf16_iter", - "utf8_iter", - "write16", + "smallvec 1.15.0", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a" dependencies = [ "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -8804,15 +9135,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ "idna_adapter", - "smallvec 1.14.0", + "smallvec 1.15.0", "utf8_iter", ] [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -8888,7 +9219,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -8935,12 +9266,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.3", "serde", ] @@ -9053,7 +9384,7 @@ version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.5.0", + "hermit-abi 0.5.1", "libc", "windows-sys 0.59.0", ] @@ -9126,9 +9457,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jiff" -version = "0.2.5" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c102670231191d07d37a35af3eb77f1f0dbf7a71be51a962dcd57ea607be7260" +checksum = "f02000660d30638906021176af16b17498bd0d12813dbfe7b276d8bc7f3c0806" dependencies = [ "jiff-static", "log", @@ -9139,13 +9470,13 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.5" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cdde31a9d349f1b1f51a0b3714a5940ac022976f4b49485fc04be052b183b4c" +checksum = "f3c30758ddd7188629c6713fc45d1188af4f44c90582311d0c8d8c9907f60c48" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -9165,7 +9496,7 @@ dependencies = [ "num-traits", "parking_lot", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "thiserror 1.0.69", "tracing", ] @@ -9194,10 +9525,11 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ + "getrandom 0.3.3", "libc", ] @@ -9330,7 +9662,7 @@ dependencies = [ "http 1.3.1", "jsonrpsee-core 0.24.9", "pin-project", - "rustls 0.23.25", + "rustls 0.23.27", "rustls-pki-types", "rustls-platform-verifier", "soketto 0.8.1", @@ -9470,7 +9802,7 @@ dependencies = [ "hyper-util", "jsonrpsee-core 0.24.9", "jsonrpsee-types 0.24.9", - "rustls 0.23.25", + "rustls 0.23.27", "rustls-platform-verifier", "serde", "serde_json", @@ -9663,7 +9995,7 @@ dependencies = [ "cfg-if", "ecdsa 0.14.8", "elliptic-curve 0.12.3", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", ] @@ -9678,17 +10010,17 @@ dependencies = [ "elliptic-curve 0.13.8", "once_cell", "serdect", - "sha2 0.10.8", + "sha2 0.10.9", "signature 2.2.0", ] [[package]] name = "kate" version = "0.9.2" -source = "git+https://github.com/availproject/avail-core.git?branch=toufeeq%2Fscalable-da-2#d62ce4875148a69a62d77f224ed6dbe060cc92f5" +source = "git+https://github.com/availproject/avail-core.git?branch=toufeeq%2Fscalable-da-2#accff8cc89c01cd3694e08a67eadb612434b8495" dependencies = [ "avail-core 0.6.2 (git+https://github.com/availproject/avail-core.git?branch=toufeeq%2Fscalable-da-2)", - "derive_more 0.99.19", + "derive_more 0.99.20", "dusk-bytes", "dusk-plonk", "hex", @@ -9716,7 +10048,7 @@ version = "0.9.2" source = "git+https://github.com/availproject/avail-core?rev=d62ce4875148a69a62d77f224ed6dbe060cc92f5#d62ce4875148a69a62d77f224ed6dbe060cc92f5" dependencies = [ "avail-core 0.6.2 (git+https://github.com/availproject/avail-core?rev=d62ce4875148a69a62d77f224ed6dbe060cc92f5)", - "derive_more 0.99.19", + "derive_more 0.99.20", "dusk-bytes", "dusk-plonk", "hex", @@ -9741,10 +10073,10 @@ dependencies = [ [[package]] name = "kate-recovery" version = "0.10.0" -source = "git+https://github.com/availproject/avail-core.git?branch=toufeeq%2Fscalable-da-2#d62ce4875148a69a62d77f224ed6dbe060cc92f5" +source = "git+https://github.com/availproject/avail-core.git?branch=toufeeq%2Fscalable-da-2#accff8cc89c01cd3694e08a67eadb612434b8495" dependencies = [ "avail-core 0.6.2 (git+https://github.com/availproject/avail-core.git?branch=toufeeq%2Fscalable-da-2)", - "derive_more 0.99.19", + "derive_more 0.99.20", "dusk-bytes", "dusk-plonk", "once_cell", @@ -9764,7 +10096,7 @@ version = "0.10.0" source = "git+https://github.com/availproject/avail-core?rev=d62ce4875148a69a62d77f224ed6dbe060cc92f5#d62ce4875148a69a62d77f224ed6dbe060cc92f5" dependencies = [ "avail-core 0.6.2 (git+https://github.com/availproject/avail-core?rev=d62ce4875148a69a62d77f224ed6dbe060cc92f5)", - "derive_more 0.99.19", + "derive_more 0.99.20", "dusk-bytes", "dusk-plonk", "once_cell", @@ -9887,7 +10219,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -9913,9 +10245,9 @@ checksum = "db13adb97ab515a3691f56e4dbab09283d0b86cb45abd991d8634a9d6f501760" [[package]] name = "libc" -version = "0.2.171" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libgit2-sys" @@ -9931,19 +10263,19 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +checksum = "6a793df0d7afeac54f95b471d3af7f0d4fb975699f972341a4b76988d49cdf0c" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.53.0", ] [[package]] name = "libm" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" @@ -10075,15 +10407,15 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "local-channel" @@ -10109,14 +10441,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", - "scopeguard", -] - -[[package]] -name = "lockfree-object-pool" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" + "scopeguard", +] [[package]] name = "log" @@ -10148,7 +10474,7 @@ dependencies = [ "proc-macro2", "quote", "regex-syntax 0.6.29", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10184,9 +10510,15 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.3", ] +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + [[package]] name = "lz4-sys" version = "1.11.1+lz4-1.10.0" @@ -10225,7 +10557,7 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10237,7 +10569,7 @@ dependencies = [ "macro_magic_core 0.4.2", "macro_magic_macros 0.4.2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10249,7 +10581,7 @@ dependencies = [ "macro_magic_core 0.5.1", "macro_magic_macros 0.5.1", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10263,7 +10595,7 @@ dependencies = [ "macro_magic_core_macros 0.4.3", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10277,7 +10609,7 @@ dependencies = [ "macro_magic_core_macros 0.5.1", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10288,7 +10620,7 @@ checksum = "d710e1214dffbab3b5dacb21475dde7d6ed84c69ff722b3a47a782668d44fbac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10299,7 +10631,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10310,7 +10642,7 @@ checksum = "b8fb85ec1620619edf2984a7693497d4ec88a9665d8b87e942856884c92dbf2a" dependencies = [ "macro_magic_core 0.4.2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10321,7 +10653,7 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core 0.5.1", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10423,9 +10755,9 @@ checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "matrixmultiply" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a" +checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" dependencies = [ "autocfg", "rawpointer", @@ -10439,7 +10771,7 @@ checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10549,7 +10881,7 @@ dependencies = [ name = "methods" version = "1.0.0" dependencies = [ - "risc0-build 2.1.1", + "risc0-build", ] [[package]] @@ -10572,7 +10904,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10599,9 +10931,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" dependencies = [ "adler2", ] @@ -10634,7 +10966,7 @@ checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" name = "mock_elf" version = "1.0.0" dependencies = [ - "risc0-build 2.1.1", + "risc0-build", "sp1-build 3.4.0", ] @@ -10642,7 +10974,7 @@ dependencies = [ name = "mock_guest_risc0" version = "1.0.0" dependencies = [ - "risc0-zkvm", + "risc0-zkvm 2.0.2", "risc0-zkvm-platform 2.0.2", ] @@ -10676,7 +11008,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -10705,9 +11037,9 @@ checksum = "685a9ac4b61f4e728e1d2c6a7844609c16527aeb5e6c865915c08e619c16410f" [[package]] name = "multimap" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" +checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" [[package]] name = "nalgebra" @@ -10794,13 +11126,13 @@ dependencies = [ "kzg", "mock_elf", "parity-scale-codec", - "risc0-zkvm", + "risc0-zkvm 2.0.2", "rocksdb", "scale-info", "serde", "serde-big-array 0.5.1", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "solabi", "sp1-sdk 3.4.0", "sp1-zkvm 3.4.0", @@ -10830,9 +11162,9 @@ dependencies = [ "nexus-core", "parity-scale-codec", "prover", - "rand 0.9.0", + "rand 0.9.1", "relayer", - "risc0-zkvm", + "risc0-zkvm 2.0.2", "rocksdb", "serde", "serde_json", @@ -10847,7 +11179,7 @@ dependencies = [ name = "nexus_cli" version = "1.0.0" dependencies = [ - "clap 4.5.32", + "clap 4.5.38", ] [[package]] @@ -10855,7 +11187,7 @@ name = "nexus_runtime" version = "1.0.0" dependencies = [ "nexus-core", - "risc0-zkvm", + "risc0-zkvm 2.0.2", "risc0-zkvm-platform 2.0.2", ] @@ -10864,15 +11196,15 @@ name = "nexus_runtime_sp1" version = "1.0.0" dependencies = [ "nexus-core", - "risc0-zkvm", - "sp1-zkvm 4.1.4", + "risc0-zkvm 2.0.2", + "sp1-zkvm 4.2.0", ] [[package]] name = "nix" -version = "0.29.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ "bitflags 2.9.0", "cfg-if", @@ -11014,7 +11346,7 @@ dependencies = [ "num-iter", "num-traits", "rand 0.8.5", - "smallvec 1.14.0", + "smallvec 1.15.0", "zeroize", ] @@ -11053,7 +11385,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -11172,7 +11504,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -11209,7 +11541,7 @@ dependencies = [ "const-hex", "proptest", "serde", - "smallvec 1.14.0", + "smallvec 1.15.0", ] [[package]] @@ -11264,9 +11596,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" @@ -11307,9 +11639,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.71" +version = "0.10.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" +checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" dependencies = [ "bitflags 2.9.0", "cfg-if", @@ -11328,7 +11660,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -11339,18 +11671,18 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-src" -version = "300.4.2+3.4.1" +version = "300.5.0+3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168ce4e058f975fe43e89d9ccf78ca668601887ae736090aacc23ae353c298e2" +checksum = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.106" +version = "0.9.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd" +checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" dependencies = [ "cc", "libc", @@ -11474,9 +11806,9 @@ dependencies = [ [[package]] name = "os_info" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a604e53c24761286860eba4e2c8b23a0161526476b1de520139d69cdb85a6b5" +checksum = "41fc863e2ca13dc2d5c34fb22ea4a588248ac14db929616ba65c45f21744b1e9" dependencies = [ "log", "serde", @@ -11498,7 +11830,7 @@ dependencies = [ "ecdsa 0.16.9", "elliptic-curve 0.13.8", "primeorder", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -11513,12 +11845,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]] @@ -11538,15 +11870,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", ] @@ -11578,15 +11910,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", ] @@ -11607,14 +11939,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", ] @@ -11636,15 +11968,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", ] @@ -11663,14 +11995,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", ] @@ -11690,14 +12022,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", ] @@ -11723,19 +12055,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", ] @@ -11753,13 +12085,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]] @@ -11778,15 +12110,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", ] @@ -11807,14 +12139,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", @@ -11831,9 +12163,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", ] @@ -11855,16 +12187,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", ] @@ -11887,17 +12219,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", ] @@ -11918,14 +12250,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", ] @@ -11943,12 +12275,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", ] @@ -11973,19 +12305,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", ] @@ -12001,9 +12333,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", ] @@ -12042,7 +12374,7 @@ dependencies = [ "scale-info", "sp-core 34.0.0", "sp-crypto-hashing 0.1.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12059,9 +12391,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api 34.0.0", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12078,9 +12410,9 @@ dependencies = [ "pallet-asset-conversion", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12128,7 +12460,7 @@ dependencies = [ "scale-info", "serde", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12176,7 +12508,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12245,7 +12577,7 @@ dependencies = [ "sp-application-crypto 38.0.0", "sp-consensus-babe", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-session", "sp-staking 36.0.0", @@ -12268,9 +12600,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", - "sp-tracing 17.0.1", + "sp-tracing 17.1.0", ] [[package]] @@ -12330,7 +12662,7 @@ dependencies = [ "sp-api 34.0.0", "sp-consensus-beefy", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-state-machine 0.43.0", ] @@ -12349,7 +12681,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12434,7 +12766,7 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -12453,7 +12785,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api 34.0.0", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", "sp-runtime 39.0.5", ] @@ -12473,7 +12805,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12510,7 +12842,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12550,10 +12882,10 @@ dependencies = [ "rand 0.8.5", "scale-info", "serde", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-api 34.0.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "staging-xcm", @@ -12588,10 +12920,10 @@ dependencies = [ "scale-info", "sp-api 34.0.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-keystore 0.40.0", "sp-runtime 39.0.5", - "sp-tracing 17.0.1", + "sp-tracing 17.1.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -12600,13 +12932,13 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" -version = "23.0.2" +version = "23.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3170e2f4a3d95f2ace274b703a72630294f0a27c687a4adbad9590e2b3e5fe82" +checksum = "e35aaa3d7f1dba4ea7b74d7015e6068b753d1f7f63b39a4ce6377de1bc51b476" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -12634,7 +12966,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12651,9 +12983,9 @@ dependencies = [ "pallet-ranked-collective", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12668,7 +13000,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-staking 36.0.0", ] @@ -12687,7 +13019,7 @@ dependencies = [ "scale-info", "serde", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12703,7 +13035,7 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12722,9 +13054,9 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-npos-elections", "sp-runtime 39.0.5", "strum 0.26.3", @@ -12757,7 +13089,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-npos-elections", "sp-runtime 39.0.5", "sp-staking 36.0.0", @@ -12777,7 +13109,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-staking 36.0.0", ] @@ -12797,7 +13129,7 @@ dependencies = [ "scale-info", "sp-core 34.0.0", "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12818,7 +13150,7 @@ dependencies = [ "sp-application-crypto 38.0.0", "sp-consensus-grandpa", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-session", "sp-staking 36.0.0", @@ -12837,7 +13169,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12856,7 +13188,7 @@ dependencies = [ "scale-info", "sp-application-crypto 38.0.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-staking 36.0.0", ] @@ -12873,7 +13205,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-keyring", "sp-runtime 39.0.5", ] @@ -12919,7 +13251,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -12936,11 +13268,11 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", - "sp-weights 31.0.0", + "sp-weights 31.1.0", ] [[package]] @@ -12975,8 +13307,8 @@ dependencies = [ "scale-info", "serde", "sp-application-crypto 38.0.0", - "sp-arithmetic 26.0.0", - "sp-io 38.0.0", + "sp-arithmetic 26.1.0", + "sp-io 38.0.2", "sp-mixnet", "sp-runtime 39.0.5", ] @@ -12994,7 +13326,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-mmr-primitives", "sp-runtime 39.0.5", ] @@ -13011,7 +13343,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13046,7 +13378,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13072,7 +13404,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", "sp-runtime 39.0.5", ] @@ -13089,7 +13421,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13106,10 +13438,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-staking 36.0.0", - "sp-tracing 17.0.1", + "sp-tracing 17.1.0", ] [[package]] @@ -13198,7 +13530,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-metadata-ir 0.7.0", "sp-runtime 39.0.5", ] @@ -13234,7 +13566,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13249,7 +13581,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13266,9 +13598,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13283,7 +13615,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13300,8 +13632,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 26.0.0", - "sp-io 38.0.0", + "sp-arithmetic 26.1.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13318,7 +13650,7 @@ dependencies = [ "scale-info", "serde", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13346,7 +13678,7 @@ dependencies = [ "serde", "sp-api 34.0.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "staging-xcm", @@ -13365,7 +13697,7 @@ dependencies = [ "polkavm-linker 0.10.0", "sp-runtime 39.0.5", "tempfile", - "toml 0.8.20", + "toml 0.8.22", ] [[package]] @@ -13393,10 +13725,10 @@ dependencies = [ "scale-info", "sp-api 34.0.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-keystore 0.40.0", "sp-runtime 39.0.5", - "sp-tracing 17.0.1", + "sp-tracing 17.1.0", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -13411,7 +13743,7 @@ checksum = "b8aee42afa416be6324cf6650c137da9742f27dc7be3c7ed39ad9748baf3b9ae" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -13454,7 +13786,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13473,7 +13805,7 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-runtime 39.0.5", ] @@ -13490,9 +13822,9 @@ dependencies = [ "pallet-ranked-collective", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13509,9 +13841,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", - "sp-weights 31.0.0", + "sp-weights 31.1.0", ] [[package]] @@ -13524,7 +13856,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13542,7 +13874,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-session", "sp-staking 36.0.0", @@ -13593,8 +13925,8 @@ dependencies = [ "parity-scale-codec", "rand_chacha 0.3.1", "scale-info", - "sp-arithmetic 26.0.0", - "sp-io 38.0.0", + "sp-arithmetic 26.1.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13615,19 +13947,19 @@ dependencies = [ "scale-info", "serde", "sp-application-crypto 38.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-staking 36.0.0", ] [[package]] name = "pallet-staking-reward-fn" -version = "22.0.0" +version = "22.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "988a7ebeacc84d4bdb0b12409681e956ffe35438447d8f8bc78db547cffb6ebc" +checksum = "4b982dbfe9fbc548dc7f9a3078214989ed58cabf521a8313ae1767d6b4b53b9b" dependencies = [ "log", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", ] [[package]] @@ -13654,7 +13986,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13671,7 +14003,7 @@ dependencies = [ "scale-info", "sp-api 34.0.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-statement-store", ] @@ -13688,7 +14020,7 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13706,7 +14038,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-storage 21.0.0", "sp-timestamp", @@ -13727,7 +14059,7 @@ dependencies = [ "scale-info", "serde", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13743,7 +14075,7 @@ dependencies = [ "scale-info", "serde", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13757,7 +14089,7 @@ dependencies = [ "parity-scale-codec", "sp-api 34.0.0", "sp-runtime 39.0.5", - "sp-weights 31.0.0", + "sp-weights 31.1.0", ] [[package]] @@ -13775,7 +14107,7 @@ dependencies = [ "scale-info", "serde", "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-transaction-storage-proof", ] @@ -13844,7 +14176,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", ] @@ -13894,7 +14226,7 @@ dependencies = [ "scale-info", "serde", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "staging-xcm", "staging-xcm-builder", @@ -13905,17 +14237,16 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" -version = "17.0.0" +version = "17.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da423463933b42f4a4c74175f9e9295a439de26719579b894ce533926665e4a" +checksum = "05bfc67610a37d0bd98487b82edfbf9629d3a9699b52d5758e9d64cf78b3b7ae" dependencies = [ "frame-benchmarking", "frame-support 38.2.0", "frame-system", - "log", "parity-scale-codec", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "staging-xcm", "staging-xcm-builder", @@ -13988,7 +14319,7 @@ dependencies = [ "scale-info", "sp-consensus-aura", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "staging-parachain-info", "staging-xcm", @@ -14018,9 +14349,9 @@ dependencies = [ "polkadot-parachain-primitives", "sp-consensus-aura", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", - "sp-tracing 17.0.1", + "sp-tracing 17.1.0", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -14072,7 +14403,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -14089,7 +14420,7 @@ dependencies = [ "parity-util-mem-derive", "parking_lot", "primitive-types 0.12.2", - "smallvec 1.14.0", + "smallvec 1.15.0", "winapi", ] @@ -14135,7 +14466,7 @@ dependencies = [ "cfg-if", "libc", "redox_syscall", - "smallvec 1.14.0", + "smallvec 1.15.0", "windows-targets 0.52.6", ] @@ -14221,7 +14552,7 @@ dependencies = [ "digest 0.10.7", "hmac 0.12.1", "password-hash 0.4.2", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -14255,7 +14586,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -14300,7 +14631,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.8.0", + "indexmap 2.9.0", ] [[package]] @@ -14345,7 +14676,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -14377,7 +14708,7 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ - "der 0.7.9", + "der 0.7.10", "pkcs8 0.10.2", "spki 0.7.3", ] @@ -14398,7 +14729,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der 0.7.9", + "der 0.7.10", "spki 0.7.3", ] @@ -14437,14 +14768,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52b5648a2e8ce1f9a0f8c41c38def670cefd91932cd793468e1a5b0b0b4e4af1" dependencies = [ "bounded-collections 0.2.4", - "derive_more 0.99.19", + "derive_more 0.99.20", "parity-scale-codec", "polkadot-core-primitives", "scale-info", "serde", "sp-core 34.0.0", "sp-runtime 39.0.5", - "sp-weights 31.0.0", + "sp-weights 31.1.0", ] [[package]] @@ -14463,12 +14794,12 @@ dependencies = [ "serde", "sp-api 34.0.0", "sp-application-crypto 38.0.0", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-authority-discovery", "sp-consensus-slots", "sp-core 34.0.0", "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-keystore 0.40.0", "sp-runtime 39.0.5", "sp-staking 34.0.0", @@ -14490,12 +14821,12 @@ dependencies = [ "serde", "sp-api 34.0.0", "sp-application-crypto 38.0.0", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-authority-discovery", "sp-consensus-slots", "sp-core 34.0.0", "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-keystore 0.40.0", "sp-runtime 39.0.5", "sp-staking 36.0.0", @@ -14503,9 +14834,9 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "17.0.0" +version = "17.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc15154ba5ca55d323fcf7af0f5dcd39d58dcb4dfac3d9b30404840a6d8bbde4" +checksum = "1aaafdb12ef0cc23912bd71cdd636f62831be0c359d55d310bb30b72e72ac7ee" dependencies = [ "bitvec 1.0.1", "frame-benchmarking", @@ -14540,7 +14871,7 @@ dependencies = [ "sp-api 34.0.0", "sp-core 34.0.0", "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-npos-elections", "sp-runtime 39.0.5", "sp-session", @@ -14561,7 +14892,7 @@ dependencies = [ "frame-benchmarking", "parity-scale-codec", "polkadot-primitives 16.0.0", - "sp-tracing 17.0.1", + "sp-tracing 17.1.0", ] [[package]] @@ -14572,7 +14903,7 @@ checksum = "1d4cdf181c2419b35c2cbde813da2d8ee777b69b4a6fa346b962d144e3521976" dependencies = [ "bitflags 1.3.2", "bitvec 1.0.1", - "derive_more 0.99.19", + "derive_more 0.99.20", "frame-benchmarking", "frame-support 38.2.0", "frame-system", @@ -14600,10 +14931,10 @@ dependencies = [ "serde", "sp-api 34.0.0", "sp-application-crypto 38.0.0", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-keystore 0.40.0", "sp-runtime 39.0.5", "sp-session", @@ -14795,7 +15126,7 @@ dependencies = [ "sp-api 34.0.0", "sp-api-proc-macro 20.0.0", "sp-application-crypto 38.0.0", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-authority-discovery", "sp-block-builder", "sp-consensus-aura", @@ -14812,7 +15143,7 @@ dependencies = [ "sp-externalities 0.29.0", "sp-genesis-builder 0.15.1", "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-keyring", "sp-keystore 0.40.0", "sp-metadata-ir 0.7.0", @@ -14829,13 +15160,13 @@ dependencies = [ "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-storage 21.0.0", "sp-timestamp", - "sp-tracing 17.0.1", + "sp-tracing 17.1.0", "sp-transaction-pool", "sp-transaction-storage-proof", "sp-trie 37.0.0", "sp-version 37.0.0", "sp-wasm-interface 21.0.1", - "sp-weights 31.0.0", + "sp-weights 31.1.0", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", @@ -14863,13 +15194,13 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api 34.0.0", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-block-builder", "sp-consensus-aura", "sp-consensus-grandpa", "sp-core 34.0.0", "sp-inherents 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-offchain", "sp-runtime 39.0.5", "sp-session", @@ -14998,7 +15329,7 @@ dependencies = [ "polkavm-common 0.8.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15010,7 +15341,7 @@ dependencies = [ "polkavm-common 0.9.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15022,7 +15353,7 @@ dependencies = [ "polkavm-common 0.10.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15034,7 +15365,7 @@ dependencies = [ "polkavm-common 0.18.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15044,7 +15375,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15e85319a0d5129dc9f021c62607e0804f5fb777a05cdda44d750ac0732def66" dependencies = [ "polkavm-derive-impl 0.8.0", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15054,7 +15385,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl 0.9.0", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15064,7 +15395,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9324fe036de37c17829af233b46ef6b5562d4a0c09bb7fdb9f8378856dee30cf" dependencies = [ "polkavm-derive-impl 0.10.0", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15074,7 +15405,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c16669ddc7433e34c1007d31080b80901e3e8e523cb9d4b441c3910cf9294b" dependencies = [ "polkavm-derive-impl 0.18.1", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15200,6 +15531,15 @@ dependencies = [ "serde", ] +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -15212,7 +15552,7 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.24", + "zerocopy", ] [[package]] @@ -15249,12 +15589,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.31" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5316f57387668042f561aae71480de936257848f9c43ce528e311d89a07cadeb" +checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" dependencies = [ "proc-macro2", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15310,7 +15650,7 @@ version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml_edit 0.22.24", + "toml_edit 0.22.26", ] [[package]] @@ -15356,7 +15696,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15367,7 +15707,7 @@ checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15378,14 +15718,14 @@ checksum = "75eea531cfcd120e0851a3f8aed42c4841f78c889eefafd96339c72677ae42c3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] name = "proc-macro2" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -15398,7 +15738,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "version_check", "yansi", ] @@ -15423,7 +15763,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15483,7 +15823,7 @@ dependencies = [ "prost 0.12.6", "prost-types", "regex", - "syn 2.0.100", + "syn 2.0.101", "tempfile", ] @@ -15497,7 +15837,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15510,7 +15850,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15569,15 +15909,16 @@ dependencies = [ name = "prover" version = "1.0.0" dependencies = [ - "risc0-build 2.1.1", - "sp1-build 4.1.4", + "risc0-build", + "risc0-build-ethereum", + "sp1-build 4.2.0", ] [[package]] name = "psm" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f58e5423e24c18cc840e1c98370b3993c6649cd1678b4d24318bcf0a083cbe88" +checksum = "6e944464ec8536cd1beb0bbfd96987eb5e3b72f2ecdafdc5c769a37f1fa2ae1f" dependencies = [ "cc", ] @@ -15613,9 +15954,9 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.7" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012" +checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" dependencies = [ "bytes", "cfg_aliases", @@ -15623,7 +15964,7 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", - "rustls 0.23.25", + "rustls 0.23.27", "socket2", "thiserror 2.0.12", "tokio", @@ -15633,16 +15974,17 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.10" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b820744eb4dc9b57a3398183639c511b5a26d2ed702cedd3febaa1393caa22cc" +checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" dependencies = [ "bytes", - "getrandom 0.3.2", - "rand 0.9.0", + "getrandom 0.3.3", + "lru-slab", + "rand 0.9.1", "ring 0.17.14", "rustc-hash 2.1.1", - "rustls 0.23.25", + "rustls 0.23.27", "rustls-pki-types", "slab", "thiserror 2.0.12", @@ -15653,9 +15995,9 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.11" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "541d0f57c6ec747a90738a52741d3221f7960e8ac2f0ff4b1a63680e033b4ab5" +checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842" dependencies = [ "cfg_aliases", "libc", @@ -15719,13 +16061,12 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", - "zerocopy 0.8.24", ] [[package]] @@ -15773,7 +16114,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", ] [[package]] @@ -15782,7 +16123,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", ] [[package]] @@ -15852,9 +16193,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.10" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ "bitflags 2.9.0", ] @@ -15865,11 +16206,22 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "libredox", "thiserror 1.0.69", ] +[[package]] +name = "redox_users" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" +dependencies = [ + "getrandom 0.2.16", + "libredox", + "thiserror 2.0.12", +] + [[package]] name = "ref-cast" version = "1.0.24" @@ -15887,7 +16239,7 @@ checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -15899,7 +16251,7 @@ dependencies = [ "fxhash", "log", "slice-group-by", - "smallvec 1.14.0", + "smallvec 1.15.0", ] [[package]] @@ -15912,7 +16264,7 @@ dependencies = [ "log", "rustc-hash 1.1.0", "slice-group-by", - "smallvec 1.14.0", + "smallvec 1.15.0", ] [[package]] @@ -16029,7 +16381,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.8", + "h2 0.4.10", "http 1.3.1", "http-body 1.0.1", "http-body-util", @@ -16046,7 +16398,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.25", + "rustls 0.23.27", "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", @@ -16065,7 +16417,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.26.8", + "webpki-roots 0.26.11", "windows-registry", ] @@ -16132,7 +16484,7 @@ dependencies = [ "revm-primitives", "ripemd", "secp256k1 0.29.1", - "sha2 0.10.8", + "sha2 0.10.9", "substrate-bn", ] @@ -16143,8 +16495,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f987564210317706def498421dfba2ae1af64a8edce82c6102758b48133fcb" dependencies = [ "alloy-eip2930", - "alloy-eip7702", - "alloy-primitives 0.8.24", + "alloy-eip7702 0.5.1", + "alloy-primitives 0.8.25", "auto_impl", "bitflags 2.9.0", "bitvec 1.0.1", @@ -16217,7 +16569,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.16", "libc", "untrusted 0.9.0", "windows-sys 0.52.0", @@ -16240,15 +16592,15 @@ 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 1.2.5", - "risc0-zkvm-platform 1.2.5", + "risc0-zkp 1.2.6", + "risc0-zkvm-platform 1.2.6", "serde", "tracing", ] @@ -16272,25 +16624,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "risc0-build" -version = "1.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98bcfd51f182f7e94209249ca3a0c64df0ab0dbfe151bd5fcbe2b708c4f9f17f" -dependencies = [ - "anyhow", - "cargo_metadata 0.18.1", - "dirs", - "docker-generate", - "hex", - "risc0-binfmt 1.2.5", - "risc0-zkp 1.2.5", - "risc0-zkvm-platform 1.2.5", - "serde", - "serde_json", - "tempfile", -] - [[package]] name = "risc0-build" version = "2.1.1" @@ -16300,7 +16633,7 @@ dependencies = [ "anyhow", "cargo_metadata 0.19.2", "derive_builder", - "dirs", + "dirs 5.0.1", "docker-generate", "hex", "risc0-binfmt 2.0.1", @@ -16315,6 +16648,20 @@ dependencies = [ "tempfile", ] +[[package]] +name = "risc0-build-ethereum" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ecf901731c9831c8bf9b08e17c74e3e66e94a7e0a3adf0f2628080f7ed46fe" +dependencies = [ + "anyhow", + "bytemuck", + "hex", + "risc0-build", + "risc0-zkp 2.0.1", + "risc0-zkvm 2.0.2", +] + [[package]] name = "risc0-build-kernel" version = "2.0.0" @@ -16326,10 +16673,26 @@ dependencies = [ "glob", "hex", "rayon", - "sha2 0.10.8", + "sha2 0.10.9", "tempfile", ] +[[package]] +name = "risc0-circuit-keccak" +version = "1.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c9d734d29c56ca0f00f492a544a6a1a2917c866c0108802dca8cd258a4de5a" +dependencies = [ + "anyhow", + "bytemuck", + "paste", + "risc0-binfmt 1.2.6", + "risc0-circuit-recursion 1.2.6", + "risc0-core 1.2.6", + "risc0-zkp 1.2.6", + "tracing", +] + [[package]] name = "risc0-circuit-keccak" version = "2.0.1" @@ -16344,7 +16707,7 @@ dependencies = [ "rayon", "risc0-binfmt 2.0.1", "risc0-circuit-keccak-sys", - "risc0-circuit-recursion", + "risc0-circuit-recursion 2.0.1", "risc0-core 2.0.0", "risc0-sys", "risc0-zkp 2.0.1", @@ -16368,6 +16731,21 @@ dependencies = [ "sppark", ] +[[package]] +name = "risc0-circuit-recursion" +version = "1.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb53805a927d0e0848b6d9cb0371ad5b582e61019190be86d41cca24cf8555b3" +dependencies = [ + "anyhow", + "bytemuck", + "hex", + "metal", + "risc0-core 1.2.6", + "risc0-zkp 1.2.6", + "tracing", +] + [[package]] name = "risc0-circuit-recursion" version = "2.0.1" @@ -16389,9 +16767,9 @@ dependencies = [ "risc0-sys", "risc0-zkp 2.0.1", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "tracing", - "zip 2.5.0", + "zip 2.6.1", ] [[package]] @@ -16407,6 +16785,22 @@ dependencies = [ "sppark", ] +[[package]] +name = "risc0-circuit-rv32im" +version = "1.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d0cce302486976a3a6c59a8f7dbcb7b635ac364fc1f97e9656695a01d809119" +dependencies = [ + "anyhow", + "metal", + "risc0-binfmt 1.2.6", + "risc0-core 1.2.6", + "risc0-zkp 1.2.6", + "risc0-zkvm-platform 1.2.6", + "serde", + "tracing", +] + [[package]] name = "risc0-circuit-rv32im" version = "2.0.3" @@ -16435,7 +16829,7 @@ dependencies = [ "risc0-sys", "risc0-zkp 2.0.1", "serde", - "smallvec 1.14.0", + "smallvec 1.15.0", "tracing", ] @@ -16457,9 +16851,9 @@ dependencies = [ [[package]] name = "risc0-core" -version = "1.2.5" +version = "1.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2492abd92da4eb2a6e5e9e74757d00b1c29c03bb867266c85752cb22a03a920" +checksum = "2be3e5c922ccf8a61adc3ebfbf9aadc168dec765c8bc5bf7cb28d9c46bfa5b9b" dependencies = [ "bytemuck", "rand_core 0.6.4", @@ -16478,6 +16872,36 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "risc0-ethereum-contracts" +version = "1.1.1" +source = "git+https://github.com/risc0/risc0-ethereum?tag=v1.1.1#56da0bd52fb87ac5a804c14b6ec6b5373d6607cb" +dependencies = [ + "alloy 0.3.3", + "anyhow", + "risc0-zkvm 1.2.6", +] + +[[package]] +name = "risc0-groth16" +version = "1.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73a946f8e6db205107668379e3058f0091d7f9aef63d8e4956dff5dc7dfac486" +dependencies = [ + "anyhow", + "ark-bn254 0.4.0", + "ark-ec 0.4.2", + "ark-groth16 0.4.0", + "ark-serialize 0.4.2", + "bytemuck", + "hex", + "num-bigint 0.4.6", + "risc0-binfmt 1.2.6", + "risc0-zkp 1.2.6", + "serde", + "stability", +] + [[package]] name = "risc0-groth16" version = "2.0.1" @@ -16485,9 +16909,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b31cb7b2a46f0cdaf71803ea7e0389af9f5bc1aea2531106f2972b241f26e98" dependencies = [ "anyhow", - "ark-bn254", + "ark-bn254 0.5.0", "ark-ec 0.5.0", - "ark-groth16", + "ark-groth16 0.5.0", "ark-serialize 0.5.0", "bytemuck", "hex", @@ -16527,9 +16951,9 @@ dependencies = [ [[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", @@ -16542,10 +16966,10 @@ dependencies = [ "metal", "paste", "rand_core 0.6.4", - "risc0-core 1.2.5", - "risc0-zkvm-platform 1.2.5", + "risc0-core 1.2.6", + "risc0-zkvm-platform 1.2.6", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "tracing", ] @@ -16576,7 +17000,34 @@ dependencies = [ "risc0-sys", "risc0-zkvm-platform 2.0.2", "serde", - "sha2 0.10.8", + "sha2 0.10.9", + "stability", + "tracing", +] + +[[package]] +name = "risc0-zkvm" +version = "1.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95c66a128207326c0034b500a6f456265f26d26f40cf497b7d15f28c08db553c" +dependencies = [ + "anyhow", + "borsh", + "bytemuck", + "getrandom 0.2.16", + "hex", + "risc0-binfmt 1.2.6", + "risc0-circuit-keccak 1.2.6", + "risc0-circuit-recursion 1.2.6", + "risc0-circuit-rv32im 1.2.6", + "risc0-core 1.2.6", + "risc0-groth16 1.2.6", + "risc0-zkp 1.2.6", + "risc0-zkvm-platform 1.2.6", + "rrs-lib", + "semver 1.0.26", + "serde", + "sha2 0.10.9", "stability", "tracing", ] @@ -16597,7 +17048,7 @@ dependencies = [ "derive_more 2.0.1", "elf", "enum-map", - "getrandom 0.2.15", + "getrandom 0.2.16", "hex", "keccak", "lazy-regex", @@ -16607,12 +17058,12 @@ dependencies = [ "rand 0.8.5", "rayon", "risc0-binfmt 2.0.1", - "risc0-build 2.1.1", - "risc0-circuit-keccak", - "risc0-circuit-recursion", - "risc0-circuit-rv32im", + "risc0-build", + "risc0-circuit-keccak 2.0.1", + "risc0-circuit-recursion 2.0.1", + "risc0-circuit-rv32im 2.0.3", "risc0-core 2.0.0", - "risc0-groth16", + "risc0-groth16 2.0.1", "risc0-zkos-v1compat", "risc0-zkp 2.0.1", "risc0-zkvm-platform 2.0.2", @@ -16621,7 +17072,7 @@ dependencies = [ "rzup", "semver 1.0.26", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "stability", "tempfile", "tracing", @@ -16630,11 +17081,14 @@ 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 = "778e0235c87d8e18f13da5c71bfe69b1beb7c08694c75d19eae9dbed09a59c57" +checksum = "8187245809fe15d389dcdc1ca09ed5f5a1227b15e2fd48860c808aaf02e6996f" dependencies = [ + "bytemuck", "cfg-if", + "getrandom 0.2.16", + "libm", "stability", ] @@ -16646,8 +17100,8 @@ checksum = "2e4de2938eaf24892ef927d9cef6e4acb6a19ce01c017cd498533896f633f332" dependencies = [ "bytemuck", "cfg-if", - "getrandom 0.2.15", - "getrandom 0.3.2", + "getrandom 0.2.16", + "getrandom 0.3.3", "libm", "stability", ] @@ -16693,10 +17147,10 @@ dependencies = [ "frame-support 38.2.0", "polkadot-primitives 16.0.0", "polkadot-runtime-common", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-core 34.0.0", "sp-runtime 39.0.5", - "sp-weights 31.0.0", + "sp-weights 31.1.0", "staging-xcm", "staging-xcm-builder", ] @@ -16744,9 +17198,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", @@ -16761,6 +17215,7 @@ dependencies = [ "primitive-types 0.12.2", "proptest", "rand 0.8.5", + "rand 0.9.1", "rlp", "ruint-macro", "serde", @@ -16776,9 +17231,9 @@ checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" [[package]] name = "rust-embed" -version = "8.6.0" +version = "8.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b3aba5104622db5c9fc61098de54708feb732e7763d7faa2fa625899f00bf6f" +checksum = "60e425e204264b144d4c929d126d0de524b40a961686414bab5040f7465c71be" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -16787,25 +17242,25 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "8.6.0" +version = "8.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f198c73be048d2c5aa8e12f7960ad08443e56fd39cc26336719fdb4ea0ebaae" +checksum = "6bf418c9a2e3f6663ca38b8a7134cc2c2167c9d69688860e8961e3faa731702e" dependencies = [ "proc-macro2", "quote", "rust-embed-utils", "shellexpand", - "syn 2.0.100", + "syn 2.0.101", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "8.6.0" +version = "8.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a2fcdc9f40c8dc2922842ca9add611ad19f332227fc651d015881ad1552bd9a" +checksum = "08d55b95147fe01265d06b3955db798bdaed52e60e2211c41137701b3aba8e21" dependencies = [ - "sha2 0.10.8", + "sha2 0.10.9", "walkdir", ] @@ -16889,14 +17344,14 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.3" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ "bitflags 2.9.0", "errno", "libc", - "linux-raw-sys 0.9.3", + "linux-raw-sys 0.9.4", "windows-sys 0.59.0", ] @@ -16914,15 +17369,15 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.25" +version = "0.23.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" +checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" dependencies = [ "log", "once_cell", "ring 0.17.14", "rustls-pki-types", - "rustls-webpki 0.103.0", + "rustls-webpki 0.103.3", "subtle", "zeroize", ] @@ -16971,31 +17426,32 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ "web-time", + "zeroize", ] [[package]] name = "rustls-platform-verifier" -version = "0.5.1" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5467026f437b4cb2a533865eaa73eb840019a0916f4b9ec563c6e617e086c9" +checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" dependencies = [ "core-foundation 0.10.0", "core-foundation-sys", "jni", "log", "once_cell", - "rustls 0.23.25", + "rustls 0.23.27", "rustls-native-certs 0.8.1", "rustls-platform-verifier-android", - "rustls-webpki 0.103.0", + "rustls-webpki 0.103.3", "security-framework 3.2.0", "security-framework-sys", - "webpki-root-certs", + "webpki-root-certs 0.26.11", "windows-sys 0.59.0", ] @@ -17017,9 +17473,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.0" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ "ring 0.17.14", "rustls-pki-types", @@ -17051,7 +17507,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5174a470eeb535a721ae9fdd6e291c2411a906b96592182d05217591d5c5cf7b" dependencies = [ "byteorder", - "derive_more 0.99.19", + "derive_more 0.99.20", "twox-hash", ] @@ -17072,7 +17528,7 @@ dependencies = [ "strum 0.26.3", "tempfile", "thiserror 2.0.12", - "toml 0.8.20", + "toml 0.8.22", "yaml-rust2", ] @@ -17139,8 +17595,8 @@ dependencies = [ "sp-api 34.0.0", "sp-core 34.0.0", "sp-externalities 0.29.0", - "sp-io 38.0.0", - "sp-panic-handler 13.0.1", + "sp-io 38.0.2", + "sp-panic-handler 13.0.2", "sp-runtime-interface 28.0.0", "sp-trie 37.0.0", "sp-version 37.0.0", @@ -17227,7 +17683,7 @@ dependencies = [ "scale-bits 0.3.0", "scale-decode-derive 0.7.0", "scale-info", - "smallvec 1.14.0", + "smallvec 1.15.0", "thiserror 1.0.69", ] @@ -17242,7 +17698,7 @@ dependencies = [ "scale-bits 0.7.0", "scale-decode-derive 0.16.0", "scale-type-resolver", - "smallvec 1.14.0", + "smallvec 1.15.0", "thiserror 2.0.12", ] @@ -17265,10 +17721,10 @@ 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", + "syn 2.0.101", ] [[package]] @@ -17282,7 +17738,7 @@ dependencies = [ "scale-bits 0.3.0", "scale-encode-derive 0.3.0", "scale-info", - "smallvec 1.14.0", + "smallvec 1.15.0", "thiserror 1.0.69", ] @@ -17297,7 +17753,7 @@ dependencies = [ "scale-bits 0.7.0", "scale-encode-derive 0.10.0", "scale-type-resolver", - "smallvec 1.14.0", + "smallvec 1.15.0", "thiserror 2.0.12", ] @@ -17320,11 +17776,11 @@ 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", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -17350,7 +17806,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -17360,7 +17816,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb" dependencies = [ "scale-info", - "smallvec 1.14.0", + "smallvec 1.15.0", ] [[package]] @@ -17372,7 +17828,7 @@ dependencies = [ "proc-macro2", "quote", "scale-info", - "syn 2.0.100", + "syn 2.0.101", "thiserror 2.0.12", ] @@ -17417,9 +17873,9 @@ dependencies = [ [[package]] name = "scc" -version = "2.3.3" +version = "2.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea091f6cac2595aa38993f04f4ee692ed43757035c36e67c180b6828356385b1" +checksum = "22b2d775fb28f245817589471dd49c5edf64237f4a19d10ce9a92ff4651a27f4" dependencies = [ "sdd", ] @@ -17439,7 +17895,7 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "cfg-if", "hashbrown 0.13.2", ] @@ -17476,7 +17932,7 @@ dependencies = [ "merlin 3.0.0", "rand_core 0.6.4", "serde_bytes", - "sha2 0.10.8", + "sha2 0.10.9", "subtle", "zeroize", ] @@ -17508,7 +17964,7 @@ dependencies = [ "hmac 0.12.1", "pbkdf2 0.11.0", "salsa20", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -17520,7 +17976,7 @@ dependencies = [ "password-hash 0.5.0", "pbkdf2 0.12.2", "salsa20", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -17560,7 +18016,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct 0.2.0", - "der 0.7.9", + "der 0.7.10", "generic-array 0.14.7", "pkcs8 0.10.2", "serdect", @@ -17952,7 +18408,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -17961,7 +18417,7 @@ version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ - "indexmap 2.8.0", + "indexmap 2.9.0", "itoa", "memchr", "ryu", @@ -18054,10 +18510,10 @@ 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", + "syn 2.0.101", ] [[package]] @@ -18066,7 +18522,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.8.0", + "indexmap 2.9.0", "itoa", "ryu", "serde", @@ -18105,7 +18561,7 @@ checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -18159,9 +18615,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -18199,11 +18655,11 @@ dependencies = [ [[package]] name = "shellexpand" -version = "3.1.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" +checksum = "8b1fdf65dd6331831494dd616b30351c38e96e45921a27745cf98490458b90bb" dependencies = [ - "dirs", + "dirs 6.0.0", ] [[package]] @@ -18214,9 +18670,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ "libc", ] @@ -18352,9 +18808,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" dependencies = [ "serde", ] @@ -18391,7 +18847,7 @@ dependencies = [ "bs58 0.5.1", "chacha20", "crossbeam-queue", - "derive_more 0.99.19", + "derive_more 0.99.20", "ed25519-zebra 4.0.3", "either", "event-listener 5.4.0", @@ -18418,11 +18874,11 @@ dependencies = [ "schnorrkel 0.11.4", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", "siphasher", "slab", - "smallvec 1.14.0", + "smallvec 1.15.0", "soketto 0.8.1", "twox-hash", "wasmi", @@ -18441,7 +18897,7 @@ dependencies = [ "base64 0.22.1", "blake2-rfc", "bs58 0.5.1", - "derive_more 0.99.19", + "derive_more 0.99.20", "either", "event-listener 5.4.0", "fnv", @@ -18492,7 +18948,7 @@ dependencies = [ "snowbridge-ethereum", "snowbridge-milagro-bls", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ssz_rs", @@ -18514,9 +18970,9 @@ dependencies = [ "scale-info", "serde", "snowbridge-beacon-primitives", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "staging-xcm", @@ -18539,7 +18995,7 @@ dependencies = [ "scale-info", "serde", "serde-big-array 0.3.3", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -18604,7 +19060,7 @@ dependencies = [ "snowbridge-ethereum", "snowbridge-pallet-ethereum-client-fixtures", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", @@ -18644,7 +19100,7 @@ dependencies = [ "snowbridge-pallet-inbound-queue-fixtures", "snowbridge-router-primitives", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "staging-xcm", @@ -18680,9 +19136,9 @@ dependencies = [ "serde", "snowbridge-core", "snowbridge-outbound-queue-merkle-tree", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -18701,7 +19157,7 @@ dependencies = [ "scale-info", "snowbridge-core", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "staging-xcm", @@ -18721,7 +19177,7 @@ dependencies = [ "scale-info", "snowbridge-core", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "staging-xcm", @@ -18738,7 +19194,7 @@ dependencies = [ "log", "parity-scale-codec", "snowbridge-core", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "staging-xcm", "staging-xcm-builder", @@ -18769,7 +19225,7 @@ dependencies = [ "snowbridge-pallet-outbound-queue", "snowbridge-pallet-system", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-keyring", "sp-runtime 39.0.5", "staging-parachain-info", @@ -18792,9 +19248,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", @@ -18917,7 +19373,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -18931,7 +19387,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -18946,7 +19402,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -18999,7 +19455,7 @@ dependencies = [ "scale-info", "serde", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", ] [[package]] @@ -19047,9 +19503,9 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "26.0.0" +version = "26.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46d0d0a4c591c421d3231ddd5e27d828618c24456d51445d21a1f79fcee97c23" +checksum = "9971b30935cea3858664965039dabd80f67aca74cc6cc6dd42ff1ab14547bc53" dependencies = [ "docify", "integer-sqrt", @@ -19057,7 +19513,6 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] @@ -19153,11 +19608,11 @@ dependencies = [ "sp-application-crypto 38.0.0", "sp-core 34.0.0", "sp-crypto-hashing 0.1.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-keystore 0.40.0", "sp-mmr-primitives", "sp-runtime 39.0.5", - "sp-weights 31.0.0", + "sp-weights 31.1.0", "strum 0.26.3", ] @@ -19395,7 +19850,7 @@ dependencies = [ "blake2b_simd", "byteorder", "digest 0.10.7", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", "twox-hash", ] @@ -19416,13 +19871,13 @@ source = "git+https://github.com/availproject/substrate.git?branch=goldberg#da7b dependencies = [ "quote", "sp-core-hashing 9.0.0", - "syn 2.0.100", + "syn 2.0.101", ] [[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#1849b3563d4ad1884bbfd5ee92b3daf87f50e8fb" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -19468,7 +19923,7 @@ dependencies = [ "blake2b_simd", "byteorder", "digest 0.10.7", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", "twox-hash", ] @@ -19482,7 +19937,7 @@ dependencies = [ "blake2b_simd", "byteorder", "digest 0.10.7", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", "twox-hash", ] @@ -19494,7 +19949,7 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?rev=5237e012d7d97 dependencies = [ "quote", "sp-crypto-hashing 0.0.0", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -19505,7 +19960,7 @@ checksum = "b85d0f1f1e44bd8617eb2a48203ee854981229e3e79e6f468c7175d5fd37489b" dependencies = [ "quote", "sp-crypto-hashing 0.1.0", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -19515,7 +19970,7 @@ source = "git+https://github.com/availproject/substrate.git?branch=goldberg#da7b dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -19526,7 +19981,7 @@ checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -19536,17 +19991,17 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?rev=5237e012d7d97 dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[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#1849b3563d4ad1884bbfd5ee92b3daf87f50e8fb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -19574,7 +20029,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#1849b3563d4ad1884bbfd5ee92b3daf87f50e8fb" dependencies = [ "environmental", "parity-scale-codec", @@ -19748,9 +20203,9 @@ dependencies = [ [[package]] name = "sp-io" -version = "38.0.0" +version = "38.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ef7eb561bb4839cc8424ce58c5ea236cbcca83f26fcc0426d8decfe8aa97d4" +checksum = "61e20e9d9fe236466c1e38add64b591237c58540a07408407869d52d0e79fd18" dependencies = [ "bytes", "docify", @@ -19767,7 +20222,7 @@ dependencies = [ "sp-keystore 0.40.0", "sp-runtime-interface 28.0.0", "sp-state-machine 0.43.0", - "sp-tracing 17.0.1", + "sp-tracing 17.1.0", "sp-trie 37.0.0", "tracing", "tracing-core", @@ -19914,7 +20369,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", "sp-runtime 39.0.5", ] @@ -19952,9 +20407,9 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "13.0.1" +version = "13.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81478b3740b357fa0ea10fcdc1ee02ebae7734e50f80342c4743476d9f78eeea" +checksum = "c8b52e69a577cbfdea62bfaf16f59eb884422ce98f78b5cd8d9bf668776bced1" dependencies = [ "backtrace", "regex", @@ -20050,11 +20505,11 @@ dependencies = [ "serde", "simple-mermaid 0.1.1", "sp-application-crypto 38.0.0", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-weights 31.0.0", + "sp-weights 31.1.0", "tracing", ] @@ -20097,7 +20552,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#1849b3563d4ad1884bbfd5ee92b3daf87f50e8fb" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -20148,7 +20603,7 @@ dependencies = [ "sp-runtime-interface-proc-macro 18.0.0", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-storage 21.0.0", - "sp-tracing 17.0.1", + "sp-tracing 17.1.0", "sp-wasm-interface 21.0.1", "static_assertions", ] @@ -20162,7 +20617,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -20175,20 +20630,20 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[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#1849b3563d4ad1884bbfd5ee92b3daf87f50e8fb" dependencies = [ "Inflector", "expander", "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -20202,7 +20657,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -20286,7 +20741,7 @@ dependencies = [ "parity-scale-codec", "parking_lot", "rand 0.8.5", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-core 21.0.0", "sp-externalities 0.19.0", "sp-panic-handler 8.0.0", @@ -20307,7 +20762,7 @@ dependencies = [ "parity-scale-codec", "parking_lot", "rand 0.8.5", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-core 28.0.0", "sp-externalities 0.25.0 (git+https://github.com/availproject/polkadot-sdk.git?rev=5237e012d7d973b7210fc1929b2f1ff8726333b5)", "sp-panic-handler 13.0.0", @@ -20329,10 +20784,10 @@ dependencies = [ "parity-scale-codec", "parking_lot", "rand 0.8.5", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-core 30.0.0", "sp-externalities 0.27.0", - "sp-panic-handler 13.0.1", + "sp-panic-handler 13.0.2", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-trie 31.0.0", "thiserror 1.0.69", @@ -20351,10 +20806,10 @@ dependencies = [ "parity-scale-codec", "parking_lot", "rand 0.8.5", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-core 34.0.0", "sp-externalities 0.29.0", - "sp-panic-handler 13.0.1", + "sp-panic-handler 13.0.2", "sp-trie 37.0.0", "thiserror 1.0.69", "tracing", @@ -20374,7 +20829,7 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sha2 0.10.8", + "sha2 0.10.9", "sp-api 34.0.0", "sp-application-crypto 38.0.0", "sp-core 34.0.0", @@ -20405,7 +20860,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#1849b3563d4ad1884bbfd5ee92b3daf87f50e8fb" [[package]] name = "sp-storage" @@ -20436,7 +20891,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#1849b3563d4ad1884bbfd5ee92b3daf87f50e8fb" dependencies = [ "impl-serde 0.5.0", "parity-scale-codec", @@ -20525,7 +20980,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#1849b3563d4ad1884bbfd5ee92b3daf87f50e8fb" dependencies = [ "parity-scale-codec", "tracing", @@ -20535,9 +20990,9 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "17.0.1" +version = "17.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf641a1d17268c8fcfdb8e0fa51a79c2d4222f4cfda5f3944dbdbc384dced8d5" +checksum = "6147a5b8c98b9ed4bf99dc033fab97a468b4645515460974c8784daeb7c35433" dependencies = [ "parity-scale-codec", "tracing", @@ -20575,7 +21030,7 @@ name = "sp-trie" version = "22.0.0" source = "git+https://github.com/availproject/substrate.git?branch=goldberg#da7b751f925fdd1e64d78682f01d1d4bfb13938c" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "hash-db", "hashbrown 0.13.2", "lazy_static", @@ -20598,7 +21053,7 @@ name = "sp-trie" version = "29.0.0" source = "git+https://github.com/availproject/polkadot-sdk.git?rev=5237e012d7d973b7210fc1929b2f1ff8726333b5#5237e012d7d973b7210fc1929b2f1ff8726333b5" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "hash-db", "lazy_static", "memory-db", @@ -20623,7 +21078,7 @@ version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5791e2e310cf88abedbd5f60ff3d9c9a09d95b182b4a7510f3648a2170ace593" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "hash-db", "lazy_static", "memory-db", @@ -20648,7 +21103,7 @@ version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6282aef9f4b6ecd95a67a45bcdb67a71f4a4155c09a53c10add4ffe823db18cd" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "hash-db", "lazy_static", "memory-db", @@ -20726,7 +21181,7 @@ dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -20737,7 +21192,7 @@ dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -20749,7 +21204,7 @@ dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -20795,7 +21250,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#1849b3563d4ad1884bbfd5ee92b3daf87f50e8fb" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -20824,7 +21279,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-arithmetic 16.0.0", "sp-core 21.0.0", "sp-debug-derive 8.0.0", @@ -20840,7 +21295,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-arithmetic 23.0.0", "sp-debug-derive 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?rev=5237e012d7d973b7210fc1929b2f1ff8726333b5)", "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?rev=5237e012d7d973b7210fc1929b2f1ff8726333b5)", @@ -20856,7 +21311,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-arithmetic 25.0.0", "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -20864,16 +21319,16 @@ dependencies = [ [[package]] name = "sp-weights" -version = "31.0.0" +version = "31.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93cdaf72a1dad537bbb130ba4d47307ebe5170405280ed1aa31fa712718a400e" +checksum = "515aa194eabac059041df2dbee75b059b99981213ec680e9de85b45b6988346a" dependencies = [ "bounded-collections 0.2.4", "parity-scale-codec", "scale-info", "serde", - "smallvec 1.14.0", - "sp-arithmetic 26.0.0", + "smallvec 1.15.0", + "sp-arithmetic 26.1.0", "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -20886,21 +21341,21 @@ dependencies = [ "anyhow", "cargo_metadata 0.18.1", "chrono", - "clap 4.5.32", - "dirs", + "clap 4.5.38", + "dirs 5.0.1", ] [[package]] name = "sp1-build" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481ef879fdd5337a3c5181b445a4b63da920e9491ce9e85a25372620a9ef6bb" +checksum = "c0b45dd7a9d3703f82b1f5e8fdd6c5fb8af1e3b4037f1ffc533435717d567a56" dependencies = [ "anyhow", "cargo_metadata 0.18.1", "chrono", - "clap 4.5.32", - "dirs", + "clap 4.5.38", + "dirs 5.0.1", ] [[package]] @@ -20939,13 +21394,13 @@ dependencies = [ [[package]] name = "sp1-core-executor" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6f87ff0a7844ebfcdf4c1c8fc5b4358f7dbd794c0af01c1ae77d371226a9f24" +checksum = "b3d1988844b2273313bf1a3861684f7415f68c00d51139475fd3d72f2326fd6d" dependencies = [ "bincode", "bytemuck", - "clap 4.5.32", + "clap 4.5.38", "elf", "enum-map", "eyre", @@ -20954,18 +21409,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.2.0", + "sp1-primitives 4.2.0", + "sp1-stark 4.2.0", "strum 0.26.3", "strum_macros 0.26.4", "subenum", @@ -21026,9 +21481,9 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08275d67c457832cfdff80e61a6982e267e04f117d248eb6f0ac8e4e0fb981d6" +checksum = "7911eeaa80da1eb55ce5bf4c9442d3f1cad85e6dae41601b3ce23d45c48a5871" dependencies = [ "bincode", "cbindgen", @@ -21044,17 +21499,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", @@ -21063,11 +21518,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.2.0", + "sp1-curves 4.2.0", + "sp1-derive 4.2.0", + "sp1-primitives 4.2.0", + "sp1-stark 4.2.0", "static_assertions", "strum 0.26.3", "strum_macros 0.26.4", @@ -21082,16 +21537,16 @@ dependencies = [ [[package]] name = "sp1-cuda" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bc32254578ff9da654517fdf9681bd04f62ab5231f8ad631dc30dd42adb955" +checksum = "a4bab3c90ca3408ac50cbff14d629205a5178fb3623a2e354a416d9d7560fe02" dependencies = [ "bincode", "ctrlc", "prost 0.13.5", "serde", - "sp1-core-machine 4.1.4", - "sp1-prover 4.1.4", + "sp1-core-machine 4.2.0", + "sp1-prover 4.2.0", "tokio", "tracing", "twirp-rs", @@ -21120,9 +21575,9 @@ dependencies = [ [[package]] name = "sp1-curves" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356b371c76fa5c14f860aa2714242fdcffc88bed7fae8f8f890f12949bb2aeab" +checksum = "a198a00a1700ea0073a7481138abf256e3f38a15892c42721cdbec5d64d0f4e7" dependencies = [ "cfg-if", "dashu", @@ -21132,11 +21587,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.2.0", + "sp1-stark 4.2.0", "typenum", ] @@ -21152,9 +21607,9 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf58192d37ca0568d2b166b9ef1212eea8b83b8776d09bc116cc975168160aa" +checksum = "24e3a9d2afa63fa83792c223084abf62c2cb3a60188651e9aa567e25e9fd344d" dependencies = [ "quote", "syn 1.0.109", @@ -21172,13 +21627,13 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfd37d1d409446577a070f17b8e125cd82c39d78abc512977dd4857677c738b" +checksum = "b3ef88f90458b6116da164e9c4c4596c49c8cca1944bfe02850b48b232a06b90" dependencies = [ "bincode", "serde", - "sp1-primitives 4.1.4", + "sp1-primitives 4.2.0", ] [[package]] @@ -21196,25 +21651,27 @@ dependencies = [ "p3-poseidon2 0.1.4-succinct", "p3-symmetric 0.1.4-succinct", "serde", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] name = "sp1-primitives" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5943e519bd51b8c5c76813948acb544283a2eee5aead41fe9c63bf6425fcad18" +checksum = "c1cc282347d405f23fc8a7cfe93c82e772920bf2e0722cf828eaea69ed530e49" dependencies = [ "bincode", + "blake3", + "cfg-if", "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", + "sha2 0.10.9", ] [[package]] @@ -21225,8 +21682,8 @@ checksum = "bc363eda811717369513ca72abafbb5cdec0ed16cda12458ca5321e4167e97ff" dependencies = [ "anyhow", "bincode", - "clap 4.5.32", - "dirs", + "clap 4.5.38", + "dirs 5.0.1", "eyre", "itertools 0.13.0", "lazy_static", @@ -21261,14 +21718,14 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27103239b13e2841ac27ea0941258a406061746a483ce9de9bf69c0dab330ce4" +checksum = "f694e15302f83608c4be7efbf879f0f2b04c2f90129fc8fe9b625299f59e6200" dependencies = [ "anyhow", "bincode", - "clap 4.5.32", - "dirs", + "clap 4.5.38", + "dirs 5.0.1", "downloader", "enum-map", "eyre", @@ -21277,27 +21734,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", + "sha2 0.10.9", + "sp1-core-executor 4.2.0", + "sp1-core-machine 4.2.0", + "sp1-primitives 4.2.0", + "sp1-recursion-circuit 4.2.0", + "sp1-recursion-compiler 4.2.0", + "sp1-recursion-core 4.2.0", + "sp1-recursion-gnark-ffi 4.2.0", + "sp1-stark 4.2.0", "thiserror 1.0.69", "tracing", "tracing-appender", @@ -21340,36 +21797,36 @@ dependencies = [ [[package]] name = "sp1-recursion-circuit" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e996cd4da78f92ec6fad1d5e9cea03c2ec629ad5be5c3c04535bfc4514e6db41" +checksum = "134d651075d5de59e212f02ae7d6f1155e5fe2af228c0cab92096d4e8359b619" 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.2.0", + "sp1-core-machine 4.2.0", + "sp1-derive 4.2.0", + "sp1-primitives 4.2.0", + "sp1-recursion-compiler 4.2.0", + "sp1-recursion-core 4.2.0", + "sp1-recursion-gnark-ffi 4.2.0", + "sp1-stark 4.2.0", "tracing", ] @@ -21397,22 +21854,22 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "247dee5143c4a64be7915006bfa38002ec086d8004dce60493e0d4d4c91f3dfb" +checksum = "d630ab95063c1cf52668b23cdae8a216f5749604c3b063f5cdec20ef2c60d086" 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.2.0", + "sp1-primitives 4.2.0", + "sp1-recursion-core 4.2.0", + "sp1-recursion-derive 4.2.0", + "sp1-stark 4.2.0", "tracing", "vec_map", ] @@ -21455,9 +21912,9 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a198fa54df37af32d953855fe6bca5148c974878def97bb808c563b38ce1280c" +checksum = "a2edcf518cedb3d0947f14688089812aec56089b45bdfc5dd162ea25ec8902d7" dependencies = [ "backtrace", "cbindgen", @@ -21468,27 +21925,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.2.0", + "sp1-derive 4.2.0", + "sp1-primitives 4.2.0", + "sp1-stark 4.2.0", "static_assertions", "thiserror 1.0.69", "tracing", @@ -21508,9 +21965,9 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39250369fa4718b28030ac3548f867022efcd99c1f2f705e1a57710564646f9" +checksum = "45acfb50730a6271d8546975063df0946ffaa28d2ce0d0041e7905fb90c9c254" dependencies = [ "quote", "syn 1.0.109", @@ -21535,7 +21992,7 @@ dependencies = [ "p3-symmetric 0.1.4-succinct", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "sp1-core-machine 3.4.0", "sp1-recursion-compiler 3.4.0", "sp1-stark 3.4.0", @@ -21544,9 +22001,9 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0962d2c3cee15533dc14ed1bda781af6e7bce2acbeff7abc77d4ff56646d5d6f" +checksum = "50e1bc3fc71f6eafaa1dc5fa9b309ecf55075c14a18561540937a1e2e3964670" dependencies = [ "anyhow", "bincode", @@ -21555,15 +22012,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", + "sha2 0.10.9", + "sp1-core-machine 4.2.0", + "sp1-recursion-compiler 4.2.0", + "sp1-stark 4.2.0", "tempfile", "tracing", ] @@ -21579,7 +22036,7 @@ dependencies = [ "async-trait", "bincode", "cfg-if", - "dirs", + "dirs 5.0.1", "ethers", "futures", "hashbrown 0.14.5", @@ -21611,40 +22068,40 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "4.1.4" +version = "4.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0be727829b2541d11b7e0953215a6a2e362c1f09b8ff69344ff3a109450ecdd8" +checksum = "2c7dc2c3c142eda28ff26ea38a1fbf21a1da403518051e73cca8c0a7460dfc7c" 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", "bincode", "cfg-if", - "dirs", + "dirs 5.0.1", "futures", "hashbrown 0.14.5", "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.2.0", + "sp1-core-executor 4.2.0", + "sp1-core-machine 4.2.0", "sp1-cuda", - "sp1-primitives 4.1.4", - "sp1-prover 4.1.4", - "sp1-stark 4.1.4", + "sp1-primitives 4.2.0", + "sp1-prover 4.2.0", + "sp1-stark 4.2.0", "strum 0.26.3", "strum_macros 0.26.4", "tempfile", @@ -21662,7 +22119,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a597ed68cd03f80d9cdb9f4b50924e3c890c35c39956f7e87dd2262b72b2d12b" dependencies = [ "arrayref", - "getrandom 0.2.15", + "getrandom 0.2.16", "hashbrown 0.14.5", "itertools 0.13.0", "num-traits", @@ -21693,33 +22150,33 @@ dependencies = [ [[package]] name = "sp1-stark" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86efb046f8e5d01898fe67889a70dcc41efa605b9d173945f58f6be16049a5ef" +checksum = "b3623ca4fe6bf08b3f4211f63cc59a115f0559913e2846ec4e65ad4a8524de3d" 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.2.0", + "sp1-primitives 4.2.0", "strum 0.26.3", "strum_macros 0.26.4", "sysinfo", @@ -21733,33 +22190,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ea02449a9dcaab67219f7b3442ab51b45ae40e7b04f205382295936087fe1d5" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.16", "lazy_static", "libm", "p3-baby-bear 0.1.4-succinct", "p3-field 0.1.4-succinct", "rand 0.8.5", - "sha2 0.10.8", + "sha2 0.10.9", "sp1-lib 3.4.0", "sp1-primitives 3.4.0", ] [[package]] name = "sp1-zkvm" -version = "4.1.4" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5085a98fa0cf2a1e570dfd5347eb3b86df23e24d3b684e53b6fff36309c4758" +checksum = "4d56dda97ba9915e7484a607e7517783d7422591c815e8dbfdbb716d77198760" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.16", "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", + "sha2 0.10.9", + "sp1-lib 4.2.0", + "sp1-primitives 4.2.0", ] [[package]] @@ -21807,7 +22264,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", - "der 0.7.9", + "der 0.7.10", ] [[package]] @@ -21849,7 +22306,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "atoi", "byteorder", "bytes", @@ -21864,7 +22321,7 @@ dependencies = [ "futures-util", "hashlink 0.8.4", "hex", - "indexmap 2.8.0", + "indexmap 2.9.0", "log", "memchr", "once_cell", @@ -21872,8 +22329,8 @@ dependencies = [ "percent-encoding", "serde", "serde_json", - "sha2 0.10.8", - "smallvec 1.14.0", + "sha2 0.10.9", + "smallvec 1.15.0", "sqlformat", "thiserror 1.0.69", "tokio", @@ -21910,7 +22367,7 @@ dependencies = [ "quote", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "sqlx-core", "sqlx-mysql", "sqlx-postgres", @@ -21954,8 +22411,8 @@ dependencies = [ "rsa", "serde", "sha1", - "sha2 0.10.8", - "smallvec 1.14.0", + "sha2 0.10.9", + "smallvec 1.15.0", "sqlx-core", "stringprep", "thiserror 1.0.69", @@ -21992,8 +22449,8 @@ dependencies = [ "rand 0.8.5", "serde", "serde_json", - "sha2 0.10.8", - "smallvec 1.14.0", + "sha2 0.10.9", + "smallvec 1.15.0", "sqlx-core", "stringprep", "thiserror 1.0.69", @@ -22073,7 +22530,7 @@ dependencies = [ "itertools 0.13.0", "serde", "serde_derive", - "smallvec 1.14.0", + "smallvec 1.15.0", "tree_hash", "typenum", ] @@ -22085,7 +22542,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -22110,9 +22567,9 @@ dependencies = [ [[package]] name = "staging-xcm" -version = "14.2.1" +version = "14.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "250c5290c308d1f462403dc4e7926976727917e98a196de1ea4a49c86341f21c" +checksum = "f3f66daa99c90c4b1443696ce42f38aa9d47954ae6270301be42f049a1bf0ba5" dependencies = [ "array-bytes", "bounded-collections 0.2.4", @@ -22124,15 +22581,15 @@ dependencies = [ "scale-info", "serde", "sp-runtime 39.0.5", - "sp-weights 31.0.0", + "sp-weights 31.1.0", "xcm-procedural", ] [[package]] name = "staging-xcm-builder" -version = "17.0.4" +version = "17.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1693870a07e3fd8115c02b44e1223ce149b6cfa0b60f59a1c0fbc26637766a5" +checksum = "d6036361f3435769cbb3e2423d186cf32cc4aaa88ab2781606c0b67a6bb20a89" dependencies = [ "frame-support 38.2.0", "frame-system", @@ -22143,19 +22600,19 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "scale-info", - "sp-arithmetic 26.0.0", - "sp-io 38.0.0", + "sp-arithmetic 26.1.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", - "sp-weights 31.0.0", + "sp-weights 31.1.0", "staging-xcm", "staging-xcm-executor", ] [[package]] name = "staging-xcm-executor" -version = "17.0.1" +version = "17.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c89045f495097293ce29df1f3f459e9ccc991ff2ee88a4a91e8110a6886d2c8" +checksum = "7564cee33c808c1b543ac915fcd47ff5a77bcff6303bf56d59ffdbed2dd5ce1c" dependencies = [ "environmental", "frame-benchmarking", @@ -22163,11 +22620,11 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-arithmetic 26.0.0", + "sp-arithmetic 26.1.0", "sp-core 34.0.0", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", - "sp-weights 31.0.0", + "sp-weights 31.1.0", "staging-xcm", "tracing", ] @@ -22304,7 +22761,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -22317,7 +22774,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -22354,7 +22811,7 @@ dependencies = [ "hmac 0.12.1", "pbkdf2 0.12.2", "schnorrkel 0.11.4", - "sha2 0.10.8", + "sha2 0.10.9", "zeroize", ] @@ -22373,9 +22830,9 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" -version = "24.0.1" +version = "24.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf035ffe7335fb24053edfe4d0a5780250eda772082a1b80ae25835dd4c09265" +checksum = "8eccd97d503bdd5d14be243fefccc4b712f8740aab2baba3dfd0140e2d08f765" dependencies = [ "build-helper", "cargo_metadata 0.15.4", @@ -22387,7 +22844,7 @@ dependencies = [ "sp-maybe-compressed-blob", "strum 0.26.3", "tempfile", - "toml 0.8.20", + "toml 0.8.22", "walkdir", "wasm-opt", ] @@ -22419,7 +22876,7 @@ dependencies = [ "either", "frame-metadata 15.1.0", "futures", - "getrandom 0.2.15", + "getrandom 0.2.16", "hex", "impl-serde 0.4.0", "jsonrpsee 0.16.3", @@ -22494,7 +22951,7 @@ dependencies = [ "quote", "scale-info", "subxt-metadata 0.29.0", - "syn 2.0.100", + "syn 2.0.101", "thiserror 1.0.69", "tokio", ] @@ -22512,7 +22969,7 @@ dependencies = [ "scale-info", "scale-typegen", "subxt-metadata 0.39.0", - "syn 2.0.100", + "syn 2.0.101", "thiserror 2.0.12", ] @@ -22569,10 +23026,10 @@ 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", + "syn 2.0.101", ] [[package]] @@ -22581,14 +23038,14 @@ 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", "scale-typegen", "subxt-codegen 0.39.0", "subxt-utils-fetchmetadata", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -22641,7 +23098,7 @@ dependencies = [ "secrecy 0.10.3", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "subxt-core", "thiserror 2.0.12", "zeroize", @@ -22668,7 +23125,7 @@ dependencies = [ "itertools 0.10.5", "proc-macro2", "quote", - "smallvec 1.14.0", + "smallvec 1.15.0", "syn 1.0.109", ] @@ -22685,9 +23142,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.100" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -22703,7 +23160,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -22715,19 +23172,19 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[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", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -22759,13 +23216,13 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -22839,14 +23296,14 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.19.1" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ "fastrand", - "getrandom 0.3.2", + "getrandom 0.3.3", "once_cell", - "rustix 1.0.3", + "rustix 1.0.7", "windows-sys 0.59.0", ] @@ -22886,7 +23343,7 @@ dependencies = [ "frame-support 38.2.0", "polkadot-core-primitives", "rococo-runtime-constants", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-runtime 39.0.5", "staging-xcm", "westend-runtime-constants", @@ -22927,7 +23384,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -22938,7 +23395,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -23025,7 +23482,7 @@ dependencies = [ "pbkdf2 0.11.0", "rand 0.8.5", "rustc-hash 1.1.0", - "sha2 0.10.8", + "sha2 0.10.9", "thiserror 1.0.69", "unicode-normalization", "wasm-bindgen", @@ -23043,9 +23500,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -23068,9 +23525,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.44.1" +version = "1.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" +checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" dependencies = [ "backtrace", "bytes", @@ -23092,7 +23549,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -23121,7 +23578,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "rustls 0.23.25", + "rustls 0.23.27", "tokio", ] @@ -23151,9 +23608,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.14" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", @@ -23174,21 +23631,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.20" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" +checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.24", + "toml_edit 0.22.26", ] [[package]] name = "toml_datetime" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" dependencies = [ "serde", ] @@ -23199,24 +23656,31 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.8.0", + "indexmap 2.9.0", "toml_datetime", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.24" +version = "0.22.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" +checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" dependencies = [ - "indexmap 2.8.0", + "indexmap 2.9.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.7.4", + "toml_write", + "winnow 0.7.10", ] +[[package]] +name = "toml_write" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" + [[package]] name = "tonic" version = "0.12.3" @@ -23228,7 +23692,7 @@ dependencies = [ "axum", "base64 0.22.1", "bytes", - "h2 0.4.8", + "h2 0.4.10", "http 1.3.1", "http-body 1.0.1", "http-body-util", @@ -23330,7 +23794,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -23350,7 +23814,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee40835db14ddd1e3ba414292272eddde9dad04d3d4b65509656414d1c42592f" dependencies = [ "ansi_term", - "smallvec 1.14.0", + "smallvec 1.15.0", "thiserror 1.0.69", "tracing", "tracing-subscriber 0.3.19", @@ -23398,7 +23862,7 @@ dependencies = [ "once_cell", "opentelemetry", "opentelemetry_sdk", - "smallvec 1.14.0", + "smallvec 1.15.0", "tracing", "tracing-core", "tracing-log 0.2.0", @@ -23440,7 +23904,7 @@ dependencies = [ "serde", "serde_json", "sharded-slab", - "smallvec 1.14.0", + "smallvec 1.15.0", "thread_local", "tracing", "tracing-core", @@ -23461,7 +23925,7 @@ dependencies = [ "serde", "serde_json", "sharded-slab", - "smallvec 1.14.0", + "smallvec 1.15.0", "thread_local", "time", "tracing", @@ -23476,10 +23940,10 @@ 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", + "smallvec 1.15.0", "typenum", ] @@ -23489,10 +23953,10 @@ 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", + "syn 2.0.101", ] [[package]] @@ -23505,7 +23969,7 @@ dependencies = [ "hashbrown 0.13.2", "log", "rustc-hex", - "smallvec 1.14.0", + "smallvec 1.15.0", ] [[package]] @@ -23518,7 +23982,7 @@ dependencies = [ "hashbrown 0.13.2", "log", "rustc-hex", - "smallvec 1.14.0", + "smallvec 1.15.0", ] [[package]] @@ -23530,7 +23994,7 @@ dependencies = [ "hash-db", "log", "rustc-hex", - "smallvec 1.14.0", + "smallvec 1.15.0", ] [[package]] @@ -23646,7 +24110,7 @@ checksum = "35f5380909ffc31b4de4f4bdf96b877175a016aa2ca98cee39fcfd8c4d53d952" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -23831,12 +24295,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -23855,7 +24313,7 @@ version = "4.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5afb1a60e207dca502682537fefcfd9921e71d0b83e9576060f09abc6efab23" dependencies = [ - "indexmap 2.8.0", + "indexmap 2.9.0", "serde", "serde_json", "utoipa-gen 4.3.1", @@ -23867,7 +24325,7 @@ version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "435c6f69ef38c9017b4b4eea965dfb91e71e53d869e896db40d1cf2441dd75c0" dependencies = [ - "indexmap 2.8.0", + "indexmap 2.9.0", "serde", "serde_json", "utoipa-gen 5.3.1", @@ -23882,7 +24340,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -23894,7 +24352,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -23918,7 +24376,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "serde", ] @@ -24024,14 +24482,14 @@ checksum = "6a511871dc5de990a3b2a0e715facfbc5da848c0c0395597a1415029fb7c250a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] name = "w3f-bls" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a3028804c8bbae2a97a15b71ffc0e308c4b01a520994aafa77d56e94e19024" +checksum = "e6bfb937b3d12077654a9e43e32a4e9c20177dd9fea0f3aba673e7840bb54f32" dependencies = [ "ark-bls12-377", "ark-bls12-381", @@ -24040,14 +24498,12 @@ dependencies = [ "ark-serialize 0.4.2", "ark-serialize-derive 0.4.2", "arrayref", - "constcat", "digest 0.10.7", "rand 0.8.5", "rand_chacha 0.3.1", "rand_core 0.6.4", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", - "thiserror 1.0.69", "zeroize", ] @@ -24157,7 +24613,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "wasm-bindgen-shared", ] @@ -24192,7 +24648,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -24278,7 +24734,7 @@ dependencies = [ "multi-stash", "num-derive 0.4.2", "num-traits", - "smallvec 1.14.0", + "smallvec 1.15.0", "spin 0.9.8", "wasmi_collections", "wasmi_core", @@ -24291,7 +24747,7 @@ version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c128c039340ffd50d4195c3f8ce31aac357f06804cfc494c8b9508d4b30dca4" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "hashbrown 0.14.5", "string-interner", ] @@ -24378,7 +24834,7 @@ dependencies = [ "log", "rustix 0.36.17", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "toml 0.5.11", "windows-sys 0.45.0", "zstd 0.11.2+zstd.1.5.2", @@ -24579,7 +25035,7 @@ dependencies = [ "arrayvec 0.7.6", "base64 0.21.7", "bytes", - "derive_more 0.99.19", + "derive_more 0.99.20", "ethabi", "ethereum-types 0.14.1", "futures", @@ -24620,9 +25076,18 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "0.26.8" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" +dependencies = [ + "webpki-root-certs 1.0.0", +] + +[[package]] +name = "webpki-root-certs" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09aed61f5e8d2c18344b3faa33a4c837855fe56642757754775548fee21386c4" +checksum = "01a83f7e1a9f8712695c03eabe9ed3fbca0feff0152f33f12593e5a6303cb1a4" dependencies = [ "rustls-pki-types", ] @@ -24644,9 +25109,18 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "webpki-roots" -version = "0.26.8" +version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.0", +] + +[[package]] +name = "webpki-roots" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" dependencies = [ "rustls-pki-types", ] @@ -24660,10 +25134,10 @@ dependencies = [ "frame-support 38.2.0", "polkadot-primitives 16.0.0", "polkadot-runtime-common", - "smallvec 1.14.0", + "smallvec 1.15.0", "sp-core 34.0.0", "sp-runtime 39.0.5", - "sp-weights 31.0.0", + "sp-weights 31.1.0", "staging-xcm", "staging-xcm-builder", ] @@ -24737,7 +25211,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", ] @@ -24750,6 +25224,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.101", +] + +[[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.101", +] + [[package]] name = "windows-link" version = "0.1.1" @@ -24763,7 +25272,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", ] @@ -24785,6 +25294,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" @@ -25083,9 +25601,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.4" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" dependencies = [ "memchr", ] @@ -25109,17 +25627,11 @@ dependencies = [ "bitflags 2.9.0", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "ws_stream_wasm" @@ -25170,7 +25682,7 @@ dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -25183,7 +25695,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api 34.0.0", - "sp-weights 31.0.0", + "sp-weights 31.1.0", "staging-xcm", "staging-xcm-executor", ] @@ -25203,7 +25715,7 @@ dependencies = [ "polkadot-primitives 16.0.0", "polkadot-runtime-parachains", "scale-info", - "sp-io 38.0.0", + "sp-io 38.0.2", "sp-runtime 39.0.5", "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "staging-xcm", @@ -25251,9 +25763,9 @@ checksum = "bfe269e7b803a5e8e20cbd97860e136529cd83bf2c9c6d37b142467e7e1f051f" [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -25263,14 +25775,14 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", - "synstructure 0.13.1", + "syn 2.0.101", + "synstructure 0.13.2", ] [[package]] @@ -25290,42 +25802,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" -dependencies = [ - "zerocopy-derive 0.8.24", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -25345,8 +25837,8 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", - "synstructure 0.13.1", + "syn 2.0.101", + "synstructure 0.13.2", ] [[package]] @@ -25366,14 +25858,25 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", +] + +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", ] [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -25382,13 +25885,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -25405,15 +25908,15 @@ dependencies = [ [[package]] name = "zip" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27c03817464f64e23f6f37574b4fdc8cf65925b5bfd2b0f2aedf959791941f88" +checksum = "1dcb24d0152526ae49b9b96c1dcf71850ca1e0b882e4e28ed898a93c41334744" dependencies = [ "arbitrary", "crc32fast", "crossbeam-utils", "flate2", - "indexmap 2.8.0", + "indexmap 2.9.0", "memchr", "zopfli", ] @@ -25440,7 +25943,7 @@ dependencies = [ "pasta_curves 0.5.1", "rand 0.8.5", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "sha3", "subtle", ] @@ -25450,7 +25953,7 @@ name = "zksync-adapter" version = "1.0.0" dependencies = [ "nexus-core", - "risc0-zkvm", + "risc0-zkvm 2.0.2", "zksync-core", ] @@ -25461,7 +25964,7 @@ dependencies = [ "actix-web", "adapter_sdk", "anyhow", - "env_logger 0.11.7", + "env_logger 0.11.8", "log", "nexus-core", "num-bigint 0.4.6", @@ -25469,11 +25972,11 @@ dependencies = [ "primitive-types 0.12.2", "relayer", "reqwest 0.12.15", - "risc0-zkvm", + "risc0-zkvm 2.0.2", "serde", "serde_json", "sp-runtime 33.0.0", - "sp1-sdk 4.1.4", + "sp1-sdk 4.1.7", "tokio", "tracing-subscriber 0.3.19", "warp", @@ -25488,8 +25991,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.2.0", + "sp1-zkvm 4.2.0", "zksync-core", ] @@ -25516,8 +26019,8 @@ dependencies = [ name = "zksync-methods" version = "1.0.0" dependencies = [ - "risc0-build 1.2.5", - "sp1-build 4.1.4", + "risc0-build", + "sp1-build 4.2.0", ] [[package]] @@ -25535,7 +26038,7 @@ dependencies = [ "serde", "serde_json", "serde_with 1.14.0", - "sha2 0.10.8", + "sha2 0.10.9", "strum 0.26.3", "thiserror 1.0.69", "tiny-keccak", @@ -25599,7 +26102,7 @@ dependencies = [ "secp256k1 0.27.0", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "thiserror 1.0.69", "zksync_basic_types", ] @@ -25649,7 +26152,7 @@ dependencies = [ "prost-reflect", "protox", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -25703,7 +26206,7 @@ dependencies = [ "once_cell", "reqwest 0.12.15", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "tokio", "tracing", "zksync_vlog", @@ -25737,15 +26240,13 @@ dependencies = [ [[package]] name = "zopfli" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" +checksum = "edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7" dependencies = [ "bumpalo", "crc32fast", - "lockfree-object-pool", "log", - "once_cell", "simd-adler32", ] diff --git a/contracts/lib/risc0-ethereum b/contracts/lib/risc0-ethereum index 3c1fd2a8..9abec585 160000 --- a/contracts/lib/risc0-ethereum +++ b/contracts/lib/risc0-ethereum @@ -1 +1 @@ -Subproject commit 3c1fd2a859e40ea009a580aac294191196968c60 +Subproject commit 9abec585eef8f685a93103eaf7d1eee1f1f5f4ec diff --git a/contracts/remappings.txt b/contracts/remappings.txt index 5aa39a51..c1aee6fe 100644 --- a/contracts/remappings.txt +++ b/contracts/remappings.txt @@ -6,3 +6,5 @@ forge-std/=lib/forge-std/src/ halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/ openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/ openzeppelin-contracts/=lib/openzeppelin-contracts/ +risc0/=lib/risc0-ethereum/contracts/src/ +openzeppelin/contracts=lib/openzeppelin-contracts/contracts/ \ No newline at end of file diff --git a/contracts/script/Nexus-zksync.sol b/contracts/script/Nexus-zksync.sol index 89a11b37..ce157614 100644 --- a/contracts/script/Nexus-zksync.sol +++ b/contracts/script/Nexus-zksync.sol @@ -12,6 +12,9 @@ import {IZKSyncNexusManagerRouter} from "../src/verification/zksync/StorageProof import {INexusProofManager} from "../src/interfaces/INexusProofManager.sol"; import {VerifierInfo} from "../src/interfaces/INexusMailbox.sol"; import {INexusVerifierWrapper} from "../src/interfaces/INexusVerifierWrapper.sol"; +import {RiscZeroVerifierRouter} from "risc0/RiscZeroVerifierRouter.sol"; +import {ImageID} from "../src/NexusProverImageID.sol"; +import {IVectorx} from "../src/interfaces/IVectorx.sol"; contract NexusDeployment is Script { struct NetworkConfig { @@ -34,32 +37,31 @@ contract NexusDeployment is Script { // Parse privateKey string memory privateKeyPath = string.concat(basePath, ".privateKey"); - config.deployerPrivateKey = abi.decode( - vm.parseJson(jsonConfig, privateKeyPath), - (uint256) - ); + config.deployerPrivateKey = abi.decode(vm.parseJson(jsonConfig, privateKeyPath), (uint256)); // Parse appId string memory appIdPath = string.concat(basePath, ".appId"); - bytes32 appIdUint = abi.decode( - vm.parseJson(jsonConfig, appIdPath), - (bytes32) - ); + bytes32 appIdUint = abi.decode(vm.parseJson(jsonConfig, appIdPath), (bytes32)); config.appId = appIdUint; string memory appId2Path = string.concat(basePath, ".appId2"); - bytes32 appId2Uint = abi.decode( - vm.parseJson(jsonConfig, appId2Path), - (bytes32) - ); + bytes32 appId2Uint = abi.decode(vm.parseJson(jsonConfig, appId2Path), (bytes32)); config.appId2 = appId2Uint; } function run() public { vm.startBroadcast(config.deployerPrivateKey); + // Deploy Verifier + RiscZeroVerifierRouter risc0Router = new RiscZeroVerifierRouter(msg.sender); + // TODO : add logic for adding the verifier to the router. + + // TODO : need to change this with actual implementation when writing tests + IVectorx vectorX = IVectorx(msg.sender); + // Deploy NexusProofManager - NexusProofManager nexusManager = new NexusProofManager(); + NexusProofManager nexusManager = + new NexusProofManager(address(risc0Router), ImageID.NEXUS_RUNTIME_ID, address(vectorX)); console.log("NexusProofManager deployed to: ", address(nexusManager)); // Deploy and initialize NexusMailbox @@ -68,19 +70,15 @@ contract NexusDeployment is Script { console.log("Mailbox deployed to: ", address(mailbox)); // Deploy ZKSyncNexusManagerRouter - ZKSyncNexusManagerRouter zksyncdiamond = new ZKSyncNexusManagerRouter( - INexusProofManager(address(nexusManager)), - config.appId2 - ); + ZKSyncNexusManagerRouter zksyncdiamond = + new ZKSyncNexusManagerRouter(INexusProofManager(address(nexusManager)), config.appId2); // Deploy SparseMerkleTree SparseMerkleTree sparseMerkleTree = new SparseMerkleTree(); // Deploy VerifierWrapper - VerifierWrapper verifierWrapper = new VerifierWrapper( - IZKSyncNexusManagerRouter(address(zksyncdiamond)), - sparseMerkleTree - ); + VerifierWrapper verifierWrapper = + new VerifierWrapper(IZKSyncNexusManagerRouter(address(zksyncdiamond)), sparseMerkleTree); console.log("Verifer deployed to : ", address(verifierWrapper)); // Add or update wrapper in mailbox diff --git a/contracts/src/NexusMailbox.sol b/contracts/src/NexusMailbox.sol index ca7fc706..b857de85 100644 --- a/contracts/src/NexusMailbox.sol +++ b/contracts/src/NexusMailbox.sol @@ -43,14 +43,8 @@ contract NexusMailbox is INexusMailbox, Initializable, OwnableUpgradeable { /// @param chainblockNumber The block number from the source chain /// @param receipt The message receipt containing all message details /// @param proof The proof verifying the authenticity of the message - function receiveMessage( - uint256 chainblockNumber, - MailboxMessage calldata receipt, - bytes calldata proof - ) public { - VerifierInfo memory verifierInfo = verifierWrappers[ - receipt.nexusAppIDFrom - ]; + function receiveMessage(uint256 chainblockNumber, MailboxMessage calldata receipt, bytes calldata proof) public { + VerifierInfo memory verifierInfo = verifierWrappers[receipt.nexusAppIDFrom]; if (address(verifierInfo.verifier) == address(0)) { revert WrapperNotAvailable(); } @@ -62,18 +56,13 @@ contract NexusMailbox is INexusMailbox, Initializable, OwnableUpgradeable { revert StateAlreadyUpdated(); } - verifierInfo.verifier.parseAndVerify( - chainblockNumber, - receiptHash, - proof, - verifierInfo.mailboxAddress - ); + verifierInfo.verifier.parseAndVerify(chainblockNumber, receiptHash, proof, verifierInfo.mailboxAddress); verifiedMessages[receiptHash] = receipt; address to = search(receipt.nexusAppIDTo, receipt.to); if (to != address(0)) { - (bool success, ) = to.call( + (bool success,) = to.call( abi.encodeWithSignature( "onNexusMessage(bytes32,address,bytes,uint256)", receipt.nexusAppIDFrom, @@ -94,12 +83,9 @@ contract NexusMailbox is INexusMailbox, Initializable, OwnableUpgradeable { /// @param to Array of destination addresses /// @param nonce The message nonce /// @param data The message payload - function sendMessage( - bytes32[] memory nexusAppIDTo, - address[] memory to, - uint256 nonce, - bytes calldata data - ) public { + function sendMessage(bytes32[] memory nexusAppIDTo, address[] memory to, uint256 nonce, bytes calldata data) + public + { //TODO: Check why the address and appId length should match. if (nexusAppIDTo.length != to.length) { revert InvalidParameters(); @@ -126,32 +112,20 @@ contract NexusMailbox is INexusMailbox, Initializable, OwnableUpgradeable { messages[receiptHash] = true; sendMessages[receiptHash] = receipt; - emit MailboxEvent( - nexusAppID, - nexusAppIDTo, - data, - msg.sender, - to, - nonce, - receiptHash - ); + emit MailboxEvent(nexusAppID, nexusAppIDTo, data, msg.sender, to, nonce, receiptHash); } /// @notice Retrieves the details of a sent message /// @param receiptHash The hash of the message receipt /// @return The full message details - function getSendMessage( - bytes32 receiptHash - ) public view returns (MailboxMessage memory) { + function getSendMessage(bytes32 receiptHash) public view returns (MailboxMessage memory) { return sendMessages[receiptHash]; } /// @notice Retrieves a verified message receipt /// @param receiptHash The hash of the message receipt /// @return The verified message details - function getVerifiedMessage( - bytes32 receiptHash - ) public view returns (MailboxMessage memory) { + function getVerifiedMessage(bytes32 receiptHash) public view returns (MailboxMessage memory) { return verifiedMessages[receiptHash]; } @@ -161,12 +135,7 @@ contract NexusMailbox is INexusMailbox, Initializable, OwnableUpgradeable { /// @param to Array of addresses to sort in parallel /// @param left The leftmost index of the sort range /// @param right The rightmost index of the sort range - function quickSort( - bytes32[] memory nexusAppIDTo, - address[] memory to, - int256 left, - int256 right - ) internal pure { + function quickSort(bytes32[] memory nexusAppIDTo, address[] memory to, int256 left, int256 right) internal pure { int256 i = left; int256 j = right; if (i == j) return; @@ -175,14 +144,9 @@ contract NexusMailbox is INexusMailbox, Initializable, OwnableUpgradeable { while (nexusAppIDTo[uint256(i)] < pivot) i++; while (pivot < nexusAppIDTo[uint256(j)]) j--; if (i <= j) { - (nexusAppIDTo[uint256(i)], nexusAppIDTo[uint256(j)]) = ( - nexusAppIDTo[uint256(j)], - nexusAppIDTo[uint256(i)] - ); - (to[uint256(i)], to[uint256(j)]) = ( - to[uint256(j)], - to[uint256(i)] - ); + (nexusAppIDTo[uint256(i)], nexusAppIDTo[uint256(j)]) = + (nexusAppIDTo[uint256(j)], nexusAppIDTo[uint256(i)]); + (to[uint256(i)], to[uint256(j)]) = (to[uint256(j)], to[uint256(i)]); i++; j--; } @@ -200,10 +164,7 @@ contract NexusMailbox is INexusMailbox, Initializable, OwnableUpgradeable { /// @param nexusAppIDTo Array of Nexus application IDs to search /// @param to Array of addresses corresponding to the application IDs /// @return The matching address or address(0) if not found - function search( - bytes32[] memory nexusAppIDTo, - address[] memory to - ) internal view returns (address) { + function search(bytes32[] memory nexusAppIDTo, address[] memory to) internal view returns (address) { if (nexusAppIDTo.length == 0) { return (address(0)); } @@ -232,10 +193,7 @@ contract NexusMailbox is INexusMailbox, Initializable, OwnableUpgradeable { /// @dev This function can reset a verifier wrapper back to address(0) /// @param nexusAppIDFrom The chain ID to set the wrapper for /// @param verifierInfo The verifier wrapper contract address - function addOrUpdateWrapper( - bytes32 nexusAppIDFrom, - VerifierInfo memory verifierInfo - ) public onlyOwner { + function addOrUpdateWrapper(bytes32 nexusAppIDFrom, VerifierInfo memory verifierInfo) public onlyOwner { verifierWrappers[nexusAppIDFrom] = verifierInfo; } } diff --git a/contracts/src/NexusProofManager.sol b/contracts/src/NexusProofManager.sol index e2f3e26a..76c6e292 100644 --- a/contracts/src/NexusProofManager.sol +++ b/contracts/src/NexusProofManager.sol @@ -2,42 +2,67 @@ pragma solidity ^0.8.21; import {JellyfishMerkleTreeVerifier} from "./lib/JellyfishMerkleTreeVerifier.sol"; +import {RiscZeroVerifierRouter} from "risc0/RiscZeroVerifierRouter.sol"; +import {JournalExtractor} from "./lib/JournalExtractor.sol"; +import {Structs} from "./lib/Structs.sol"; +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; +import {IVectorx} from "./interfaces/IVectorx.sol"; +import {Merkle} from "./verification/merkle/Merkle.sol"; -contract NexusProofManager { +contract NexusProofManager is Ownable { uint256 public latestNexusBlockNumber = 0; + RiscZeroVerifierRouter public immutable risc0Router; + bytes32 public imageId; // added for the auto-generated contract + IVectorx public vectorX; - struct NexusBlock { - bytes32 stateRoot; - bytes32 blockHash; - } + using Merkle for bytes32[]; - mapping(uint256 => NexusBlock) public nexusBlock; - mapping(bytes32 => uint256) public nexusAppIDToLatestBlockNumber; - mapping(bytes32 => mapping(uint256 => bytes32)) public nexusAppIDToState; + mapping(uint256 => Structs.NexusHeader) public nexusHeader; + mapping(bytes32 => uint256) public nexusAppAddressToLatestBlockNumber; + mapping(bytes32 => mapping(uint256 => bytes32)) public nexusAppAddressToState; + mapping(uint256 => bytes32) public availHeightToAvailBridgeRoot; error AlreadyUpdatedBlock(uint256 blockNumber); error InvalidBlockNumber(uint256 blockNumber, uint256 latestBlockNumber); error NexusLeafInclusionCheckFailed(); + error InvalidAvailBridgeRootUpdate(uint256 nexusBlockNumber, bytes32 availHeaderHash); + error DataRootCommitmentEmpty(); + error InvalidDataRootProof(); - struct AccountState { - bytes32 statementDigest; - bytes32 stateRoot; - bytes32 startNexusHash; - uint128 lastProofHeight; - uint128 height; + constructor(address _risc0Router, bytes32 _imageId, address _vectorX) Ownable(msg.sender) { + risc0Router = RiscZeroVerifierRouter(_risc0Router); + imageId = _imageId; + vectorX = IVectorx(_vectorX); } // nexus state root // updated when we verify the zk proof and then st block updated - function updateNexusBlock( - uint256 blockNumber, - NexusBlock calldata nexusBlockInfo - ) external { - if (nexusBlock[blockNumber].stateRoot != bytes32(0)) { + function updateNexusBlock(uint256 blockNumber, bytes calldata _proof, bytes calldata journal) external onlyOwner { + Structs.NexusHeader memory nexusHeaderStruct; + // If length of journal is 132 it is from a mock elf journal. Otherwise we use the default extractor + if (journal.length == 132) { + nexusHeaderStruct = JournalExtractor.extractNexusHeaderMockProof(journal); + } else { + nexusHeaderStruct = JournalExtractor.extractNexusHeader(journal); + } + + if (nexusHeader[blockNumber].stateRoot != bytes32(0)) { revert AlreadyUpdatedBlock(blockNumber); } - nexusBlock[blockNumber] = nexusBlockInfo; - // TODO: verify a zk proof from nexus + + nexusHeader[blockNumber] = Structs.NexusHeader({ + parentHash: nexusHeaderStruct.parentHash, + prevStateRoot: nexusHeaderStruct.prevStateRoot, + stateRoot: nexusHeaderStruct.stateRoot, + availHeaderHash: nexusHeaderStruct.availHeaderHash, + number: uint32(blockNumber) + }); + + // risc0Router.verify( + // _proof, // bytes calldata seal + // imageId, // bytes32 ImageID + // sha256(journal) // bytes32 JournalDigest + // ); if (blockNumber > latestNexusBlockNumber) { latestNexusBlockNumber = blockNumber; @@ -47,37 +72,31 @@ contract NexusProofManager { function updateChainState( uint256 nexusBlockNumber, bytes32[] calldata siblings, - bytes32 key, - AccountState calldata accountState - ) external { + bytes32 appAddress, + Structs.AppState calldata appState + ) external onlyOwner { bytes32 valueHash = sha256( abi.encode( - accountState.statementDigest, - accountState.stateRoot, - accountState.startNexusHash, - accountState.lastProofHeight, - accountState.height + appState.statementDigest, + appState.stateRoot, + appState.startNexusHash, + appState.lastProofHeight, + appState.height ) ); - JellyfishMerkleTreeVerifier.Leaf - memory leaf = JellyfishMerkleTreeVerifier.Leaf({ - addr: key, - valueHash: valueHash - }); - - JellyfishMerkleTreeVerifier.Proof - memory proof = JellyfishMerkleTreeVerifier.Proof({ - leaf: leaf, - siblings: siblings - }); - - verifyRollupState(nexusBlock[nexusBlockNumber].stateRoot, proof, leaf); - - if (nexusAppIDToLatestBlockNumber[key] < accountState.height) { - nexusAppIDToLatestBlockNumber[key] = accountState.height; + JellyfishMerkleTreeVerifier.Leaf memory leaf = + JellyfishMerkleTreeVerifier.Leaf({addr: appAddress, valueHash: valueHash}); + + JellyfishMerkleTreeVerifier.Proof memory proof = + JellyfishMerkleTreeVerifier.Proof({leaf: leaf, siblings: siblings}); + + verifyRollupState(nexusHeader[nexusBlockNumber].stateRoot, proof, leaf); + + if (nexusAppAddressToLatestBlockNumber[appAddress] < appState.height) { + nexusAppAddressToLatestBlockNumber[appAddress] = appState.height; } - nexusAppIDToState[key][accountState.height] = accountState.stateRoot; + nexusAppAddressToState[appAddress][appState.height] = appState.stateRoot; } function verifyRollupState( @@ -90,18 +109,51 @@ contract NexusProofManager { } } - function getChainState( - uint256 blockNumber, - bytes32 nexusAppID - ) external view returns (bytes32) { - uint256 latestBlockNumber = nexusAppIDToLatestBlockNumber[nexusAppID]; + function updateAvailBridgeRoot( + uint256 nexusBlockNumber, + bytes32 availBlockHash, + uint256 availBlockNumber, + Structs.AvailBridgeRootVerificationParams calldata availBridgeRootVerificationParams + ) external onlyOwner { + if (nexusHeader[nexusBlockNumber].availHeaderHash != availBlockHash) { + revert InvalidAvailBridgeRootUpdate(nexusBlockNumber, availBlockHash); + } + + bytes32 dataRootCommitment = vectorX.dataRootCommitments(availBridgeRootVerificationParams.rangeHash); + if (dataRootCommitment == 0x0) { + revert DataRootCommitmentEmpty(); + } + if ( + !availBridgeRootVerificationParams.dataRootProof.verifySha2( + dataRootCommitment, + availBridgeRootVerificationParams.dataRootIndex, + keccak256( + abi.encode(availBridgeRootVerificationParams.blobRoot, availBridgeRootVerificationParams.bridgeRoot) + ) + ) + ) { + revert InvalidDataRootProof(); + } + + availHeightToAvailBridgeRoot[availBlockNumber] = availBridgeRootVerificationParams.bridgeRoot; + } + + function getChainState(uint256 blockNumber, bytes32 nexusAppAddress) external view returns (bytes32) { + if (nexusAppAddress == 0x0) { + return availHeightToAvailBridgeRoot[blockNumber]; + } + uint256 latestBlockNumber = nexusAppAddressToLatestBlockNumber[nexusAppAddress]; if (blockNumber == 0) { - return nexusAppIDToState[nexusAppID][latestBlockNumber]; + return nexusAppAddressToState[nexusAppAddress][latestBlockNumber]; } else { if (blockNumber > latestBlockNumber) { revert InvalidBlockNumber(blockNumber, latestBlockNumber); } - return nexusAppIDToState[nexusAppID][blockNumber]; + return nexusAppAddressToState[nexusAppAddress][blockNumber]; } } + + function updateImageId(bytes32 _imageId) external onlyOwner { + imageId = _imageId; + } } diff --git a/contracts/src/NexusProverImageID.sol b/contracts/src/NexusProverImageID.sol new file mode 100644 index 00000000..09b02cca --- /dev/null +++ b/contracts/src/NexusProverImageID.sol @@ -0,0 +1,24 @@ +// Copyright 2024 RISC Zero, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// SPDX-License-Identifier: Apache-2.0 + +// This file is automatically generated + +pragma solidity ^0.8.20; + +library ImageID { + bytes32 public constant NEXUS_RUNTIME_ID = + bytes32(0x954600f285873824c3a8935a830a5724193c15b53e7b0b2a4f9893380b4d7fad); +} diff --git a/contracts/src/interfaces/INexusMailbox.sol b/contracts/src/interfaces/INexusMailbox.sol index 4962212a..b9e6249c 100644 --- a/contracts/src/interfaces/INexusMailbox.sol +++ b/contracts/src/interfaces/INexusMailbox.sol @@ -1,5 +1,6 @@ // SPDX-License-Identifier: Apache 2.0 pragma solidity ^0.8.21; + import {INexusVerifierWrapper} from "./INexusVerifierWrapper.sol"; struct MailboxMessage { @@ -27,16 +28,8 @@ interface INexusMailbox { bytes32 receiptHash ); - function receiveMessage( - uint256 chainblockNumber, - MailboxMessage calldata, - bytes calldata proof - ) external; + function receiveMessage(uint256 chainblockNumber, MailboxMessage calldata, bytes calldata proof) external; - function sendMessage( - bytes32[] memory nexusAppIdTo, - address[] memory to, - uint256 nonce, - bytes calldata data - ) external; + function sendMessage(bytes32[] memory nexusAppIdTo, address[] memory to, uint256 nonce, bytes calldata data) + external; } diff --git a/contracts/src/interfaces/INexusProofManager.sol b/contracts/src/interfaces/INexusProofManager.sol index 0969fafc..ec961112 100644 --- a/contracts/src/interfaces/INexusProofManager.sol +++ b/contracts/src/interfaces/INexusProofManager.sol @@ -3,18 +3,8 @@ pragma solidity ^0.8.21; //TODO: add variable names instead of just types interface INexusProofManager { - function getStorageRoot( - bytes32, - uint256, - address, - bytes calldata - ) external view returns (bytes32); function getChainState(uint256, bytes32) external returns (bytes32); - function nexusAppIDToLatestBlockNumber( - bytes32 - ) external view returns (uint256); - function nexusAppIDToState( - bytes32, - uint256 - ) external view returns (bytes32); + function nexusAppAddressToLatestBlockNumber(bytes32) external view returns (uint256); + function availBridgeRootToAvailHeight(bytes32) external view returns (uint256); + function updateNexusBlock(uint256 blockNumber, bytes calldata _proof, bytes calldata journal) external; } diff --git a/contracts/src/interfaces/INexusReceiver.sol b/contracts/src/interfaces/INexusReceiver.sol index e6a4c849..19af0db7 100644 --- a/contracts/src/interfaces/INexusReceiver.sol +++ b/contracts/src/interfaces/INexusReceiver.sol @@ -2,10 +2,5 @@ pragma solidity ^0.8.21; interface INexusReceiver { - function onNexusMessage( - bytes32, - address, - bytes calldata, - uint256 nonce - ) external; + function onNexusMessage(bytes32, address, bytes calldata, uint256 nonce) external; } diff --git a/contracts/src/interfaces/INexusVerifierWrapper.sol b/contracts/src/interfaces/INexusVerifierWrapper.sol index d9797f9e..660b2d51 100644 --- a/contracts/src/interfaces/INexusVerifierWrapper.sol +++ b/contracts/src/interfaces/INexusVerifierWrapper.sol @@ -2,10 +2,5 @@ pragma solidity ^0.8.21; interface INexusVerifierWrapper { - function parseAndVerify( - uint256 chainblockNumber, - bytes32 receipt, - bytes calldata, - address from - ) external; + function parseAndVerify(uint256 chainblockNumber, bytes32 receipt, bytes calldata, address from) external; } diff --git a/contracts/src/interfaces/IVectorx.sol b/contracts/src/interfaces/IVectorx.sol new file mode 100644 index 00000000..a4d86c79 --- /dev/null +++ b/contracts/src/interfaces/IVectorx.sol @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity ^0.8.21; + +interface IVectorx { + function dataRootCommitments(bytes32 rangeHash) external view returns (bytes32 dataRoot); + function rangeStartBlocks(bytes32 rangeHash) external view returns (uint32 startBlock); +} diff --git a/contracts/src/lib/JellyfishMerkleTreeVerifier.sol b/contracts/src/lib/JellyfishMerkleTreeVerifier.sol index 3db1c9ca..1865a348 100644 --- a/contracts/src/lib/JellyfishMerkleTreeVerifier.sol +++ b/contracts/src/lib/JellyfishMerkleTreeVerifier.sol @@ -12,19 +12,12 @@ library JellyfishMerkleTreeVerifier { bytes32[] siblings; } - function verifyProof( - bytes32 root, - Leaf memory leaf, - Proof memory proof - ) internal pure returns (bool) { + function verifyProof(bytes32 root, Leaf memory leaf, Proof memory proof) internal pure returns (bool) { if (leaf.addr != 0x0 && leaf.valueHash != 0x0) { // Node existence expects inclusion proof if (proof.leaf.addr != 0x0 && proof.leaf.valueHash != 0x0) { // Prove inclusion with inclusion proof - if ( - leaf.addr != proof.leaf.addr || - leaf.valueHash != proof.leaf.valueHash - ) { + if (leaf.addr != proof.leaf.addr || leaf.valueHash != proof.leaf.valueHash) { return false; } } else { @@ -36,9 +29,8 @@ library JellyfishMerkleTreeVerifier { if (proof.leaf.addr != 0x0 && proof.leaf.valueHash != 0x0) { // The inclusion proof of another node if ( - leaf.addr == proof.leaf.addr || - commonLengthPrefixInBits(leaf.addr, proof.leaf.addr) < - proof.siblings.length + leaf.addr == proof.leaf.addr + || commonLengthPrefixInBits(leaf.addr, proof.leaf.addr) < proof.siblings.length ) { return false; } @@ -50,35 +42,17 @@ library JellyfishMerkleTreeVerifier { if (proof.leaf.addr == 0x0 && proof.leaf.valueHash == 0x0) { calculatedRoot = 0x0; } else { - calculatedRoot = sha256( - abi.encodePacked( - hex"4a4d543a3a4c6561664e6f6465", - proof.leaf.addr, - proof.leaf.valueHash - ) - ); + calculatedRoot = + sha256(abi.encodePacked(hex"4a4d543a3a4c6561664e6f6465", proof.leaf.addr, proof.leaf.valueHash)); } - uint8[] memory bitValue = calculateBits( - leaf.addr, - proof.siblings.length - ); - for (uint256 i = 0; i < proof.siblings.length; ) { + uint8[] memory bitValue = calculateBits(leaf.addr, proof.siblings.length); + for (uint256 i = 0; i < proof.siblings.length;) { if (bitValue[i] == 1) { - calculatedRoot = sha256( - abi.encodePacked( - hex"4a4d543a3a496e74726e616c4e6f6465", - proof.siblings[i], - calculatedRoot - ) - ); + calculatedRoot = + sha256(abi.encodePacked(hex"4a4d543a3a496e74726e616c4e6f6465", proof.siblings[i], calculatedRoot)); } else { - calculatedRoot = sha256( - abi.encodePacked( - hex"4a4d543a3a496e74726e616c4e6f6465", - calculatedRoot, - proof.siblings[i] - ) - ); + calculatedRoot = + sha256(abi.encodePacked(hex"4a4d543a3a496e74726e616c4e6f6465", calculatedRoot, proof.siblings[i])); } unchecked { ++i; @@ -88,10 +62,7 @@ library JellyfishMerkleTreeVerifier { return calculatedRoot == root; } - function commonLengthPrefixInBits( - bytes32 a, - bytes32 b - ) private pure returns (uint256) { + function commonLengthPrefixInBits(bytes32 a, bytes32 b) private pure returns (uint256) { uint256 xor = uint256(a) ^ uint256(b); uint256 leadingZeros = 0; while (xor > 0) { @@ -101,25 +72,22 @@ library JellyfishMerkleTreeVerifier { return 256 - leadingZeros; } - function calculateBits( - bytes32 elementKey, - uint siblingsLen - ) public pure returns (uint8[] memory) { - uint skipBits = 256 - siblingsLen; + function calculateBits(bytes32 elementKey, uint256 siblingsLen) public pure returns (uint8[] memory) { + uint256 skipBits = 256 - siblingsLen; uint8[] memory result = new uint8[](siblingsLen); - uint index = 0; + uint256 index = 0; // Iterate over the bits in reverse order, starting from 255 down to skipBits (inclusive) - for (uint i = 255; i >= skipBits && index < siblingsLen; i--) { + for (uint256 i = 255; i >= skipBits && index < siblingsLen; i--) { // Extract the bit at position i - uint bit = (uint(elementKey) >> i) & 1; + uint256 bit = (uint256(elementKey) >> i) & 1; result[index] = uint8(bit); index++; } // Reverse the array to match the expected order - for (uint i = 0; i < siblingsLen / 2; i++) { + for (uint256 i = 0; i < siblingsLen / 2; i++) { uint8 temp = result[i]; result[i] = result[siblingsLen - 1 - i]; result[siblingsLen - 1 - i] = temp; diff --git a/contracts/src/lib/JournalExtractor.sol b/contracts/src/lib/JournalExtractor.sol new file mode 100644 index 00000000..e16ab5fd --- /dev/null +++ b/contracts/src/lib/JournalExtractor.sol @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity ^0.8.21; + +import {Structs} from "./Structs.sol"; +import "forge-std/console.sol"; + +library JournalExtractor { + function extractNexusHeader(bytes calldata data) public pure returns (Structs.NexusHeader memory) { + // parentHash (first 256 bytes, 1 byte from each 4-byte chunk) + bytes32 parentHash = 0; + for (uint256 i = 0; i < 32; i++) { + uint256 bytePos = i * 4; + if (bytePos < data.length) { + parentHash = bytes32(uint256(parentHash) << 8 | uint8(data[bytePos])); + } + } + + // prevStateRoot (next 256 bytes) + bytes32 prevStateRoot = 0; + for (uint256 i = 0; i < 32; i++) { + uint256 bytePos = 128 + (i * 4); + if (bytePos < data.length) { + prevStateRoot = bytes32(uint256(prevStateRoot) << 8 | uint8(data[bytePos])); + } + } + + // stateRoot (next 256 bytes) + bytes32 stateRoot = 0; + for (uint256 i = 0; i < 32; i++) { + uint256 bytePos = 256 + (i * 4); + if (bytePos < data.length) { + stateRoot = bytes32(uint256(stateRoot) << 8 | uint8(data[bytePos])); + } + } + + // availHeaderHash (next 256 bytes) + bytes32 availHeaderHash = 0; + for (uint256 i = 0; i < 32; i++) { + uint256 bytePos = 384 + (i * 4); + if (bytePos < data.length) { + availHeaderHash = bytes32(uint256(availHeaderHash) << 8 | uint8(data[bytePos])); + } + } + + // number (u32 = 4 bytes) + uint32 number = 0; + for (uint256 i = 0; i < 4; i++) { + uint256 bytePos = 512 + i; + if (bytePos < data.length) { + number = number << 8 | uint32(uint8(data[bytePos])); + } + } + + return Structs.NexusHeader(parentHash, prevStateRoot, stateRoot, availHeaderHash, number); + } + + function extractNexusHeaderMockProof(bytes memory data) public pure returns (Structs.NexusHeader memory header) { + require(data.length == 132, "Invalid data length"); + + bytes32 parentHash; + bytes32 prevStateRoot; + bytes32 stateRoot; + bytes32 availHeaderHash; + uint32 num; + + assembly { + parentHash := mload(add(data, 32)) + prevStateRoot := mload(add(data, 64)) + stateRoot := mload(add(data, 96)) + availHeaderHash := mload(add(data, 128)) + num := shr(224, mload(add(data, 160))) // only last 4 bytes + } + + console.log(num); + + header = Structs.NexusHeader(parentHash, prevStateRoot, stateRoot, availHeaderHash, num); + } +} diff --git a/contracts/src/lib/Structs.sol b/contracts/src/lib/Structs.sol new file mode 100644 index 00000000..24afc5ca --- /dev/null +++ b/contracts/src/lib/Structs.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity ^0.8.21; + +library Structs { + struct NexusHeader { + bytes32 parentHash; + bytes32 prevStateRoot; + bytes32 stateRoot; + bytes32 availHeaderHash; + uint32 number; + } + + struct AppState { + bytes32 statementDigest; + bytes32 stateRoot; + bytes32 startNexusHash; + uint128 lastProofHeight; + uint128 height; + } + + struct AvailBridgeRootVerificationParams { + bytes32 bridgeRoot; + uint256 dataRootIndex; + bytes32 blobRoot; + bytes32 rangeHash; + bytes32[] dataRootProof; + } +} diff --git a/contracts/src/mock/FallbackContract.sol b/contracts/src/mock/FallbackContract.sol index d877ef7f..338b4ccb 100644 --- a/contracts/src/mock/FallbackContract.sol +++ b/contracts/src/mock/FallbackContract.sol @@ -4,19 +4,9 @@ pragma solidity ^0.8.21; import {INexusReceiver} from "../interfaces/INexusReceiver.sol"; contract FallbackContract is INexusReceiver { - event MessageReceived( - bytes32 indexed fromAppId, - address indexed from, - bytes data, - uint256 nonce - ); + event MessageReceived(bytes32 indexed fromAppId, address indexed from, bytes data, uint256 nonce); - function onNexusMessage( - bytes32 fromAppId, - address from, - bytes calldata data, - uint256 nonce - ) external { + function onNexusMessage(bytes32 fromAppId, address from, bytes calldata data, uint256 nonce) external { emit MessageReceived(fromAppId, from, data, nonce); } } diff --git a/contracts/src/verification/ethereum/Verifier.sol b/contracts/src/verification/ethereum/Verifier.sol index 17da96c9..23d2c9db 100644 --- a/contracts/src/verification/ethereum/Verifier.sol +++ b/contracts/src/verification/ethereum/Verifier.sol @@ -16,21 +16,12 @@ contract EthereumVerifier is StorageProof { uint256 chainBlockNumber, address account, bytes calldata accountTrieProof - ) external view returns (bytes32) { + ) external returns (bytes32) { require( - chainBlockNumber <= - nexusStateManager.nexusAppIDToLatestBlockNumber(nexusAppID), - "Invalid block number" - ); - bytes32 stateRoot = nexusStateManager.nexusAppIDToState( - nexusAppID, - chainBlockNumber - ); - (, , , bytes32 storageRoot) = verifyAccount( - stateRoot, - accountTrieProof, - account + chainBlockNumber <= nexusStateManager.nexusAppAddressToLatestBlockNumber(nexusAppID), "Invalid block number" ); + bytes32 stateRoot = nexusStateManager.getChainState(chainBlockNumber, nexusAppID); + (,,, bytes32 storageRoot) = verifyAccount(stateRoot, accountTrieProof, account); return storageRoot; } } diff --git a/contracts/src/verification/ethereum/VerifierWrapper.sol b/contracts/src/verification/ethereum/VerifierWrapper.sol index fc506136..992765d8 100644 --- a/contracts/src/verification/ethereum/VerifierWrapper.sol +++ b/contracts/src/verification/ethereum/VerifierWrapper.sol @@ -12,6 +12,7 @@ contract VerifierWrapper is INexusVerifierWrapper, EthereumVerifier { error InvalidEntry(); error InvalidSlotValue(); error InvalidAccount(); + struct Proof { bytes accountProof; address addr; @@ -19,42 +20,25 @@ contract VerifierWrapper is INexusVerifierWrapper, EthereumVerifier { bytes32 storageSlot; } - bytes32 private constant EMPTY_TRIE_ROOT_HASH = - 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421; + bytes32 private constant EMPTY_TRIE_ROOT_HASH = 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421; - constructor( - bytes32 _nexusAppID, - INexusProofManager _nexus - ) EthereumVerifier(_nexus) { + constructor(bytes32 _nexusAppID, INexusProofManager _nexus) EthereumVerifier(_nexus) { nexusAppID = _nexusAppID; nexus = _nexus; } - function parseAndVerify( - uint256 chainblockNumber, - bytes32 receipt, - bytes calldata data, - address from - ) external { + function parseAndVerify(uint256 chainblockNumber, bytes32 receipt, bytes calldata data, address from) external { Proof memory proof = abi.decode(data, (Proof)); if (proof.addr != from) { revert InvalidAccount(); } bytes32 state = nexus.getChainState(chainblockNumber, nexusAppID); - (, , , bytes32 storageRoot) = verifyAccount( - state, - proof.accountProof, - proof.addr - ); + (,,, bytes32 storageRoot) = verifyAccount(state, proof.accountProof, proof.addr); if (storageRoot == EMPTY_TRIE_ROOT_HASH) { revert InvalidEntry(); } - bytes32 value = verifyStorage( - storageRoot, - proof.storageSlot, - proof.storageProof - ); + bytes32 value = verifyStorage(storageRoot, proof.storageSlot, proof.storageProof); if (value != receipt) { revert InvalidSlotValue(); diff --git a/contracts/src/verification/merkle/Merkle.sol b/contracts/src/verification/merkle/Merkle.sol new file mode 100644 index 00000000..73705908 --- /dev/null +++ b/contracts/src/verification/merkle/Merkle.sol @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: Apache-2.0 +// Modified from https://github.com/QEDK/solidity-misc/blob/master/contracts/Merkle.sol +pragma solidity ^0.8.21; + +/** + * @author @QEDK + * @title Merkle + * @notice A gas-efficient ordered Merkle proof of inclusion implementation + * @custom:security security@availproject.org + */ +library Merkle { + function verify(bytes32[] calldata proof, bytes32 root, uint256 index, bytes32 leaf) + internal + pure + returns (bool isValid) + { + assembly ("memory-safe") { + if proof.length { + // set end to be the end of the proof array, shl(5, proof.length) is equivalent to proof.length * 32 + let end := add(proof.offset, shl(5, proof.length)) + // set iterator to the start of the proof array + let i := proof.offset + // prettier-ignore + // solhint-disable-next-line no-empty-blocks + for {} 1 {} { + // if index is odd, leaf slot is at 0x20, else 0x0 + let leafSlot := shl(5, and(0x1, index)) + // store the leaf at the calculated slot + mstore(leafSlot, leaf) + // store proof element in whichever slot is not occupied by the leaf + mstore(xor(leafSlot, 32), calldataload(i)) + // hash the first 64 bytes in memory + leaf := keccak256(0, 64) + // shift index right by 1 bit to divide by 2 + index := shr(1, index) + // increment iterator by 32 bytes + i := add(i, 32) + // break if iterator is at the end of the proof array + if iszero(lt(i, end)) { break } + } + } + // check if index is zeroed out (because tree is balanced) and leaf is equal to root + isValid := and(eq(leaf, root), iszero(index)) + } + } + + function verifySha2(bytes32[] calldata proof, bytes32 root, uint256 index, bytes32 leaf) + internal + view + returns (bool isValid) + { + assembly ("memory-safe") { + if proof.length { + // set end to be the end of the proof array, shl(5, proof.length) is equivalent to proof.length * 32 + let end := add(proof.offset, shl(5, proof.length)) + // set iterator to the start of the proof array + let i := proof.offset + // prettier-ignore + // solhint-disable-next-line no-empty-blocks + for {} 1 {} { + // if index is odd, leaf slot is at 0x20, else 0x0 + let leafSlot := shl(5, and(0x1, index)) + // store the leaf at the calculated slot + mstore(leafSlot, leaf) + // store proof element in whichever slot is not occupied by the leaf + mstore(xor(leafSlot, 32), calldataload(i)) + // hash the first 64 bytes in memory with sha2-256 and store in scratch space + if iszero(staticcall(gas(), 0x02, 0, 64, 0, 32)) { break } + // store for next iteration + leaf := mload(0) + // shift index right by 1 bit to divide by 2 + index := shr(1, index) + // increment iterator by 32 bytes + i := add(i, 32) + // break if iterator is at the end of the proof array + if iszero(lt(i, end)) { break } + } + } + // check if index is zeroed out (because tree is balanced) and leaf is equal to root + isValid := and(eq(leaf, root), iszero(index)) + } + } + + function verifySha2Memory(bytes32[] memory proof, bytes32 root, uint256 index, bytes32 leaf) + internal + view + returns (bool isValid) + { + assembly ("memory-safe") { + if mload(proof) { + // initialize iterator to the offset of proof elements in memory + let i := add(proof, 32) + // left shift by 5 is equivalent to multiplying by 32 + let end := add(i, shl(5, mload(proof))) + // prettier-ignore + // solhint-disable-next-line no-empty-blocks + for {} 1 {} { + // if index is odd, leaf slot is at 0x20, else 0x0 + let leafSlot := shl(5, and(0x1, index)) + // store the leaf at the calculated slot + mstore(leafSlot, leaf) + // store proof element in whichever slot is not occupied by the leaf + mstore(xor(leafSlot, 32), mload(i)) + // hash the first 64 bytes in memory with sha2-256 and store in scratch space + if iszero(staticcall(gas(), 0x02, 0, 64, 0, 32)) { break } + // store for next iteration + leaf := mload(0) + // shift index right by 1 bit to divide by 2 + index := shr(1, index) + // increment iterator by 32 bytes + i := add(i, 32) + // break if iterator is at the end of the proof array + if iszero(lt(i, end)) { break } + } + } + // check if index is zeroed out (because tree is balanced) and leaf is equal to root + isValid := and(eq(leaf, root), iszero(index)) + } + } +} diff --git a/contracts/src/verification/zksync/StorageProof.sol b/contracts/src/verification/zksync/StorageProof.sol index 099f57ab..0ad5f9a5 100644 --- a/contracts/src/verification/zksync/StorageProof.sol +++ b/contracts/src/verification/zksync/StorageProof.sol @@ -24,33 +24,19 @@ contract StorageProofVerifier { IZKSyncNexusManagerRouter public immutable zksyncDiamondAddress; SparseMerkleTree public smt; - constructor( - IZKSyncNexusManagerRouter _zksyncDiamondAddress, - SparseMerkleTree _smt - ) { + constructor(IZKSyncNexusManagerRouter _zksyncDiamondAddress, SparseMerkleTree _smt) { zksyncDiamondAddress = _zksyncDiamondAddress; smt = _smt; } /// @notice Verifies the storage proof - function verify( - StorageProof memory _proof, - uint256 _key - ) public view returns (bool valid) { + function verify(StorageProof memory _proof, uint256 _key) public view returns (bool valid) { // Fold the proof path to get hash of L2 state bytes32 l2BatchHash = smt.getRootHash( - _proof.path, - TreeEntry({ - key: _key, - value: _proof.value, - leafIndex: _proof.index - }), - _proof.account + _proof.path, TreeEntry({key: _key, value: _proof.value, leafIndex: _proof.index}), _proof.account ); - bytes32 l1BatchHash = zksyncDiamondAddress.storedBatchHash( - _proof.batchNumber - ); + bytes32 l1BatchHash = zksyncDiamondAddress.storedBatchHash(_proof.batchNumber); valid = l2BatchHash == l1BatchHash; } diff --git a/contracts/src/verification/zksync/StorageProofMock.sol b/contracts/src/verification/zksync/StorageProofMock.sol new file mode 100644 index 00000000..8a0a5e18 --- /dev/null +++ b/contracts/src/verification/zksync/StorageProofMock.sol @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.10; + +import "./StorageProof.sol"; + +contract StorageProofMock { + IZKSyncNexusManagerRouter public immutable zksyncDiamondAddress; + SparseMerkleTree public smt; + + constructor(IZKSyncNexusManagerRouter _zksyncDiamondAddress, SparseMerkleTree _smt) { + zksyncDiamondAddress = _zksyncDiamondAddress; + smt = _smt; + } + + function verify(StorageProof memory _proof, uint256 _key) public view returns (bool valid) { + valid = true; + } +} diff --git a/contracts/src/verification/zksync/VerifierWrapper.sol b/contracts/src/verification/zksync/VerifierWrapper.sol index dadeccb9..f15966c4 100644 --- a/contracts/src/verification/zksync/VerifierWrapper.sol +++ b/contracts/src/verification/zksync/VerifierWrapper.sol @@ -11,17 +11,11 @@ contract VerifierWrapper is INexusVerifierWrapper, StorageProofVerifier { error InvalidAccount(); error VerificationFailed(); - constructor( - IZKSyncNexusManagerRouter zksyncDiamondAddress, - SparseMerkleTree smt - ) StorageProofVerifier(zksyncDiamondAddress, smt) {} + constructor(IZKSyncNexusManagerRouter zksyncDiamondAddress, SparseMerkleTree smt) + StorageProofVerifier(zksyncDiamondAddress, smt) + {} - function parseAndVerify( - uint256, - bytes32 receipt, - bytes calldata data, - address from - ) external view { + function parseAndVerify(uint256, bytes32 receipt, bytes calldata data, address from) external view { StorageProof memory proof = abi.decode(data, (StorageProof)); if (proof.account != from) { revert InvalidAccount(); @@ -30,14 +24,7 @@ contract VerifierWrapper is INexusVerifierWrapper, StorageProofVerifier { revert InvalidProof(); } - if ( - verify( - proof, - uint256( - keccak256(abi.encodePacked(uint256(0), uint256(receipt))) - ) - ) - ) { + if (verify(proof, uint256(keccak256(abi.encodePacked(uint256(0), uint256(receipt)))))) { revert VerificationFailed(); } } diff --git a/contracts/test/EthereumVerifier.sol b/contracts/test/EthereumVerifier.sol index 13b671fd..3e1168af 100644 --- a/contracts/test/EthereumVerifier.sol +++ b/contracts/test/EthereumVerifier.sol @@ -1,30 +1,52 @@ // SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.21; -import "forge-std/test.sol"; +import "forge-std/Test.sol"; import "../src/NexusProofManager.sol"; import "../src/interfaces/INexusProofManager.sol"; import "../src/mock/ERC20.sol"; import "../src/verification/ethereum/Verifier.sol"; +import {RiscZeroVerifierRouter} from "risc0/RiscZeroVerifierRouter.sol"; +import {IRiscZeroVerifier} from "risc0/IRiscZeroVerifier.sol"; +import {RiscZeroCheats} from "risc0/test/RiscZeroCheats.sol"; +import {ImageID} from "../src/NexusProverImageID.sol"; +import {IVectorx} from "../src/interfaces/IVectorx.sol"; -contract EthereumVerifierTest is Test { +contract EthereumVerifierTest is Test, RiscZeroCheats { NexusProofManager proofManager; ERC20Token erc20; EthereumVerifier verifier; + RiscZeroVerifierRouter risc0Router; + IRiscZeroVerifier risc0Verifier; + IVectorx vectorX; bytes32[] dynamicPath; uint256 blockNumber = 123; bytes32 stateRoot = 0x646298a2ebc208f4ea2e41298eec4a6c6b3a5cb76318681529b28bdcb4867ec0; - bytes32 blockHash = 0x5f574db327c747d944da576c21506ac2a90dc8f19bbc55791642c5e40d3b100e; - bytes32 appid = 0x3655ca59b7d566ae06297c200f98d04da2e8e89812d627bc29297c25db60362d; address account = 0xDC11f7E700A4c898AE5CAddB1082cFfa76512aDD; bytes32 private constant EMPTY_TRIE_ROOT_HASH = 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421; bytes32 private constant EMPTY_CODE_HASH = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; + // parameters for `updateNexusBlock` function + // IMP : proof used here is a fake proof. Not a STARK proof + // This journal is nexus proof which is generated through mock elf proving. + bytes journal = + hex"e2d612283fc162a34ec4cae21335f10efad0234e23f281aae67215b0edb0dca178960bb207f285632596f8932b98117adec87241e5c09346cbc5637ede0df7c4e7cce75ae1f47fab781b78e332473d7d9a43c713b1f533b06eda6b38e7c4dd04c2df954f375c6273ad0a38ccff49bc230daec7cd9a4418b8e247f6ff7ecd87bf0f000000"; + // seal : extracted using `encode_seal` function + bytes proof = hex"fffffffffa454345a5049d6b0e9d44d59d788b07f0b04b7afc7337ba113be0e28d684895"; + function setUp() public { erc20 = new ERC20Token("Avail", "Avail"); - proofManager = new NexusProofManager(); + risc0Verifier = deployRiscZeroVerifier(); + risc0Router = new RiscZeroVerifierRouter(msg.sender); + + // TODO : need to change this with actual implementation when writing tests + vectorX = IVectorx(msg.sender); + + vm.prank(msg.sender); + risc0Router.addVerifier(0xffffffff, risc0Verifier); + proofManager = new NexusProofManager(address(risc0Router), ImageID.NEXUS_RUNTIME_ID, address(vectorX)); verifier = new EthereumVerifier(INexusProofManager(address(proofManager))); } @@ -36,7 +58,7 @@ contract EthereumVerifierTest is Test { } function testStorageProof() public { - proofManager.updateNexusBlock(blockNumber, NexusProofManager.NexusBlock(stateRoot, blockHash)); + proofManager.updateNexusBlock(blockNumber, proof, journal); bytes memory storageProof = hex"f9032cb90214f90211a0fa5e2fd2d6e72c8e43b0ecbeb17a319100e1afbbdb29b63a697bcdbd4a76a2c9a06eb6224a9564b438ad325d0488179f5030a4326eef2ed1ac2d7519d4294174aba061ef152c381b12802824b71a91afc98c04a5b6e51d389fb9f2c05e5abe31b3e5a04e89079af75d215b6bc8b9da9d4004924c10f630376ad15c0a38aca26f72181aa041546186685e7844b9eb3e9aae302edd9e4bea2623126f7b6d1c960eb40c011ca0edd7174916748bfa8745eb7c7ae6d918407122e59528613c45378c4fb2ce754fa0fbcd97095a84dca96a677c8cecc8c896dc30873b04f26c75e9c178d0ca37e6aca0e0c78dc9d094e0862de0a5c9c985baf6559e2c40bec51992680b214bc6bb4f35a057ff5978a35d5ec99f026666883f5f027fde694459680ec6e57fc298e2e98186a0c9d21353484f8b32ef324257ad91a3ec3c38a7b8406e8a4f8ee4df36db357af9a0e6d922b0ba239623bb6e760dca22188040f4cc5a0ec67956f7a150caf572c960a0e8d15b5addd823945cf6fc4bfbbad157509404495f1837252b0ee02218968373a0d3296997569db72f2d654f637d919044d60780c9dd0b0991cfa7643d342a3923a0829e3a88a6375481ab9af6f12a2aacf1ce623d271db7aee004d554a0614429aaa0e1fbeb68483387d5bc0b5c55ed390b8fe3eeb317e1529ccaa9c7a41f0446d7a4a079f4c602db086d596a7a47dbcaaa6a0d6e75f1ccc8165907610e76c93abfbfe580b893f891a09f74f37bdf07e2d73e875c821a01a72ec9e3e5362cddcfa3521296476e6da1f880808080a038d9d8c71f2ce4639e7da19dc4c9d007e8b899611eea89b30c58963958b9e1a08080a0c50af823ddd4cfc519ce820f15c121ca41cdebf06b1c3ef90f864120f4aefc468080808080a0eb10e85ce708885e53342a886ef11efbe1d3594a12fa790df637d075eac860b18080b853f8518080808080a06faf57464a2fd95b0ab5ca730e0bcb746ddf4998391c1f0c25a1c7aecd71b4c8808080808080808080a070498144d3ce4caf58f156fda7f3056e5cb58bfca06621a384d441c6c691a2ae80aae99f3787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace88872386f26fc10000"; bytes32 storageRoot = 0xed339d10818912537ecff9846d024bbb91f43c025e0cf6bd9776170b11a77233; diff --git a/contracts/test/JMT.sol b/contracts/test/JMT.sol index 5b2f2761..fb73ff7f 100644 --- a/contracts/test/JMT.sol +++ b/contracts/test/JMT.sol @@ -3,75 +3,94 @@ pragma solidity ^0.8.21; import "forge-std/test.sol"; import "../src/NexusProofManager.sol"; +import {Structs} from "../src/lib/Structs.sol"; import "../src/interfaces/INexusProofManager.sol"; import "../src/mock/ERC20.sol"; import "../src/verification/ethereum/Verifier.sol"; +import {IRiscZeroVerifier} from "risc0/IRiscZeroVerifier.sol"; +import {RiscZeroCheats} from "risc0/test/RiscZeroCheats.sol"; +import {ImageID} from "../src/NexusProverImageID.sol"; +import {IVectorx} from "../src/interfaces/IVectorx.sol"; -contract EthereumVerifierTest is Test { +contract EthereumVerifierTest is Test, RiscZeroCheats { NexusProofManager proofManager; ERC20Token erc20; EthereumVerifier verifier; + RiscZeroVerifierRouter risc0Router; + IRiscZeroVerifier risc0Verifier; + IVectorx vectorX; - bytes32 private constant EMPTY_TRIE_ROOT_HASH = - 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421; - bytes32 private constant EMPTY_CODE_HASH = - 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; + bytes32 private constant EMPTY_TRIE_ROOT_HASH = 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421; + bytes32 private constant EMPTY_CODE_HASH = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; + + // parameters for `updateNexusBlock` function + // IMP : proof used here is a fake proof. Not a STARK proof + // This journal is nexus proof which is generated through mock elf proving. + bytes journal = + hex"e2d612283fc162a34ec4cae21335f10efad0234e23f281aae67215b0edb0dca178960bb207f285632596f8932b98117adec87241e5c09346cbc5637ede0df7c4e7cce75ae1f47fab781b78e332473d7d9a43c713b1f533b06eda6b38e7c4dd04c2df954f375c6273ad0a38ccff49bc230daec7cd9a4418b8e247f6ff7ecd87bf0f000000"; + // seal : extracted using `encode_seal` function + bytes proof = hex"fffffffffa454345a5049d6b0e9d44d59d788b07f0b04b7afc7337ba113be0e28d684895"; function setUp() public { erc20 = new ERC20Token("Avail", "Avail"); - proofManager = new NexusProofManager(); - verifier = new EthereumVerifier( - INexusProofManager(address(proofManager)) - ); + risc0Verifier = deployRiscZeroVerifier(); + risc0Router = new RiscZeroVerifierRouter(msg.sender); + + // TODO : need to change this with actual implementation when writing tests + vectorX = IVectorx(msg.sender); + + vm.prank(msg.sender); + risc0Router.addVerifier(bytes4(0), risc0Verifier); + proofManager = new NexusProofManager(address(risc0Router), ImageID.NEXUS_RUNTIME_ID, address(vectorX)); + verifier = new EthereumVerifier(INexusProofManager(address(proofManager))); } function testEmptyProof() public { - uint256 blockNumber = 123; - - bytes32 stateRoot = 0x118eabaae552430cdecf445736d2e57c5dbcf70c1688f053e70f0c3a6a80411f; - bytes32 blockHash = 0x118eabaae552430cdecf445736d2e57c5dbcf70c1688f053e70f0c3a6a80411f; + uint256 blockNumber = 15; bytes32 appid = 0x3655ca59b7d566ae06297c200f98d04da2e8e89812d627bc29297c25db60362d; - proofManager.updateNexusBlock( - blockNumber, - NexusProofManager.NexusBlock(stateRoot, blockHash) - ); + proofManager.updateNexusBlock(blockNumber, proof, journal); bytes32[] memory siblings; - NexusProofManager.AccountState memory state = NexusProofManager - .AccountState( - 0x509248c5752f1898dfea0887e7617a84631e749a404a25e976c6d3883c789b3b, - 0xd62c0e6039b3b76b0c70301de2dee44f1f8d1335e7df9bd26fc3bdb6f33a2574, - 0x378f4888b185704cb8c8e86792838c2fed7f7d4bd58cd9e66b34050a9c42aad1, - 570, - 123 - ); + + /* + from account proof from nexus client : + 1. Run mock-geth adapter with nexus + 2. Fetch the account state and then send the proof + 3. Print the result. + 4. Extract the values from the result and use it here. + 5. Below info is from account state + + 0xb0abae3a180de2034da3ce8084bc0afcbea6a5f64efb4bb3c9b9c4a841fdaa62 ---> statement digest + 0x78960bb207f285632596f8932b98117adec87241e5c09346cbc5637ede0df7c4 ---> state root + 0xadb3f87a06a0f912592ba7c77aa784a383c80486e75969b48f8cb5453bcc91ba ---> start nexus hash + 0x0000000000000000000000000000000000000000000000000000000000000001 ---> last proof height + 0x00000000000000000000000000000000000000000000000000000000000614ea ---> height + */ + + Structs.AppState memory state = Structs.AppState( + 0xb0abae3a180de2034da3ce8084bc0afcbea6a5f64efb4bb3c9b9c4a841fdaa62, + 0x78960bb207f285632596f8932b98117adec87241e5c09346cbc5637ede0df7c4, + 0xadb3f87a06a0f912592ba7c77aa784a383c80486e75969b48f8cb5453bcc91ba, + 1, + 398570 + ); proofManager.updateChainState(blockNumber, siblings, appid, state); } function testNonEmptyProof() public { - uint256 blockNumber = 16; - bytes32 stateRoot = 0x01eabe125b5f4f9ce2b9c3cc3c306fe789bd6f6ef28aa8d2fb2254e1be045e38; - bytes32 blockHash = 0x01eabe125b5f4f9ce2b9c3cc3c306fe789bd6f6ef28aa8d2fb2254e1be045e38; - bytes32 appid = 0xa40fb80ad4287819ecda5efac01c74c78d7cb00ca5f9eb5f6c0f19bd09936ac1; - - proofManager.updateNexusBlock( - blockNumber, - NexusProofManager.NexusBlock(stateRoot, blockHash) + uint256 blockNumber = 15; + bytes32 appid = 0x3655ca59b7d566ae06297c200f98d04da2e8e89812d627bc29297c25db60362d; + + proofManager.updateNexusBlock(blockNumber, proof, journal); + bytes32[] memory siblings; + Structs.AppState memory state = Structs.AppState( + 0xb0abae3a180de2034da3ce8084bc0afcbea6a5f64efb4bb3c9b9c4a841fdaa62, + 0x78960bb207f285632596f8932b98117adec87241e5c09346cbc5637ede0df7c4, + 0xadb3f87a06a0f912592ba7c77aa784a383c80486e75969b48f8cb5453bcc91ba, + 1, + 398570 ); - bytes32[] memory siblings = new bytes32[](1); - siblings[ - 0 - ] = 0x9e09f177a634b05e216d7c69be82589bf33d9c236e157bec7c844c29adda894a; - - NexusProofManager.AccountState memory state = NexusProofManager - .AccountState( - 0x0000000000000000000000000000000000000000000000000000000000000000, - 0x0000000000000000000000000000000000000000000000000000000000000000, - 0x7d762e1332bba77a369bee1204580472039f972d2d445d7499e814ff485fe76f, - 0, - 0 - ); proofManager.updateChainState(blockNumber, siblings, appid, state); } diff --git a/contracts/test/JournalExtractor.sol b/contracts/test/JournalExtractor.sol new file mode 100644 index 00000000..5e2d70b8 --- /dev/null +++ b/contracts/test/JournalExtractor.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity ^0.8.21; + +import "forge-std/Test.sol"; +import {JournalExtractor} from "../src/lib/JournalExtractor.sol"; +import {Structs} from "../src/lib/Structs.sol"; +import {RiscZeroVerifierRouter} from "risc0/RiscZeroVerifierRouter.sol"; +import {IRiscZeroVerifier} from "risc0/IRiscZeroVerifier.sol"; +import {RiscZeroCheats} from "risc0/test/RiscZeroCheats.sol"; +import "forge-std/console.sol"; + +contract JournalExtractorTest is Test { + // bytes parentHash = "f500000056000000c70000008200000064000000130000009c0000003200000025000000460000008f00000029000000a2000000550000000300000014000000f6000000920000001d000000280000005300000062000000be0000003d00000001000000670000009e000000f0000000d70000006f000000550000001a000000"; + // bytes prevStateRoot = "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; + // bytes stateRoot = "170000001a0000003a0000004b0000001f00000001000000460000005a0000008b000000f90000002f00000022000000fd000000bf0000008400000050000000170000005f0000007c000000960000003800000097000000d6000000b00000000e0000003800000053000000a600000031000000d70000009a000000ae000000"; + // bytes availHeaderHash = "3600000055000000ca00000059000000b7000000d500000066000000ae00000006000000290000007c000000200000000f00000098000000d00000004d000000a2000000e8000000e80000009800000012000000d600000027000000bc00000029000000290000007c00000025000000db00000060000000360000002d000000"; + // bytes number = "a0860100"; + bytes journalConstructed = + hex"f500000056000000c70000008200000064000000130000009c0000003200000025000000460000008f00000029000000a2000000550000000300000014000000f6000000920000001d000000280000005300000062000000be0000003d00000001000000670000009e000000f0000000d70000006f000000550000001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000170000001a0000003a0000004b0000001f00000001000000460000005a0000008b000000f90000002f00000022000000fd000000bf0000008400000050000000170000005f0000007c000000960000003800000097000000d6000000b00000000e0000003800000053000000a600000031000000d70000009a000000ae0000003600000055000000ca00000059000000b7000000d500000066000000ae00000006000000290000007c000000200000000f00000098000000d00000004d000000a2000000e8000000e80000009800000012000000d600000027000000bc00000029000000290000007c00000025000000db00000060000000360000002d00000000000020"; + + function testExtractNexusHeader() public view { + Structs.NexusHeader memory nexusHeaderExpected = Structs.NexusHeader({ + parentHash: bytes32(0xf556c78264139c3225468f29a2550314f6921d285362be3d01679ef0d76f551a), + prevStateRoot: bytes32(0x0), + stateRoot: bytes32(0x171a3a4b1f01465a8bf92f22fdbf8450175f7c963897d6b00e3853a631d79aae), + availHeaderHash: bytes32(0x3655ca59b7d566ae06297c200f98d04da2e8e89812d627bc29297c25db60362d), + number: 32 + }); + + Structs.NexusHeader memory nexusHeader = JournalExtractor.extractNexusHeader(journalConstructed); + + assert(nexusHeaderExpected.parentHash == nexusHeader.parentHash); + assert(nexusHeaderExpected.prevStateRoot == nexusHeader.prevStateRoot); + assert(nexusHeaderExpected.stateRoot == nexusHeader.stateRoot); + assert(nexusHeaderExpected.availHeaderHash == nexusHeader.availHeaderHash); + assert(nexusHeaderExpected.number == nexusHeader.number); + } +} + +// To run this test : +// forge test --match-contract JournalExtractorTest -vv diff --git a/contracts/test/Mailbox.sol b/contracts/test/Mailbox.sol index ee42adf1..73eab4cf 100644 --- a/contracts/test/Mailbox.sol +++ b/contracts/test/Mailbox.sol @@ -11,38 +11,56 @@ import "../src/verification/zksync/StorageProof.sol"; import "../src/verification/zksync/SparseMerkleTree.sol"; import "../src/verification/zksync/VerifierWrapper.sol"; import "../src/verification/zksync/ZKSyncNexusManagerRouter.sol"; +import {Structs} from "../src/lib/Structs.sol"; +import {IRiscZeroVerifier} from "risc0/IRiscZeroVerifier.sol"; +import {RiscZeroCheats} from "risc0/test/RiscZeroCheats.sol"; +import {ImageID} from "../src/NexusProverImageID.sol"; +import {IVectorx} from "../src/interfaces/IVectorx.sol"; import "./NexusMailboxWrapper.sol"; -contract MailBoxTest is Test { +contract MailBoxTest is Test, RiscZeroCheats { NexusMailboxWrapper mailbox; NexusProofManager proofManager; ERC20Token erc20; VerifierWrapper wrapper; + RiscZeroVerifierRouter risc0Router; + IRiscZeroVerifier risc0Verifier; + IVectorx vectorX; uint256 targetnexusAppID = 137; - bytes32 appIdDestination = - 0x3655ca59b7d566ae06297c200f98d04da2e8e89812d627bc29297c25db60362d; + bytes32 appIdDestination = 0x3655ca59b7d566ae06297c200f98d04da2e8e89812d627bc29297c25db60362d; + + // parameters for `updateNexusBlock` function + // IMP : proof used here is a fake proof. Not a STARK proof + // This journal is nexus proof which is generated through mock elf proving. + bytes journal = + hex"e2d612283fc162a34ec4cae21335f10efad0234e23f281aae67215b0edb0dca178960bb207f285632596f8932b98117adec87241e5c09346cbc5637ede0df7c4e7cce75ae1f47fab781b78e332473d7d9a43c713b1f533b06eda6b38e7c4dd04c2df954f375c6273ad0a38ccff49bc230daec7cd9a4418b8e247f6ff7ecd87bf0f000000"; + // seal : extracted using `encode_seal` function + bytes proof = hex"fffffffffa454345a5049d6b0e9d44d59d788b07f0b04b7afc7337ba113be0e28d684895"; + function setUp() public { mailbox = new NexusMailboxWrapper(); mailbox.initialize(appIdDestination); erc20 = new ERC20Token("Avail", "Avail"); - proofManager = new NexusProofManager(); + + risc0Verifier = deployRiscZeroVerifier(); + + // TODO : need to change this with actual implementation when writing tests + vectorX = IVectorx(msg.sender); + + risc0Router = new RiscZeroVerifierRouter(msg.sender); + vm.prank(msg.sender); + risc0Router.addVerifier(bytes4(0), risc0Verifier); + proofManager = new NexusProofManager(address(risc0Router), ImageID.NEXUS_RUNTIME_ID, address(vectorX)); + SparseMerkleTree smt = new SparseMerkleTree(); - ZKSyncNexusManagerRouter zksyncDiamond = new ZKSyncNexusManagerRouter( - INexusProofManager(address(proofManager)), - appIdDestination - ); - wrapper = new VerifierWrapper( - IZKSyncNexusManagerRouter(address(zksyncDiamond)), - smt - ); + ZKSyncNexusManagerRouter zksyncDiamond = + new ZKSyncNexusManagerRouter(INexusProofManager(address(proofManager)), appIdDestination); + wrapper = new VerifierWrapper(IZKSyncNexusManagerRouter(address(zksyncDiamond)), smt); mailbox.addOrUpdateWrapper( bytes32(targetnexusAppID), - VerifierInfo( - INexusVerifierWrapper(address(wrapper)), - 0x9a03a545A60263216c4310Be05C34B71C170903A - ) + VerifierInfo(INexusVerifierWrapper(address(wrapper)), 0x9a03a545A60263216c4310Be05C34B71C170903A) ); } @@ -74,42 +92,21 @@ contract MailBoxTest is Test { function testReceiveReceipt() public { mailbox.addOrUpdateWrapper( bytes32(targetnexusAppID), - VerifierInfo( - INexusVerifierWrapper(address(wrapper)), - 0x6bc15F6C8abD245812C7eC650D4586b9B52Ae546 - ) + VerifierInfo(INexusVerifierWrapper(address(wrapper)), 0x6bc15F6C8abD245812C7eC650D4586b9B52Ae546) ); uint256 key = 0xfaaf1897615a4d5824a81780f33dd422a304cae5e7b14f0f9215d1a3deeea9e2; bytes32 value = 0x7fc8e033e28402e82ae3c4a4e6d7d02ab3941505362bdb58c429a2ffc9870802; bytes32[] memory dynamicPath = new bytes32[](9); - dynamicPath[0] = bytes32( - 0xba5325838c32aa67257f995767d0a51bb9652e86b162dcc8fbb43b15cc5c7ae5 - ); - dynamicPath[1] = bytes32( - 0x01de01ebbdc33833eb4e9049fa9bb20f0268737312999115a14d553c661a3b6c - ); - dynamicPath[2] = bytes32( - 0xc89cb40d1ae178bbc7e18800b0aa460f53a070d710c4c70ebc8731f0d3812e22 - ); - dynamicPath[3] = bytes32( - 0xc631fffdfdbc27ed0e4f61bc50b799ee0d9b67d5e9cac886e703144e9572712d - ); - dynamicPath[4] = bytes32( - 0x4e1e5eb29f3378179f87112827a22ce510fd6b80b11d4ea70b8ca50414e1e67b - ); - dynamicPath[5] = bytes32( - 0xdd2ee4dcfdab21b5746de659fc8742cf5671520826ee90216e142b165c26eb3f - ); - dynamicPath[6] = bytes32( - 0xe01a1ba6f8acab9e567849199d1af48b883532a642724b269d824745f07d959a - ); - dynamicPath[7] = bytes32( - 0xbd4efdde3e1211ff26d4549887187e6b4ab232b718f4902e5e7ccf00493e7b68 - ); - dynamicPath[8] = bytes32( - 0xdc9a374febf417a247dbf3974ca6b39344266105d9c93f32a9fa2301e6d19a98 - ); + dynamicPath[0] = bytes32(0xba5325838c32aa67257f995767d0a51bb9652e86b162dcc8fbb43b15cc5c7ae5); + dynamicPath[1] = bytes32(0x01de01ebbdc33833eb4e9049fa9bb20f0268737312999115a14d553c661a3b6c); + dynamicPath[2] = bytes32(0xc89cb40d1ae178bbc7e18800b0aa460f53a070d710c4c70ebc8731f0d3812e22); + dynamicPath[3] = bytes32(0xc631fffdfdbc27ed0e4f61bc50b799ee0d9b67d5e9cac886e703144e9572712d); + dynamicPath[4] = bytes32(0x4e1e5eb29f3378179f87112827a22ce510fd6b80b11d4ea70b8ca50414e1e67b); + dynamicPath[5] = bytes32(0xdd2ee4dcfdab21b5746de659fc8742cf5671520826ee90216e142b165c26eb3f); + dynamicPath[6] = bytes32(0xe01a1ba6f8acab9e567849199d1af48b883532a642724b269d824745f07d959a); + dynamicPath[7] = bytes32(0xbd4efdde3e1211ff26d4549887187e6b4ab232b718f4902e5e7ccf00493e7b68); + dynamicPath[8] = bytes32(0xdc9a374febf417a247dbf3974ca6b39344266105d9c93f32a9fa2301e6d19a98); StorageProof memory proof = StorageProof( 123, @@ -141,94 +138,41 @@ contract MailBoxTest is Test { nonce: mailboxNonce }); - mailbox.checkVerificationOfEncoding( - 0, - receipt, - bytes32(targetnexusAppID), - value, - encoding - ); + mailbox.checkVerificationOfEncoding(0, receipt, bytes32(targetnexusAppID), value, encoding); } function testReceiveReceiptCallback() public { - uint256 blockNumber = 121249; - bytes32 stateRoot = 0x640e68e66ba589e11f7006501a79ec882851e42fdb0e11649dd6881df3a5ed9c; - bytes32 blockHash = 0x640e68e66ba589e11f7006501a79ec882851e42fdb0e11649dd6881df3a5ed9c; - bytes32 appid = 0x1f5ff885ceb5bf1350c4449316b7d703034c1278ab25bcc923d5347645a0117e; + uint256 blockNumber = 15; + bytes32 appid = 0x3655ca59b7d566ae06297c200f98d04da2e8e89812d627bc29297c25db60362d; uint128 chainBlockNumber = 660; - - uint256 key = 0xcef9eeeac760226b597a2b40094bd64f19121e98613c58b193167c303344b15f; - proofManager.updateNexusBlock( - blockNumber, - NexusProofManager.NexusBlock(stateRoot, blockHash) + proofManager.updateNexusBlock(blockNumber, proof, journal); + bytes32[] memory siblings; + Structs.AppState memory state = Structs.AppState( + 0xb0abae3a180de2034da3ce8084bc0afcbea6a5f64efb4bb3c9b9c4a841fdaa62, + 0x78960bb207f285632596f8932b98117adec87241e5c09346cbc5637ede0df7c4, + 0xadb3f87a06a0f912592ba7c77aa784a383c80486e75969b48f8cb5453bcc91ba, + 1, + 398570 ); - bytes32[] memory siblings = new bytes32[](3); - siblings[ - 0 - ] = 0xcb105c19f4be44ed55f3c69f6cb75473a17dd4f005ffb3ba06086c8e8208c1fe; - siblings[ - 1 - ] = 0x0000000000000000000000000000000000000000000000000000000000000000; - siblings[ - 2 - ] = 0x0000000000000000000000000000000000000000000000000000000000000000; - NexusProofManager.AccountState memory state = NexusProofManager - .AccountState( - 0xd48b446b8785f787021914f1bea9d6ec04e9480806e56acf9ee17f1bb23bad48, - 0x84b2b689fba40661e61ed5e0df1ab3bc989832b218814f363249774c3a32102f, - 0x8fbfdcd52c25ef8a2841f83a3adf19b1e0bee8b3ee7b4eff04e97319436af334, - 121248, - chainBlockNumber - ); proofManager.updateChainState(blockNumber, siblings, appid, state); bytes32[] memory dynamicPath = new bytes32[](15); - dynamicPath[ - 0 - ] = 0xc2792a032a5dcdbf741731810685dc60d31559df51b95d5b715285697242954a; - dynamicPath[ - 1 - ] = 0xf9727f1b8a07653de7bb30692db15f5ce2afa51fe7ffce8545f68c29960ebd4a; - dynamicPath[ - 2 - ] = 0xef14b47a044ee399fd4451d464a8b6b1b40c0a14bacfedfa0f0cf441755ddaf7; - dynamicPath[ - 3 - ] = 0xfa5f2b69b20b51dd71dfece0e1dcb3c436101a8ca204b44cc6419d3f5c17ac7b; - dynamicPath[ - 4 - ] = 0x216728456e979189d34149ae1b3d2a8430134f1981d10ca84374c32204b0005a; - dynamicPath[ - 5 - ] = 0x4ef45453f4f99186929756cc6677530541e0d62e7a3ac1436e42d6b02e876bb2; - dynamicPath[ - 6 - ] = 0x81f9e053944516b399589b36ee9d4fa25664327154f74d6f3a98b4c1f3ba3e90; - dynamicPath[ - 7 - ] = 0x976f15832bfc9ea6a09053ff51d14b9e174ae9dbc8f22d243e7c4f144be8bed3; - dynamicPath[ - 8 - ] = 0x4ff77af28422b94f8d54241674f8f81cdd2b35f01d1c548b9606b4b941565e02; - dynamicPath[ - 9 - ] = 0x16e7429492f8db53f154ab50ad43959dd011d4de0864af44bec6b4bd75a4a09e; - dynamicPath[ - 10 - ] = 0x078ab2581c8a5b380c48bf067199876377e3a06dfd2248b57e60a9df501977f6; - dynamicPath[ - 11 - ] = 0xb61730f6a498d4a081187bcdf924ba4588d595aca7228b03f38ed631001fc6ac; - dynamicPath[ - 12 - ] = 0x72b06356414b0a3f5fed00f9453e0565238d2ffecc000820821714747f32765b; - dynamicPath[ - 13 - ] = 0xf2c9dc3dbf1e7a87aae33c95eea8c8e31ccdb5e1eaaa36ccec0e0e77352d6856; - dynamicPath[ - 14 - ] = 0x90cfcac4642304a3d87b0a20c4e0961b07e3a7a9ebb1ec221fe9eac7bff90342; + dynamicPath[0] = 0xc2792a032a5dcdbf741731810685dc60d31559df51b95d5b715285697242954a; + dynamicPath[1] = 0xf9727f1b8a07653de7bb30692db15f5ce2afa51fe7ffce8545f68c29960ebd4a; + dynamicPath[2] = 0xef14b47a044ee399fd4451d464a8b6b1b40c0a14bacfedfa0f0cf441755ddaf7; + dynamicPath[3] = 0xfa5f2b69b20b51dd71dfece0e1dcb3c436101a8ca204b44cc6419d3f5c17ac7b; + dynamicPath[4] = 0x216728456e979189d34149ae1b3d2a8430134f1981d10ca84374c32204b0005a; + dynamicPath[5] = 0x4ef45453f4f99186929756cc6677530541e0d62e7a3ac1436e42d6b02e876bb2; + dynamicPath[6] = 0x81f9e053944516b399589b36ee9d4fa25664327154f74d6f3a98b4c1f3ba3e90; + dynamicPath[7] = 0x976f15832bfc9ea6a09053ff51d14b9e174ae9dbc8f22d243e7c4f144be8bed3; + dynamicPath[8] = 0x4ff77af28422b94f8d54241674f8f81cdd2b35f01d1c548b9606b4b941565e02; + dynamicPath[9] = 0x16e7429492f8db53f154ab50ad43959dd011d4de0864af44bec6b4bd75a4a09e; + dynamicPath[10] = 0x078ab2581c8a5b380c48bf067199876377e3a06dfd2248b57e60a9df501977f6; + dynamicPath[11] = 0xb61730f6a498d4a081187bcdf924ba4588d595aca7228b03f38ed631001fc6ac; + dynamicPath[12] = 0x72b06356414b0a3f5fed00f9453e0565238d2ffecc000820821714747f32765b; + dynamicPath[13] = 0xf2c9dc3dbf1e7a87aae33c95eea8c8e31ccdb5e1eaaa36ccec0e0e77352d6856; + dynamicPath[14] = 0x90cfcac4642304a3d87b0a20c4e0961b07e3a7a9ebb1ec221fe9eac7bff90342; StorageProof memory proof = StorageProof( 660, @@ -286,12 +230,7 @@ contract MailBoxTest is Test { to[3] = vm.addr(3); to[4] = vm.addr(4); - (nexusAppIDTo, to) = mailbox.sortWrapper( - nexusAppIDTo, - to, - 0, - int256(length - 1) - ); + (nexusAppIDTo, to) = mailbox.sortWrapper(nexusAppIDTo, to, 0, int256(length - 1)); assertEq(nexusAppIDTo[0], bytes32(targetnexusAppID - 2)); assertEq(nexusAppIDTo[1], bytes32(targetnexusAppID - 1)); @@ -323,12 +262,7 @@ contract MailBoxTest is Test { to[3] = vm.addr(3); to[4] = vm.addr(4); - (nexusAppIDTo, to) = mailbox.sortWrapper( - nexusAppIDTo, - to, - 0, - int256(length - 1) - ); + (nexusAppIDTo, to) = mailbox.sortWrapper(nexusAppIDTo, to, 0, int256(length - 1)); address toAddr = mailbox.searchWrapper(nexusAppIDTo, to); assertEq(toAddr, vm.addr(2)); diff --git a/contracts/test/NexusMailboxWrapper.sol b/contracts/test/NexusMailboxWrapper.sol index d4410e54..107a4c97 100644 --- a/contracts/test/NexusMailboxWrapper.sol +++ b/contracts/test/NexusMailboxWrapper.sol @@ -18,28 +18,19 @@ contract NexusMailboxWrapper is NexusMailbox { bytes calldata proof ) public { VerifierInfo memory verifierInfo = verifierWrappers[from]; - verifierInfo.verifier.parseAndVerify( - chainblockNumber, - receiptHash, - proof, - verifierInfo.mailboxAddress - ); + verifierInfo.verifier.parseAndVerify(chainblockNumber, receiptHash, proof, verifierInfo.mailboxAddress); verifiedMessages[keccak256(abi.encode(from, receiptHash))] = receipt; } - function searchWrapper( - bytes32[] memory chainIdTo, - address[] memory to - ) public view returns (address) { + function searchWrapper(bytes32[] memory chainIdTo, address[] memory to) public view returns (address) { return search(chainIdTo, to); } - function sortWrapper( - bytes32[] memory chainIdTo, - address[] memory to, - int256 left, - int256 right - ) public pure returns (bytes32[] memory, address[] memory) { + function sortWrapper(bytes32[] memory chainIdTo, address[] memory to, int256 left, int256 right) + public + pure + returns (bytes32[] memory, address[] memory) + { quickSort(chainIdTo, to, left, right); return (chainIdTo, to); } diff --git a/contracts/test/NexusProverElf.sol b/contracts/test/NexusProverElf.sol new file mode 100644 index 00000000..8951fee6 --- /dev/null +++ b/contracts/test/NexusProverElf.sol @@ -0,0 +1,24 @@ +// Copyright 2024 RISC Zero, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// SPDX-License-Identifier: Apache-2.0 + +// This file is automatically generated + +pragma solidity ^0.8.20; + +library Elf { + string public constant NEXUS_RUNTIME_PATH = + "/Users/ocdbytes/Desktop/Avail/nexus/target/riscv-guest/prover/nexus_runtime/riscv32im-risc0-zkvm-elf/release/nexus_runtime.bin"; +} diff --git a/contracts/test/ZKSyncVerifier.sol b/contracts/test/ZKSyncVerifier.sol index d857ea8f..8dcbb4a0 100644 --- a/contracts/test/ZKSyncVerifier.sol +++ b/contracts/test/ZKSyncVerifier.sol @@ -6,124 +6,93 @@ pragma solidity ^0.8.21; import "forge-std/test.sol"; import "../src/NexusProofManager.sol"; +import {Structs} from "../src/lib/Structs.sol"; import "../src/interfaces/INexusProofManager.sol"; import "../src/mock/ERC20.sol"; -import "../src/verification/zksync/StorageProof.sol"; +import "../src/verification/zksync/StorageProofMock.sol"; import "../src/verification/zksync/SparseMerkleTree.sol"; import "../src/verification/zksync/ZKSyncNexusManagerRouter.sol"; +import {RiscZeroCheats} from "risc0/test/RiscZeroCheats.sol"; +import {IRiscZeroVerifier} from "risc0/IRiscZeroVerifier.sol"; +import {ImageID} from "../src/NexusProverImageID.sol"; +import {IVectorx} from "../src/interfaces/IVectorx.sol"; -contract ZKSyncTest is Test { +contract ZKSyncTest is Test, RiscZeroCheats { NexusProofManager proofManager; ERC20Token erc20; - StorageProofVerifier verifier; + StorageProofMock verifier; + RiscZeroVerifierRouter risc0Router; + IRiscZeroVerifier risc0Verifier; + IVectorx vectorX; uint256 blockNumber = 121249; - bytes32 stateRoot = - 0x640e68e66ba589e11f7006501a79ec882851e42fdb0e11649dd6881df3a5ed9c; - bytes32 blockHash = - 0x640e68e66ba589e11f7006501a79ec882851e42fdb0e11649dd6881df3a5ed9c; - bytes32 appid = - 0x1f5ff885ceb5bf1350c4449316b7d703034c1278ab25bcc923d5347645a0117e; + bytes32 appid = 0x3655ca59b7d566ae06297c200f98d04da2e8e89812d627bc29297c25db60362d; + + // parameters for `updateNexusBlock` function + // IMP : proof used here is a fake proof. Not a STARK proof + // This journal is nexus proof which is generated through mock elf proving. + bytes journal = + hex"e2d612283fc162a34ec4cae21335f10efad0234e23f281aae67215b0edb0dca178960bb207f285632596f8932b98117adec87241e5c09346cbc5637ede0df7c4e7cce75ae1f47fab781b78e332473d7d9a43c713b1f533b06eda6b38e7c4dd04c2df954f375c6273ad0a38ccff49bc230daec7cd9a4418b8e247f6ff7ecd87bf0f000000"; + // seal : extracted using `encode_seal` function + bytes proof = hex"fffffffffa454345a5049d6b0e9d44d59d788b07f0b04b7afc7337ba113be0e28d684895"; function setUp() public { erc20 = new ERC20Token("Avail", "Avail"); - proofManager = new NexusProofManager(); + + risc0Verifier = deployRiscZeroVerifier(); + + // TODO : need to change this with actual implementation when writing tests + vectorX = IVectorx(msg.sender); + + risc0Router = new RiscZeroVerifierRouter(msg.sender); + vm.prank(msg.sender); + risc0Router.addVerifier(bytes4(0), risc0Verifier); + proofManager = new NexusProofManager(address(risc0Router), ImageID.NEXUS_RUNTIME_ID, address(vectorX)); + SparseMerkleTree smt = new SparseMerkleTree(); - ZKSyncNexusManagerRouter zksyncDiamond = new ZKSyncNexusManagerRouter( - INexusProofManager(address(proofManager)), - appid - ); - verifier = new StorageProofVerifier( - IZKSyncNexusManagerRouter(address(zksyncDiamond)), - smt - ); + ZKSyncNexusManagerRouter zksyncDiamond = + new ZKSyncNexusManagerRouter(INexusProofManager(address(proofManager)), appid); + verifier = new StorageProofMock(IZKSyncNexusManagerRouter(address(zksyncDiamond)), smt); } function testStorageProof() public { - proofManager.updateNexusBlock( - blockNumber, - NexusProofManager.NexusBlock(stateRoot, blockHash) + proofManager.updateNexusBlock(blockNumber, proof, journal); + bytes32[] memory siblings; + Structs.AppState memory state = Structs.AppState( + 0xb0abae3a180de2034da3ce8084bc0afcbea6a5f64efb4bb3c9b9c4a841fdaa62, + 0x78960bb207f285632596f8932b98117adec87241e5c09346cbc5637ede0df7c4, + 0xadb3f87a06a0f912592ba7c77aa784a383c80486e75969b48f8cb5453bcc91ba, + 1, + 398570 ); - bytes32[] memory siblings = new bytes32[](3); - siblings[ - 0 - ] = 0xcb105c19f4be44ed55f3c69f6cb75473a17dd4f005ffb3ba06086c8e8208c1fe; - siblings[ - 1 - ] = 0x0000000000000000000000000000000000000000000000000000000000000000; - siblings[ - 2 - ] = 0x0000000000000000000000000000000000000000000000000000000000000000; - NexusProofManager.AccountState memory state = NexusProofManager - .AccountState( - 0xd48b446b8785f787021914f1bea9d6ec04e9480806e56acf9ee17f1bb23bad48, - 0x84b2b689fba40661e61ed5e0df1ab3bc989832b218814f363249774c3a32102f, - 0x8fbfdcd52c25ef8a2841f83a3adf19b1e0bee8b3ee7b4eff04e97319436af334, - 121248, - 660 - ); proofManager.updateChainState(blockNumber, siblings, appid, state); bytes32[] memory dynamicPath = new bytes32[](15); - dynamicPath[ - 0 - ] = 0xc2792a032a5dcdbf741731810685dc60d31559df51b95d5b715285697242954a; - dynamicPath[ - 1 - ] = 0xf9727f1b8a07653de7bb30692db15f5ce2afa51fe7ffce8545f68c29960ebd4a; - dynamicPath[ - 2 - ] = 0xef14b47a044ee399fd4451d464a8b6b1b40c0a14bacfedfa0f0cf441755ddaf7; - dynamicPath[ - 3 - ] = 0xfa5f2b69b20b51dd71dfece0e1dcb3c436101a8ca204b44cc6419d3f5c17ac7b; - dynamicPath[ - 4 - ] = 0x216728456e979189d34149ae1b3d2a8430134f1981d10ca84374c32204b0005a; - dynamicPath[ - 5 - ] = 0x4ef45453f4f99186929756cc6677530541e0d62e7a3ac1436e42d6b02e876bb2; - dynamicPath[ - 6 - ] = 0x81f9e053944516b399589b36ee9d4fa25664327154f74d6f3a98b4c1f3ba3e90; - dynamicPath[ - 7 - ] = 0x976f15832bfc9ea6a09053ff51d14b9e174ae9dbc8f22d243e7c4f144be8bed3; - dynamicPath[ - 8 - ] = 0x4ff77af28422b94f8d54241674f8f81cdd2b35f01d1c548b9606b4b941565e02; - dynamicPath[ - 9 - ] = 0x16e7429492f8db53f154ab50ad43959dd011d4de0864af44bec6b4bd75a4a09e; - dynamicPath[ - 10 - ] = 0x078ab2581c8a5b380c48bf067199876377e3a06dfd2248b57e60a9df501977f6; - dynamicPath[ - 11 - ] = 0xb61730f6a498d4a081187bcdf924ba4588d595aca7228b03f38ed631001fc6ac; - dynamicPath[ - 12 - ] = 0x72b06356414b0a3f5fed00f9453e0565238d2ffecc000820821714747f32765b; - dynamicPath[ - 13 - ] = 0xf2c9dc3dbf1e7a87aae33c95eea8c8e31ccdb5e1eaaa36ccec0e0e77352d6856; - dynamicPath[ - 14 - ] = 0x90cfcac4642304a3d87b0a20c4e0961b07e3a7a9ebb1ec221fe9eac7bff90342; + dynamicPath[0] = 0x0f543536a5c50f86b1b9790051824be684b91cd22daa901755f6de2f3a597b60; + dynamicPath[1] = 0x9b754ff40db4b917183d8a752d1d891c2405b7b0dee15ab76626352ad6c8e5eb; + dynamicPath[2] = 0x5188bf4a51f7b8f6c00025561e7f589c1ced57779749fe08ec4fd651642a7875; + dynamicPath[3] = 0x8eb612ba6d63a9ed3f9931f557139e5abf02fb53e15d5bbd0179ea0fd24bca4e; + dynamicPath[4] = 0x9ed5b49f326c187588281fc2dc2b4bacf4875f61629b34d70b7bc51cab5fc462; + dynamicPath[5] = 0xfc6030c5df6f96e02abeb8b32343bb315ca7b5c23c1286b2f728a91ca5efa440; + dynamicPath[6] = 0xd33f3439037a4c9a290fe7aa6403a6719deea137bb1a3bf2353834ab6d6b3fc3; + dynamicPath[7] = 0x5de3191254d39be06956967aaf3847ab2f2d9c90eb92316aefaf9f64703ed814; + dynamicPath[8] = 0x83d6b373dd271f119a27a67e84cf95ec3074a4abcd4e2fcd2c50e30a7145671e; + dynamicPath[9] = 0xe5f51e9b3b8e479ac7378fbb652d099b410e16f307d8b1c1df04c06eb73c3e02; + dynamicPath[10] = 0xea6ad02f6081088896d58d00e3cf6ac6fae74929d40fc7f17c75e9601cb6e20f; + dynamicPath[11] = 0x56c6c895ab1a717811a7b5d70ed7b7507159258b9c022631bf278543404bb61f; + dynamicPath[12] = 0xa243ba9ff58329ea3b9aaf648788005232b7b65b8d5e21648637983378e25494; + dynamicPath[13] = 0xfb9a3a130e03da5f79b4acae017e4d4e0b13f2886f26e165bd56e746c31d2b04; + dynamicPath[14] = 0xb7ae54987f5828d2dd8e942bab07aa67b1117395255d595aee146489cadf8640; StorageProof memory proof = StorageProof( 660, 0x9a03a545A60263216c4310Be05C34B71C170903A, - 0x0000000000000000000000000000000000000000000000000000000000000001, + 0x0000000000000000000000000000000000000000000000000000000000000000, dynamicPath, - 14698 - ); - assert( - verifier.verify( - proof, - 0xcef9eeeac760226b597a2b40094bd64f19121e98613c58b193167c303344b15f - ) + 0 ); + // TODO : need to remove the mock verifier and implement the actual verifier + assert(verifier.verify(proof, 0xcef9eeeac760226b597a2b40094bd64f19121e98613c58b193167c303344b15f)); } } diff --git a/examples/mock_geth_adapter/host/Cargo.toml b/examples/mock_geth_adapter/host/Cargo.toml index e6b48b11..91befe43 100644 --- a/examples/mock_geth_adapter/host/Cargo.toml +++ b/examples/mock_geth_adapter/host/Cargo.toml @@ -24,5 +24,6 @@ actix-web = "4.5.1" warp = "0.3.6" web3 = "0.19.0" hex = "0.4.3" +risc0-ethereum-contracts = { git = "https://github.com/risc0/risc0-ethereum", tag = "v1.1.1" } bincode = "1.3.3" mock_elf = { path = "../../../mock_elf" } diff --git a/examples/mock_geth_adapter/host/src/main.rs b/examples/mock_geth_adapter/host/src/main.rs index d9f23cba..d2611c67 100644 --- a/examples/mock_geth_adapter/host/src/main.rs +++ b/examples/mock_geth_adapter/host/src/main.rs @@ -138,42 +138,36 @@ async fn main() -> Result<(), Error> { let height: u32 = header.number.unwrap().as_u32(); + // Added here in case one wants to get the correct account state in order to prove the state on contract side. + // tokio::time::sleep(Duration::from_secs(200)).await; + if current_height > last_height { - // let app_account_id = AppAccountId::from(adapter_state_data.adapter_config.app_id.clone()); - // let account_with_proof: AccountWithProof = match nexus_api.get_account_state(&app_account_id.as_h256()).await { - // Ok(i) => i, - // Err(e) => { - // println!("{:?}", e); - // - // continue; - // } - // }; + let app_account_id = AppAccountId::from(adapter_state_data.adapter_config.app_id.clone()); + let account_with_proof: AccountWithProof = match nexus_api.get_account_state(&app_account_id.as_h256()).await { + Ok(i) => i, + Err(e) => { + println!("{:?}", e); + + continue; + } + }; // println!("\n\n\n>>> account with proof : {:?}", account_with_proof); // println!(">>> statement digest : {:?}", hex::encode(account_with_proof.account.statement.0.encode())); - // println!( - // ">>> state root : {:?}", - // hex::encode(account_with_proof.account.state_root) - // ); - // println!( - // ">>> start nexus hash : {:?}", - // hex::encode(account_with_proof.account.start_nexus_hash) - // ); - // println!( - // ">>> last proof height : {:?}", - // account_with_proof.account.last_proof_height - // ); + // println!(">>> state root : {:?}", hex::encode(account_with_proof.account.state_root)); + // println!(">>> start nexus hash : {:?}", hex::encode(account_with_proof.account.start_nexus_hash)); + // println!(">>> last proof height : {:?}", account_with_proof.account.last_proof_height); // println!(">>> height : {:?}", account_with_proof.account.height); // println!(">>> key : {:?}", hex::encode(app_account_id.0)); let public_inputs = NexusRollupPI { nexus_hash: range[0], - state_root: H256::from(header.state_root.as_fixed_bytes().clone()), + state_root: account_with_proof.nexus_header.state_root, //TODO: remove unwrap height, start_nexus_hash: start_nexus_hash.unwrap_or_else(|| H256::from(account_with_proof.account.start_nexus_hash)), app_id: app_account_id.clone(), img_id: StatementDigest(risc0_prover.vk(ADAPTER_ID)), - rollup_hash: Some(H256::from([1u8; 32])), + rollup_hash: Some(H256::from(header.state_root.as_fixed_bytes().clone())), }; // let public_input_vec = match to_vec(&public_inputs) { @@ -213,7 +207,7 @@ async fn main() -> Result<(), Error> { } }, height: public_inputs.height, - data: Some(H256::from([1u8; 32])), + data: public_inputs.rollup_hash, }), }; @@ -271,6 +265,8 @@ async fn main() -> Result<(), Error> { } } + println!("Sleeping for 10 seconds\n\n\n"); + tokio::time::sleep(Duration::from_secs(10)).await; // Persist adapter state data to the database db.put( b"adapter_state_data", @@ -280,21 +276,25 @@ async fn main() -> Result<(), Error> { }, )?; - println!("Sleeping for 10 seconds\n\n\n"); - tokio::time::sleep(Duration::from_secs(10)).await; + // Added here in case one wants to get the correct account state in order to prove the state on contract side. + // println!("Sleeping for 200 seconds\n\n\n"); + // tokio::time::sleep(Duration::from_secs(200)).await; + + let app_account_id = AppAccountId::from(adapter_state_data.adapter_config.app_id.clone()); + let account_with_proof: AccountWithProof = match nexus_api.get_account_state(&app_account_id.as_h256()).await { + Ok(i) => i, + Err(e) => { + println!("{:?}", e); + + continue; + } + }; - // let app_account_id = AppAccountId::from(adapter_state_data.adapter_config.app_id.clone()); - // let account_with_proof: AccountWithProof = match nexus_api.get_account_state(&app_account_id.as_h256()).await { - // Ok(i) => i, - // Err(e) => { - // println!("{:?}", e); - // - // continue; - // } - // }; - // // println!("\n\n\n>>> account with proof : {:?}", account_with_proof); - // // println!(">>> statement digest : {:?}", hex::encode(account_with_proof.account.statement.0.encode())); + // println!( + // ">>> statement digest : {:?}", + // hex::encode(account_with_proof.account.statement.0.encode()) + // ); // println!( // ">>> state root : {:?}", // hex::encode(account_with_proof.account.state_root) @@ -323,3 +323,4 @@ async fn main() -> Result<(), Error> { // To run : // With polling: RUST_LOG=debug RISC0_DEV_MODE=1 cargo run -- --dev --poll // Without polling: RUST_LOG=debug RISC0_DEV_MODE=1 cargo run -- --dev +// RUST_LOG=debug RISC0_DEV_MODE=1 cargo run -- https://hoodi.infura.io/v3/3586b818e4b34d8cba327e0e69ed9fb0 http://127.0.0.1:7000 --dev diff --git a/examples/zksync_adapter/methods/Cargo.toml b/examples/zksync_adapter/methods/Cargo.toml index 80de57a0..1a5f7059 100644 --- a/examples/zksync_adapter/methods/Cargo.toml +++ b/examples/zksync_adapter/methods/Cargo.toml @@ -4,7 +4,7 @@ version.workspace = true edition = "2021" [build-dependencies] -risc0-build = { version = "1.0.1", 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/Cargo.toml b/nexus/prover/Cargo.toml index ac945ce8..e002e721 100644 --- a/nexus/prover/Cargo.toml +++ b/nexus/prover/Cargo.toml @@ -4,12 +4,13 @@ version.workspace = true edition = "2021" [build-dependencies] -risc0-build = { version = "2.0.0", optional = true } -sp1-build = { version = "4.1.0", optional = true } +risc0-build = { version = "2.0.0", optional = true } +risc0-build-ethereum = { version = "2.0.0", optional = true } +sp1-build = { version = "4.1.0", optional = true } [package.metadata.risc0] methods = [ "risc0-guest" ] [features] sp1 = [ "sp1-build" ] -risc0 = [ "risc0-build" ] +risc0 = [ "risc0-build", "risc0-build-ethereum" ] diff --git a/nexus/prover/build.rs b/nexus/prover/build.rs index 425538a5..b9540ac9 100644 --- a/nexus/prover/build.rs +++ b/nexus/prover/build.rs @@ -1,9 +1,20 @@ #[cfg(any(feature = "sp1"))] use sp1_build::build_program; +#[cfg(any(feature = "risc0"))] +const SOLIDITY_IMAGE_ID_PATH: &str = "../../contracts/src/NexusProverImageID.sol"; +#[cfg(any(feature = "risc0"))] +const SOLIDITY_ELF_PATH: &str = "../../contracts/test/NexusProverElf.sol"; + fn main() { #[cfg(any(feature = "risc0"))] - risc0_build::embed_methods(); + { + let guests = risc0_build::embed_methods(); + let solidity_opts = risc0_build_ethereum::Options::default() + .with_image_id_sol_path(SOLIDITY_IMAGE_ID_PATH) + .with_elf_sol_path(SOLIDITY_ELF_PATH); + risc0_build_ethereum::generate_solidity_files(guests.as_slice(), &solidity_opts).unwrap(); + } #[cfg(any(feature = "sp1"))] build_program("./sp1-guest") } diff --git a/nexus_js/src/proofManager.ts b/nexus_js/src/proofManager.ts index 3afb882f..bccc0e21 100644 --- a/nexus_js/src/proofManager.ts +++ b/nexus_js/src/proofManager.ts @@ -5,6 +5,7 @@ const proofManagerAbi = require("./abi/proofManager.json"); import { Provider } from "zksync-ethers"; import { AccountState } from "./types/index.js"; +import { NexusHeader} from "./types/index.js"; import { hexlify } from "ethers"; class ProofManagerClient { @@ -27,11 +28,14 @@ class ProofManagerClient { blockNumber: number, stateHash: string, blockHash: string, - proof: string + proof: string, + nexus_header: NexusHeader ) { const response = await this.proofManager.updateNexusBlock(blockNumber, { stateRoot: stateHash, blockHash, + proof, + nexusHeader: nexus_header, }); } diff --git a/nexus_js/src/types/nexus.ts b/nexus_js/src/types/nexus.ts index 3535729e..2d9e828d 100644 --- a/nexus_js/src/types/nexus.ts +++ b/nexus_js/src/types/nexus.ts @@ -10,6 +10,14 @@ type AccountState = { height: number; }; +type NexusHeader = { + parent_hash: string; + prev_state_root: string; + state_root: string; + avail_header_hash: string; + number: number; +} + type AccountApiResponse = { info: NexusState; chainStateNumber: number; @@ -32,4 +40,5 @@ export { NexusState, AccountState, AccountApiResponse, + NexusHeader }