From 33beba12a137dcc0756701cdb54e0f05db7bea8a Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 15:57:24 -0700 Subject: [PATCH 01/25] remove debug statements --- script/Cargo.lock | 342 ++++++++++++++++++++------------- script/src/bin/header_range.rs | 5 - script/src/bin/rotate.rs | 1 - 3 files changed, 211 insertions(+), 137 deletions(-) diff --git a/script/Cargo.lock b/script/Cargo.lock index 28ab3b1..f01fffb 100644 --- a/script/Cargo.lock +++ b/script/Cargo.lock @@ -74,7 +74,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "once_cell", "version_check", ] @@ -86,7 +86,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.14", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -335,7 +335,7 @@ checksum = "1a047897373be4bbb0224c1afdabca92648dc57a9c9ef6e7b0be3aff7a859c83" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -438,7 +438,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", "syn-solidity 0.4.2", "tiny-keccak", ] @@ -454,7 +454,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -471,7 +471,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", "syn-solidity 0.7.4", "tiny-keccak", ] @@ -489,7 +489,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.64", + "syn 2.0.65", "syn-solidity 0.7.4", ] @@ -633,9 +633,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.83" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "aquamarine" @@ -648,7 +648,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -1189,7 +1189,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -1206,7 +1206,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -1251,7 +1251,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -1502,6 +1502,29 @@ dependencies = [ "serde", ] +[[package]] +name = "bindgen" +version = "0.69.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +dependencies = [ + "bitflags 2.5.0", + "cexpr", + "clang-sys", + "itertools 0.12.1", + "lazy_static", + "lazycell", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.65", + "which", +] + [[package]] name = "bip39" version = "2.0.0" @@ -1811,15 +1834,24 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.97" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" +checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" dependencies = [ "jobserver", "libc", "once_cell", ] +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + [[package]] name = "cfg-expr" version = "0.15.8" @@ -1869,6 +1901,17 @@ dependencies = [ "inout", ] +[[package]] +name = "clang-sys" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +dependencies = [ + "glob", + "libc", + "libloading", +] + [[package]] name = "clap" version = "2.34.0" @@ -1915,7 +1958,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -2074,7 +2117,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -2148,9 +2191,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -2170,9 +2213,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -2207,9 +2250,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -2320,7 +2363,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -2381,7 +2424,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -2403,7 +2446,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core 0.20.9", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -2475,7 +2518,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -2600,7 +2643,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.64", + "syn 2.0.65", "termcolor", "toml", "walkdir", @@ -2980,7 +3023,7 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "syn 2.0.64", + "syn 2.0.65", "toml", "walkdir", ] @@ -2998,7 +3041,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -3024,7 +3067,7 @@ dependencies = [ "serde", "serde_json", "strum", - "syn 2.0.64", + "syn 2.0.65", "tempfile", "thiserror", "tiny-keccak", @@ -3215,7 +3258,7 @@ dependencies = [ "prettier-please", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -3480,7 +3523,7 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -3492,7 +3535,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -3502,7 +3545,7 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7. dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -3616,7 +3659,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -3729,9 +3772,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -4416,9 +4459,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] @@ -4741,11 +4784,17 @@ dependencies = [ "spin 0.5.2", ] +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libgit2-sys" @@ -4759,6 +4808,16 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "libloading" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +dependencies = [ + "cfg-if", + "windows-targets 0.52.5", +] + [[package]] name = "libm" version = "0.2.8" @@ -4893,7 +4952,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -4907,7 +4966,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -4918,7 +4977,7 @@ checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -4929,7 +4988,7 @@ checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -5049,9 +5108,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" dependencies = [ "adler", ] @@ -5292,7 +5351,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -5397,7 +5456,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -5433,7 +5492,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "p3-air" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "p3-field", "p3-matrix", @@ -5442,7 +5501,7 @@ dependencies = [ [[package]] name = "p3-baby-bear" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "num-bigint 0.4.5", "p3-field", @@ -5456,7 +5515,7 @@ dependencies = [ [[package]] name = "p3-blake3" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "blake3", "p3-symmetric", @@ -5465,7 +5524,7 @@ dependencies = [ [[package]] name = "p3-bn254-fr" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "ff 0.13.0", "num-bigint 0.4.5", @@ -5479,7 +5538,7 @@ dependencies = [ [[package]] name = "p3-challenger" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -5491,7 +5550,7 @@ dependencies = [ [[package]] name = "p3-commit" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "itertools 0.12.1", "p3-challenger", @@ -5504,7 +5563,7 @@ dependencies = [ [[package]] name = "p3-dft" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "p3-field", "p3-matrix", @@ -5516,7 +5575,7 @@ dependencies = [ [[package]] name = "p3-field" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "itertools 0.12.1", "num-bigint 0.4.5", @@ -5529,7 +5588,7 @@ dependencies = [ [[package]] name = "p3-fri" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "itertools 0.12.1", "p3-challenger", @@ -5547,7 +5606,7 @@ dependencies = [ [[package]] name = "p3-interpolation" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "p3-field", "p3-matrix", @@ -5557,7 +5616,7 @@ dependencies = [ [[package]] name = "p3-keccak" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "p3-symmetric", "tiny-keccak", @@ -5566,7 +5625,7 @@ dependencies = [ [[package]] name = "p3-keccak-air" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "p3-air", "p3-field", @@ -5579,7 +5638,7 @@ dependencies = [ [[package]] name = "p3-matrix" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "itertools 0.12.1", "p3-field", @@ -5593,7 +5652,7 @@ dependencies = [ [[package]] name = "p3-maybe-rayon" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "rayon", ] @@ -5601,7 +5660,7 @@ dependencies = [ [[package]] name = "p3-mds" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "itertools 0.12.1", "p3-dft", @@ -5615,7 +5674,7 @@ dependencies = [ [[package]] name = "p3-merkle-tree" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "itertools 0.12.1", "p3-commit", @@ -5631,7 +5690,7 @@ dependencies = [ [[package]] name = "p3-poseidon2" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "gcd", "p3-field", @@ -5643,7 +5702,7 @@ dependencies = [ [[package]] name = "p3-symmetric" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "itertools 0.12.1", "p3-field", @@ -5653,7 +5712,7 @@ dependencies = [ [[package]] name = "p3-uni-stark" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "itertools 0.12.1", "p3-air", @@ -5671,7 +5730,7 @@ dependencies = [ [[package]] name = "p3-util" version = "0.1.0" -source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#04d4c6e15a0296798331db82e696d29c455bafe1" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" dependencies = [ "serde", ] @@ -5907,7 +5966,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -5945,7 +6004,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -6017,7 +6076,7 @@ dependencies = [ "polkavm-common", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -6027,7 +6086,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -6087,7 +6146,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22020dfcf177fcc7bf5deaf7440af371400c67c0de14c399938d8ed4fb4645d3" dependencies = [ "proc-macro2", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -6097,7 +6156,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -6174,14 +6233,14 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] name = "proc-macro2" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" +checksum = "0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43" dependencies = [ "unicode-ident", ] @@ -6240,7 +6299,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -6379,7 +6438,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", ] [[package]] @@ -6478,7 +6537,7 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "libredox", "thiserror", ] @@ -6500,7 +6559,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -6705,7 +6764,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.14", + "getrandom 0.2.15", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -7117,7 +7176,7 @@ dependencies = [ "proc-macro2", "quote", "scale-info", - "syn 2.0.64", + "syn 2.0.65", "thiserror", ] @@ -7381,7 +7440,7 @@ checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -7453,7 +7512,7 @@ dependencies = [ "darling 0.20.9", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -7478,7 +7537,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -7589,6 +7648,12 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -7856,7 +7921,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -7967,7 +8032,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#e7b6d7dffd6459174f02598bd8b84fe4b1cb6e72" +source = "git+https://github.com/paritytech/polkadot-sdk#d05786ffb5523c334f10d16870c2e73674661a52" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -8004,7 +8069,7 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7. dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -8014,17 +8079,17 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7. dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#e7b6d7dffd6459174f02598bd8b84fe4b1cb6e72" +source = "git+https://github.com/paritytech/polkadot-sdk#d05786ffb5523c334f10d16870c2e73674661a52" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -8041,7 +8106,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#e7b6d7dffd6459174f02598bd8b84fe4b1cb6e72" +source = "git+https://github.com/paritytech/polkadot-sdk#d05786ffb5523c334f10d16870c2e73674661a52" dependencies = [ "environmental", "parity-scale-codec", @@ -8176,7 +8241,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#e7b6d7dffd6459174f02598bd8b84fe4b1cb6e72" +source = "git+https://github.com/paritytech/polkadot-sdk#d05786ffb5523c334f10d16870c2e73674661a52" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -8202,20 +8267,20 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#e7b6d7dffd6459174f02598bd8b84fe4b1cb6e72" +source = "git+https://github.com/paritytech/polkadot-sdk#d05786ffb5523c334f10d16870c2e73674661a52" dependencies = [ "Inflector", "expander", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -8261,7 +8326,7 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7. [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#e7b6d7dffd6459174f02598bd8b84fe4b1cb6e72" +source = "git+https://github.com/paritytech/polkadot-sdk#d05786ffb5523c334f10d16870c2e73674661a52" [[package]] name = "sp-storage" @@ -8279,7 +8344,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#e7b6d7dffd6459174f02598bd8b84fe4b1cb6e72" +source = "git+https://github.com/paritytech/polkadot-sdk#d05786ffb5523c334f10d16870c2e73674661a52" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8303,7 +8368,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#e7b6d7dffd6459174f02598bd8b84fe4b1cb6e72" +source = "git+https://github.com/paritytech/polkadot-sdk#d05786ffb5523c334f10d16870c2e73674661a52" dependencies = [ "parity-scale-codec", "tracing", @@ -8360,7 +8425,7 @@ dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -8379,7 +8444,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#e7b6d7dffd6459174f02598bd8b84fe4b1cb6e72" +source = "git+https://github.com/paritytech/polkadot-sdk#d05786ffb5523c334f10d16870c2e73674661a52" dependencies = [ "impl-trait-for-tuples", "log", @@ -8404,7 +8469,7 @@ dependencies = [ [[package]] name = "sp1-core" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ "anyhow", "arrayref", @@ -8464,7 +8529,7 @@ dependencies = [ [[package]] name = "sp1-derive" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ "proc-macro2", "quote", @@ -8474,7 +8539,7 @@ dependencies = [ [[package]] name = "sp1-helper" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ "cargo_metadata", "chrono", @@ -8483,7 +8548,7 @@ dependencies = [ [[package]] name = "sp1-primitives" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ "itertools 0.12.1", "lazy_static", @@ -8496,7 +8561,7 @@ dependencies = [ [[package]] name = "sp1-prover" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ "anyhow", "backtrace", @@ -8539,7 +8604,7 @@ dependencies = [ [[package]] name = "sp1-recursion-circuit" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ "bincode", "itertools 0.12.1", @@ -8562,7 +8627,7 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ "backtrace", "itertools 0.12.1", @@ -8588,7 +8653,7 @@ dependencies = [ [[package]] name = "sp1-recursion-core" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ "arrayref", "backtrace", @@ -8621,7 +8686,7 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ "proc-macro2", "quote", @@ -8631,11 +8696,14 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ + "bindgen", + "cc", "crossbeam", "log", "num-bigint 0.4.5", + "p3-baby-bear", "p3-field", "rand 0.8.5", "reqwest 0.12.4", @@ -8649,7 +8717,7 @@ dependencies = [ [[package]] name = "sp1-recursion-program" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ "array-macro", "itertools 0.12.1", @@ -8677,7 +8745,7 @@ dependencies = [ [[package]] name = "sp1-sdk" version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#1349e562178ed22a7fd9a6b02ce3cf58500db6ca" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#df9a3466790530b15a507140d5cb2ffb7b159381" dependencies = [ "alloy", "anyhow", @@ -8886,7 +8954,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -8987,7 +9055,7 @@ dependencies = [ "scale-info", "scale-typegen", "subxt-metadata", - "syn 2.0.64", + "syn 2.0.65", "thiserror", "tokio", ] @@ -9021,7 +9089,7 @@ dependencies = [ "quote", "scale-typegen", "subxt-codegen", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -9070,9 +9138,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.64" +version = "2.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ad3dee41f36859875573074334c200d1add8e4a87bb37113ebd31d926b7b11f" +checksum = "d2863d96a84c6439701d7a38f9de935ec562c8832cc55d1dde0f513b52fad106" dependencies = [ "proc-macro2", "quote", @@ -9088,7 +9156,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -9100,7 +9168,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -9206,7 +9274,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -9343,7 +9411,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -9545,7 +9613,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -9861,7 +9929,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "serde", ] @@ -9993,7 +10061,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", "wasm-bindgen-shared", ] @@ -10027,7 +10095,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -10268,6 +10336,18 @@ dependencies = [ "rustls-pki-types", ] +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix 0.38.34", +] + [[package]] name = "winapi" version = "0.3.9" @@ -10620,7 +10700,7 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] @@ -10640,7 +10720,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.65", ] [[package]] diff --git a/script/src/bin/header_range.rs b/script/src/bin/header_range.rs index 6496a13..1d73021 100644 --- a/script/src/bin/header_range.rs +++ b/script/src/bin/header_range.rs @@ -73,11 +73,6 @@ async fn main() { let mut data_root_commitment = [0u8; 32]; proof.public_values.read_slice(&mut state_root_commitment); proof.public_values.read_slice(&mut data_root_commitment); - let st = hex::encode(state_root_commitment); - let da = hex::encode(data_root_commitment); - - println!("State root commitment: {}", st); - println!("Data root commitment: {}", da); // Verify proof. client.verify(&proof, &vk).expect("verification failed"); diff --git a/script/src/bin/rotate.rs b/script/src/bin/rotate.rs index cbe1a24..828ad6b 100644 --- a/script/src/bin/rotate.rs +++ b/script/src/bin/rotate.rs @@ -47,7 +47,6 @@ async fn main() { // Read outputs. let new_authority_set_hash_bytes32 = proof.public_values.read::<[u8; 32]>(); let new_authority_set_hash = hex::encode(new_authority_set_hash_bytes32); - println!("New authority set hash: {}", new_authority_set_hash); // Verify proof. client.verify(&proof, &vk).expect("verification failed"); From 3584e8388ba33f7c95c54e7d749684b6511af810 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 16:18:17 -0700 Subject: [PATCH 02/25] add type explainers --- primitives/src/types.rs | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/primitives/src/types.rs b/primitives/src/types.rs index 1d8bc8a..acdcd7f 100644 --- a/primitives/src/types.rs +++ b/primitives/src/types.rs @@ -4,29 +4,31 @@ use serde::{Deserialize, Serialize}; pub struct RotateInput { pub current_authority_set_id: u64, pub current_authority_set_hash: Vec, - pub justification: CircuitJustification, - pub header_rotate_data: HeaderRotateData, + pub justification: CircuitJustification, // Justification data for the current authority set + pub header_rotate_data: HeaderRotateData, // Data for the next authority set rotation } #[derive(Debug, Deserialize, Serialize)] +// Data for the next set of authorities. pub struct HeaderRotateData { - pub header_bytes: Vec, + pub header_bytes: Vec, // Encoded header bytes for the epoch end block pub num_authorities: usize, pub new_authority_set_hash: Vec, - pub pubkeys: Vec<[u8; 32]>, - pub position: usize, + pub pubkeys: Vec<[u8; 32]>, + pub position: usize, // Index of the new authority set data in the header bytes } #[derive(Debug, Deserialize, Serialize)] +// Justification data for an authority set. pub struct CircuitJustification { pub authority_set_id: u64, - pub signed_message: Vec, + pub signed_message: Vec, // Message signed by authority set. pub pubkeys: Vec<[u8; 32]>, pub signatures: Vec>>, pub num_authorities: usize, pub current_authority_set_hash: Vec, - pub block_number: u32, - pub block_hash: [u8; 32], + pub block_number: u32, // Block number associated with the justification + pub block_hash: [u8; 32], // Hash of the block associated with the justification } #[derive(Debug, Deserialize, Serialize)] @@ -40,8 +42,8 @@ pub struct HeaderRangeProofRequestData { #[derive(Debug, Deserialize, Serialize)] pub struct DecodedHeaderData { - pub block_number: u32, - pub parent_hash: Vec, - pub state_root: Vec, - pub data_root: Vec, -} + pub block_number: u32, // Block number of the decoded header + pub parent_hash: Vec, // Hash of the parent block + pub state_root: Vec, // State root of the block + pub data_root: Vec, // Data root of the block +} \ No newline at end of file From 24a241bc384a5d772bfd1219766cbb58eb429b7e Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 16:27:08 -0700 Subject: [PATCH 03/25] add comments and remove redundant code --- header-range/elf/riscv32im-succinct-zkvm-elf | Bin 343700 -> 343708 bytes header-range/src/main.rs | 3 +++ rotate/elf/riscv32im-succinct-zkvm-elf | Bin 309084 -> 309084 bytes rotate/src/main.rs | 2 ++ script/src/bin/header_range.rs | 11 ----------- 5 files changed, 5 insertions(+), 11 deletions(-) diff --git a/header-range/elf/riscv32im-succinct-zkvm-elf b/header-range/elf/riscv32im-succinct-zkvm-elf index b2ff9e16f342f61fe3dbabb69d62ee460c00ab23..b6249fb5bff085ade2f293efcc9714163d6a2143 100755 GIT binary patch delta 13774 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 KOzWG~_WuDEz4&YZ delta 13777 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 diff --git a/header-range/src/main.rs b/header-range/src/main.rs index 7675a9b..22c611f 100644 --- a/header-range/src/main.rs +++ b/header-range/src/main.rs @@ -12,6 +12,9 @@ use sp1_vectorx_primitives::{ verify_simple_justification, }; + +/// Verify the justification from the current authority set on target block and compute the +/// {state, data}_root_commitments over the range [trusted_block + 1, target_block] inclusive. pub fn main() { let request_data = sp1_zkvm::io::read::(); diff --git a/rotate/elf/riscv32im-succinct-zkvm-elf b/rotate/elf/riscv32im-succinct-zkvm-elf index 401ec2e6f28792a80fe1922bf40094a6a8bafd62..677f316475060f09c26137524e242cc6a13578d3 100755 GIT binary patch delta 320 zcmccfPUy}%p@tU5EldwCF#5JXyuh^m;RWWTcwtjBGYew_QxhW#3j+%SBV%JDgY97k zEQh(U%IH|Ls4-%bnVxFHGF=3VVGPq1*D|ZinCs=_l;!FfVpVZ)1GBoc8EzHJr`obG e<2HQy1qT)m+|n{8xJ`z*4xioI3msWrmjVDH0#U>O delta 320 zcmccfPUy}%p@tU5EldwCFnYH?yuh^m;RWWTcwu8BQv*{&V?zrdWnpS$Vr*)>J(); diff --git a/script/src/bin/header_range.rs b/script/src/bin/header_range.rs index 1d73021..67d1d94 100644 --- a/script/src/bin/header_range.rs +++ b/script/src/bin/header_range.rs @@ -37,17 +37,6 @@ async fn main() { .await; let encoded_headers: Vec> = headers.iter().map(|header| header.encode()).collect(); - // TODO(remove): Sanity check that trusted header hash matches the encoded header when hashed. - const DIGEST_SIZE: usize = 32; - let mut hasher = Blake2b::new(DIGEST_SIZE); - hasher.input(encoded_headers[0].as_slice()); - - let mut digest_bytes = [0u8; DIGEST_SIZE]; - hasher.result(&mut digest_bytes); - - assert_eq!(headers[0].hash().0.to_vec(), trusted_header_hash.0.to_vec()); - assert_eq!(trusted_header_hash.0.to_vec(), digest_bytes.to_vec()); - // Generate proof. let mut stdin = SP1Stdin::new(); stdin.write(&HeaderRangeProofRequestData { From 0e13da5080110712f4bd125c4dfce8da5b352703 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 17:07:34 -0700 Subject: [PATCH 04/25] add get_merkle_tree_size --- header-range/src/main.rs | 6 +++--- primitives/src/merkle.rs | 13 +++++++++---- script/src/bin/header_range.rs | 5 ++++- script/src/input.rs | 8 ++++++++ 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/header-range/src/main.rs b/header-range/src/main.rs index 22c611f..1048754 100644 --- a/header-range/src/main.rs +++ b/header-range/src/main.rs @@ -30,7 +30,7 @@ pub fn main() { // 1. Decode the headers using: https://github.com/succinctlabs/vectorx/blob/fb83641259aef1f5df33efa73c23d90973d64e24/circuits/builder/decoder.rs#L104-L157 // 2. Verify the chain of headers is connected from the trusted block to the target block. // 3. Verify the justification is valid. - // 4. Compute the simple merkle tree commitment (start with fixed size of 512) for the headers. + // 4. Compute the simple merkle tree commitment for the headers. // Stage 1: Decode the headers. // Decode the headers. @@ -83,9 +83,9 @@ pub fn main() { Vec::from(request_data.authority_set_hash), ); - // Stage 4: Compute the simple Merkle tree commitment (start with fixed size of 512) for the headers. + // Stage 4: Compute the simple Merkle tree commitment for the headers. let (state_root_commitment, data_root_commitment) = - get_merkle_root_commitments(&decoded_headers_data[1..]); + get_merkle_root_commitments(&decoded_headers_data[1..], x); // Commit the state root and data root Merkle roots. sp1_zkvm::io::commit_slice(&state_root_commitment); diff --git a/primitives/src/merkle.rs b/primitives/src/merkle.rs index e302eb5..cd04874 100644 --- a/primitives/src/merkle.rs +++ b/primitives/src/merkle.rs @@ -19,8 +19,7 @@ fn get_merkle_root(leaves: Vec>) -> [u8; 32] { } /// Computes the simple Merkle root commitments for the state root and data root. -/// The size of the Merkle tree is fixed at 512. -pub fn get_merkle_root_commitments(decoded_headers: &[DecodedHeaderData]) -> ([u8; 32], [u8; 32]) { +pub fn get_merkle_root_commitments(decoded_headers: &[DecodedHeaderData], tree_size: usize) -> ([u8; 32], [u8; 32]) { let mut state_root_leaves = Vec::new(); let mut data_root_leaves = Vec::new(); @@ -29,8 +28,14 @@ pub fn get_merkle_root_commitments(decoded_headers: &[DecodedHeaderData]) -> ([u data_root_leaves.push(header.data_root.clone()); } - // Pad the leaves to a fixed size of 512. - while state_root_leaves.len() < 512 { + // Confirm tree_size is a power of 2. + assert!(tree_size.is_power_of_two()); + + // Confirm that it's greater than end block - start block + assert!(tree_size >= decoded_headers.len()); + + // Pad the leaves to a fixed size of tree_size. + while state_root_leaves.len() < tree_size { state_root_leaves.push(vec![0u8; 32]); data_root_leaves.push(vec![0u8; 32]); } diff --git a/script/src/bin/header_range.rs b/script/src/bin/header_range.rs index 67d1d94..3add3c2 100644 --- a/script/src/bin/header_range.rs +++ b/script/src/bin/header_range.rs @@ -24,7 +24,7 @@ async fn main() { let trusted_header = fetcher.get_header(trusted_block).await; let trusted_header_hash = trusted_header.hash(); - + let (authority_set_id, authority_set_hash) = fetcher .get_authority_set_data_for_block(trusted_block) .await; @@ -37,6 +37,9 @@ async fn main() { .await; let encoded_headers: Vec> = headers.iter().map(|header| header.encode()).collect(); + let num_headers = target_block - trusted_block + 1; + let header_range_commitment_tree_size = fetcher.get_merkle_tree_size(num_headers); + // Generate proof. let mut stdin = SP1Stdin::new(); stdin.write(&HeaderRangeProofRequestData { diff --git a/script/src/input.rs b/script/src/input.rs index a8f1e0f..7bf9899 100644 --- a/script/src/input.rs +++ b/script/src/input.rs @@ -54,6 +54,14 @@ impl RpcDataFetcher { } } + pub fn get_merkle_tree_size(&self, num_headers: u32) -> u32 { + let mut size = 1; + while size < num_headers { + size *= 2; + } + size + } + // This function returns the last block justified by target_authority_set_id. This block // also specifies the new authority set, which starts justifying after this block. // Returns 0 if curr_authority_set_id <= target_authority_set_id. From d4bfdbd9f5bf3773151c1cae0fc8a434f71aa503 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 17:16:39 -0700 Subject: [PATCH 05/25] finish dynamic merkle tree size --- header-range/elf/riscv32im-succinct-zkvm-elf | Bin 343708 -> 344552 bytes header-range/src/main.rs | 2 +- primitives/src/types.rs | 1 + rotate/elf/riscv32im-succinct-zkvm-elf | Bin 309084 -> 309084 bytes script/src/bin/header_range.rs | 3 ++- script/src/input.rs | 4 ++-- 6 files changed, 6 insertions(+), 4 deletions(-) diff --git a/header-range/elf/riscv32im-succinct-zkvm-elf b/header-range/elf/riscv32im-succinct-zkvm-elf index b6249fb5bff085ade2f293efcc9714163d6a2143..6bf71f58f96243ac38e77c0db441f21480ea9f4c 100755 GIT binary patch delta 55226 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%0Asc@+y?>?2Ow!^Tf|FxS6^hIIA zfT&kNUx>Fd)~A4!L-$m zrYbSP#Li z$2(zNmR1`5Galjwl1rW(qhAf{>kN%YIdJjAT$4>rbiukuh!73#Z{)FiW^*d}Cc|5Q zdr;s7xZvvyfAbF+I0#R=G3re*A@27WGx;4+Z-R-)qwpX?o^A}*!MZiEEqwNICgPi; z{%UC1>-_}GRjZN5yht^VdJ-Al{qU4&34^`nz`RB%HZ7hC>#<7*Q{nrtUdB<(Z*kwb z+##<@@H|*=0kmnb9M}Wvu}n~&Q_X;R+%i*uhWZLiV7+~_Jha9wz_$yqtKaF#Wc|Bg z-CUI!hgXTGM7{ddz<%X|;7xyj$@L!N-i4kQWmL8{4m=4jbw=&_#lh`je-0?@7{({tkHa zt$r88d;=#w$Mp*ahZ=>xuRaMrX8FRDJp zULD-`%MAY)Sj7Leg2?_))LU)_;p6bIUqro0)bAI#oEhZ6sHp$RjtXpF#h_zF`(7iz zU^OjbP!d^R|9@e<;kA5vEfWtRw-LArE}I%X;?Rj}g6pATQ+_O5SsC?WM8-GR?nM-) zMg1pDa$qH_g`xdT$o9c{TQ|n&XRjrMbjb|U;xVx9pEnr!ldztKW*c7k5_A9kQLoYP zRWEaM`A9V84MkBER+7>G{){6t;e`KVV)+HT7?=V(;aWJ|aR2qRm=G^C4orrNuO{TC zOX^;sONX*cg3<5xM@Ib%?CW3}G!5RhihUYpGEC(_3a&4GHp8nmeRT7mQCO1UwKWDy zUZo43&hXZm3OB;bmu4Jk(QU6WQ@)zvH5mCaDzM z-{GY_6B}ZyJ5XSg$t0gmA|f z@EM)`uY@&5&f6DU(%ZTHzC(#-Wl{DM|B4 zteOmWB3ap*XE4m=Hbg6UJfL^n%S}kf@`hJW@}`>#>tH>&vlSF`FRT})W6U6Z6RvuU zG0;*G;EN<4$>?oi`APnujd`QU(95t5t%6a!gvSedDWFaK6{0U;JtA)i3V7@FR)e|T zp3fKYctOug_8JFA^Eko1Li&iO1-kjR6P4F}!pKPzyzb*~FB>so#EJ)_k@l(a*D@pD zkI&(M3-)J5qM3y~3-U%4-&B~BpPyHhSC-SWa8%Et!osq$0)FVXEI+S%etgR%k)rs( zOClqpO)1AWT@u+IYf7tof!BS&h}&+zt$UN2J({gqctrE8CR!99cxmL>rk(70#9$Nl zy65IJUp3dL#+q(>ZeH`vHa||eL7-yIiGFT=^F3&OpB8)k3U$2Y4zFBe9NQ{t-^M+)O}7e(%jKe;&4F}`eLS z_sGeMm)Ax*#XB#FjE*&FCAa99W;}oFHfbR*|JW8{%`=gEYzxgZkar9Nm*nI%vlRu$ zus}3leJawk=|Fz#IOY}}(*|dVCfiGbr(tHzVI$QSfZ!gVgp%JC4p<9w|SXV8znqk++)r&vF09Ix!?Nu&OO=z9t&o>=C=4=|tYQ9us-7qYaAxXiVgVdh|c* z&@*)w&O7Fe8Q*+KqOS4U>2wky7|xVWgS=g5NGQ6tKVdgfmm|Iw02+KQSrkx3~> zyDo_5tc{HCaFh!MFP_mQ(l!3>+DPkTl{+d*`0hkCUh`cm(f?c+;&w`|jDx1Se(v3JX^sY`3)AL#FZHSzEEY1#Fp@-;2I j@{z$W)-H@+)Td>q)P~IX4T#c8I!C-$cwTRl{n!5kz>O&- delta 54688 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 F4ghl*PAvcc delta 264 zcmccfPUy}%p@tU57N#xC*Uu_hrlzJDq?x9g87CW>T9}(#8W|)d8XK4!8m6QeSehj2 z8Bd?MjM;p;!8ztc1wx9aZ#>65p`MT`Jrf2!pTxZUJUxOcO^H@%23ILhz(?EfpJ%Rp F4geTKPT>Fm diff --git a/script/src/bin/header_range.rs b/script/src/bin/header_range.rs index 3add3c2..52680ec 100644 --- a/script/src/bin/header_range.rs +++ b/script/src/bin/header_range.rs @@ -38,7 +38,7 @@ async fn main() { let encoded_headers: Vec> = headers.iter().map(|header| header.encode()).collect(); let num_headers = target_block - trusted_block + 1; - let header_range_commitment_tree_size = fetcher.get_merkle_tree_size(num_headers); + let merkle_tree_size = fetcher.get_merkle_tree_size(num_headers); // Generate proof. let mut stdin = SP1Stdin::new(); @@ -48,6 +48,7 @@ async fn main() { trusted_header_hash: trusted_header_hash.0, authority_set_hash: authority_set_hash.0, authority_set_id, + merkle_tree_size, }); // Should be target_block - trusted_block + 1 headers. for encoded_header in encoded_headers { diff --git a/script/src/input.rs b/script/src/input.rs index 7bf9899..c8cb8d6 100644 --- a/script/src/input.rs +++ b/script/src/input.rs @@ -54,12 +54,12 @@ impl RpcDataFetcher { } } - pub fn get_merkle_tree_size(&self, num_headers: u32) -> u32 { + pub fn get_merkle_tree_size(&self, num_headers: u32) -> usize { let mut size = 1; while size < num_headers { size *= 2; } - size + size.try_into().unwrap() } // This function returns the last block justified by target_authority_set_id. This block From 88ed6e3eba45d96f7dd0ad9df0c1b26b17f12f85 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 17:37:10 -0700 Subject: [PATCH 06/25] finish refactor fr --- script/src/bin/header_range.rs | 82 +++++++++++++++++++--------------- script/src/bin/rotate.rs | 66 ++++++++++++++------------- 2 files changed, 83 insertions(+), 65 deletions(-) diff --git a/script/src/bin/header_range.rs b/script/src/bin/header_range.rs index 52680ec..9836d42 100644 --- a/script/src/bin/header_range.rs +++ b/script/src/bin/header_range.rs @@ -1,65 +1,65 @@ //! A simple script to generate and verify the proof of a given program. - use crypto::{blake2b::Blake2b, digest::Digest}; - use codec::Encode; use sp1_sdk::{utils::setup_logger, ProverClient, SP1Stdin}; use sp1_vectorx_primitives::types::HeaderRangeProofRequestData; use sp1_vectorx_script::input::RpcDataFetcher; use subxt::config::Header; -const HEADER_RANGE_ELF: &[u8] = - include_bytes!("../../../header-range/elf/riscv32im-succinct-zkvm-elf"); - -#[tokio::main] -async fn main() { - setup_logger(); - - let fetcher = RpcDataFetcher::new().await; - - // TODO: Update this to read from args/on-chain. - // let head = fetcher.get_head().await; - let trusted_block = 237600; - let target_block = 237960; +const HEADER_RANGE_ELF: &[u8] = include_bytes!("../../../header-range/elf/riscv32im-succinct-zkvm-elf"); +async fn get_header_range_proof_request_data( + fetcher: &RpcDataFetcher, + trusted_block: u32, + target_block: u32, +) -> HeaderRangeProofRequestData { let trusted_header = fetcher.get_header(trusted_block).await; let trusted_header_hash = trusted_header.hash(); - let (authority_set_id, authority_set_hash) = fetcher .get_authority_set_data_for_block(trusted_block) .await; - // TODO: It may make sense to fetch this from an indexer similar to VectorX, this isn't resilient to downtime. - let (target_justification, _) = fetcher.get_justification_data_for_block(target_block).await; - - let headers = fetcher - .get_block_headers_range(trusted_block, target_block) - .await; - let encoded_headers: Vec> = headers.iter().map(|header| header.encode()).collect(); - let num_headers = target_block - trusted_block + 1; let merkle_tree_size = fetcher.get_merkle_tree_size(num_headers); - // Generate proof. - let mut stdin = SP1Stdin::new(); - stdin.write(&HeaderRangeProofRequestData { + HeaderRangeProofRequestData { trusted_block, target_block, trusted_header_hash: trusted_header_hash.0, authority_set_hash: authority_set_hash.0, authority_set_id, merkle_tree_size, - }); + } +} + +async fn generate_and_verify_proof( + trusted_block: u32, + target_block: u32, +) -> anyhow::Result<()> { + let fetcher = RpcDataFetcher::new().await; + + let request_data = get_header_range_proof_request_data(&fetcher, trusted_block, target_block).await; + + let (target_justification, _) = fetcher.get_justification_data_for_block(target_block).await; + + let headers = fetcher + .get_block_headers_range(trusted_block, target_block) + .await; + let encoded_headers: Vec> = headers.iter().map(|header| header.encode()).collect(); + + // Generate proof. + let mut stdin = SP1Stdin::new(); + stdin.write(&request_data); + // Should be target_block - trusted_block + 1 headers. for encoded_header in encoded_headers { stdin.write_vec(encoded_header); } - stdin.write(&target_justification); let client = ProverClient::new(); let (pk, vk) = client.setup(HEADER_RANGE_ELF); - let mut proof = client.prove(&pk, stdin).expect("proving failed"); + let mut proof = client.prove(&pk, stdin)?; // Read outputs. let mut state_root_commitment = [0u8; 32]; @@ -68,12 +68,24 @@ async fn main() { proof.public_values.read_slice(&mut data_root_commitment); // Verify proof. - client.verify(&proof, &vk).expect("verification failed"); + client.verify(&proof, &vk)?; // Save proof. - proof - .save("proof-with-io.json") - .expect("saving proof failed"); + proof.save("proof-with-io.json")?; - println!("successfully generated and verified proof for the program!") + Ok(()) } + +#[tokio::main] +async fn main() -> anyhow::Result<()> { + setup_logger(); + + let trusted_block = 237600; + let target_block = 237960; + + generate_and_verify_proof(trusted_block, target_block).await?; + + println!("Successfully generated and verified proof for the program!"); + + Ok(()) +} \ No newline at end of file diff --git a/script/src/bin/rotate.rs b/script/src/bin/rotate.rs index 828ad6b..5943697 100644 --- a/script/src/bin/rotate.rs +++ b/script/src/bin/rotate.rs @@ -1,78 +1,84 @@ //! A simple script to generate and verify the proof of a given program. - use sp1_sdk::{utils::setup_logger, ProverClient, SP1Stdin}; use sp1_vectorx_primitives::types::RotateInput; use sp1_vectorx_script::input::RpcDataFetcher; const ROTATE_ELF: &[u8] = include_bytes!("../../../rotate/elf/riscv32im-succinct-zkvm-elf"); -#[tokio::main] -async fn main() { - setup_logger(); - - let fetcher = RpcDataFetcher::new().await; - - // Supply an initial authority set id. - // TODO: Read from args/contract in the future. Set to 1 for testing. - let authority_set_id = 74u64; +async fn get_rotate_input( + fetcher: &RpcDataFetcher, + authority_set_id: u64, +) -> anyhow::Result { let epoch_end_block = fetcher.last_justified_block(authority_set_id).await; - // Fetch the authority set hash for the specified authority set id. - // TODO: In the future, this will be read from the contract, along with the epoch end block number. let authority_set_hash = fetcher .compute_authority_set_hash_for_block(epoch_end_block - 1) .await; - // Fetch the justification for the epoch end block of the specified authority set id. - let justification = fetcher - .get_justification_data_rotate(authority_set_id) - .await; + let justification = fetcher.get_justification_data_rotate(authority_set_id).await; let header_rotate_data = fetcher.get_header_rotate(authority_set_id).await; - // Generate proof. - let mut stdin = SP1Stdin::new(); - let rotate_input = RotateInput { + Ok(RotateInput { current_authority_set_id: authority_set_id, current_authority_set_hash: authority_set_hash.0.to_vec(), justification, header_rotate_data, - }; + }) +} + +async fn generate_and_verify_proof(authority_set_id: u64) -> anyhow::Result<()> { + let fetcher = RpcDataFetcher::new().await; + + let rotate_input = get_rotate_input(&fetcher, authority_set_id).await?; + + // Generate proof. + let mut stdin = SP1Stdin::new(); stdin.write(&rotate_input); let client = ProverClient::new(); let (pk, vk) = client.setup(ROTATE_ELF); - let mut proof = client.prove(&pk, stdin).expect("proving failed"); + let mut proof = client.prove(&pk, stdin)?; // Read outputs. let new_authority_set_hash_bytes32 = proof.public_values.read::<[u8; 32]>(); let new_authority_set_hash = hex::encode(new_authority_set_hash_bytes32); // Verify proof. - client.verify(&proof, &vk).expect("verification failed"); + client.verify(&proof, &vk)?; // Save proof. - proof - .save("proof-with-io.json") - .expect("saving proof failed"); + proof.save("proof-with-io.json")?; - println!("successfully generated and verified proof for the program!") + Ok(()) +} + +#[tokio::main] +async fn main() -> anyhow::Result<()> { + setup_logger(); + + // Supply an initial authority set id. + // TODO: Read from args/contract in the future. Set to 1 for testing. + let authority_set_id = 74u64; + + generate_and_verify_proof(authority_set_id).await?; + + println!("Successfully generated and verified proof for the program!"); + + Ok(()) } #[cfg(test)] mod tests { use sp1_vectorx_primitives::compute_authority_set_commitment; - use super::*; #[tokio::test] #[cfg_attr(feature = "ci", ignore)] async fn test_compute_authority_set_commitment() { let fetcher = RpcDataFetcher::new().await; - let authority_set_id = 71u64; let epoch_end_block = fetcher.last_justified_block(authority_set_id).await; - let header_rotate_data = fetcher.get_header_rotate(authority_set_id).await; // Generate next authority set hash. @@ -96,4 +102,4 @@ mod tests { // Verify that computed authority set hash is correct. assert_eq!(next_authority_set_hash, generated_next_authority_set_hash); } -} +} \ No newline at end of file From 8c53ba91f0db2cdd2b224286f57d95dcc4596051 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 21:42:07 -0700 Subject: [PATCH 07/25] fix nits --- primitives/src/merkle.rs | 2 +- primitives/src/types.rs | 6 +++--- script/src/bin/header_range.rs | 1 + script/src/input.rs | 1 + 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/primitives/src/merkle.rs b/primitives/src/merkle.rs index cd04874..dc3d8f6 100644 --- a/primitives/src/merkle.rs +++ b/primitives/src/merkle.rs @@ -31,7 +31,7 @@ pub fn get_merkle_root_commitments(decoded_headers: &[DecodedHeaderData], tree_s // Confirm tree_size is a power of 2. assert!(tree_size.is_power_of_two()); - // Confirm that it's greater than end block - start block + // Confirm that it's greater than the number of headers that's passed in. assert!(tree_size >= decoded_headers.len()); // Pad the leaves to a fixed size of tree_size. diff --git a/primitives/src/types.rs b/primitives/src/types.rs index 46cfc9a..4f7e761 100644 --- a/primitives/src/types.rs +++ b/primitives/src/types.rs @@ -9,17 +9,17 @@ pub struct RotateInput { } #[derive(Debug, Deserialize, Serialize)] -// Data for the next set of authorities. +/// Data for the next set of authorities. pub struct HeaderRotateData { pub header_bytes: Vec, // Encoded header bytes for the epoch end block pub num_authorities: usize, pub new_authority_set_hash: Vec, pub pubkeys: Vec<[u8; 32]>, - pub position: usize, // Index of the new authority set data in the header bytes + pub consensus_log_position: usize, // Index of the new authority set data in the header bytes } #[derive(Debug, Deserialize, Serialize)] -// Justification data for an authority set. +/// Justification data for an authority set. pub struct CircuitJustification { pub authority_set_id: u64, pub signed_message: Vec, // Message signed by authority set. diff --git a/script/src/bin/header_range.rs b/script/src/bin/header_range.rs index 9836d42..76bde5a 100644 --- a/script/src/bin/header_range.rs +++ b/script/src/bin/header_range.rs @@ -20,6 +20,7 @@ async fn get_header_range_proof_request_data( .await; let num_headers = target_block - trusted_block + 1; + // TODO: Should be fetched from the contract when we take this to production. let merkle_tree_size = fetcher.get_merkle_tree_size(num_headers); HeaderRangeProofRequestData { diff --git a/script/src/input.rs b/script/src/input.rs index c8cb8d6..69bf219 100644 --- a/script/src/input.rs +++ b/script/src/input.rs @@ -54,6 +54,7 @@ impl RpcDataFetcher { } } + // TODO: Should be removed when we read header_range_tree_commitment_size from the contract. pub fn get_merkle_tree_size(&self, num_headers: u32) -> usize { let mut size = 1; while size < num_headers { From df2e0fe29516af9f812fff9ffcf318cc1f85f884 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 21:56:54 -0700 Subject: [PATCH 08/25] implement all fixes --- header-range/elf/riscv32im-succinct-zkvm-elf | Bin 344552 -> 344220 bytes header-range/src/main.rs | 8 +------- primitives/src/types.rs | 1 + rotate/elf/riscv32im-succinct-zkvm-elf | Bin 309084 -> 309072 bytes rotate/src/main.rs | 2 +- script/src/bin/header_range.rs | 18 +++++++----------- script/src/input.rs | 2 +- 7 files changed, 11 insertions(+), 20 deletions(-) diff --git a/header-range/elf/riscv32im-succinct-zkvm-elf b/header-range/elf/riscv32im-succinct-zkvm-elf index 6bf71f58f96243ac38e77c0db441f21480ea9f4c..2573498e4d8d95c1c6a4375f09fd7a7d0628000c 100755 GIT binary patch delta 56518 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 M)<)hY>!N@9U%01Y)Bpeg delta 57432 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 diff --git a/header-range/src/main.rs b/header-range/src/main.rs index 74929be..5f86b7b 100644 --- a/header-range/src/main.rs +++ b/header-range/src/main.rs @@ -18,13 +18,7 @@ use sp1_vectorx_primitives::{ pub fn main() { let request_data = sp1_zkvm::io::read::(); - let mut encoded_headers = Vec::new(); - // Read the encoded headers. - for _ in 0..request_data.target_block - request_data.trusted_block + 1 { - let header_bytes = sp1_zkvm::io::read_vec(); - encoded_headers.push(header_bytes); - } - + let encoded_headers = request_data.encoded_headers; let target_justification = sp1_zkvm::io::read::(); // 1. Decode the headers using: https://github.com/succinctlabs/vectorx/blob/fb83641259aef1f5df33efa73c23d90973d64e24/circuits/builder/decoder.rs#L104-L157 diff --git a/primitives/src/types.rs b/primitives/src/types.rs index 4f7e761..dc04f69 100644 --- a/primitives/src/types.rs +++ b/primitives/src/types.rs @@ -39,6 +39,7 @@ pub struct HeaderRangeProofRequestData { pub authority_set_hash: [u8; 32], pub target_block: u32, pub merkle_tree_size: usize, + pub encoded_headers: Vec>, } #[derive(Debug, Deserialize, Serialize)] diff --git a/rotate/elf/riscv32im-succinct-zkvm-elf b/rotate/elf/riscv32im-succinct-zkvm-elf index 6bcb069618dfc2257828790eecc66dfc8620e516..a5bfb1daf80a2937537b3bf422fe8973317a8cad 100755 GIT binary patch delta 11324 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 N936!31pa5d{Rhysc;^5B delta 11332 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 = headers.iter().map(|header| header.encode()).collect(); + HeaderRangeProofRequestData { trusted_block, target_block, @@ -30,6 +35,7 @@ async fn get_header_range_proof_request_data( authority_set_hash: authority_set_hash.0, authority_set_id, merkle_tree_size, + encoded_headers, } } @@ -43,19 +49,9 @@ async fn generate_and_verify_proof( let (target_justification, _) = fetcher.get_justification_data_for_block(target_block).await; - let headers = fetcher - .get_block_headers_range(trusted_block, target_block) - .await; - let encoded_headers: Vec> = headers.iter().map(|header| header.encode()).collect(); - // Generate proof. - let mut stdin = SP1Stdin::new(); + let mut stdin: SP1Stdin = SP1Stdin::new(); stdin.write(&request_data); - - // Should be target_block - trusted_block + 1 headers. - for encoded_header in encoded_headers { - stdin.write_vec(encoded_header); - } stdin.write(&target_justification); let client = ProverClient::new(); diff --git a/script/src/input.rs b/script/src/input.rs index 69bf219..099b90d 100644 --- a/script/src/input.rs +++ b/script/src/input.rs @@ -569,7 +569,7 @@ impl RpcDataFetcher { num_authorities: new_authorities.len(), new_authority_set_hash, pubkeys: new_authorities, - position, + consensus_log_position:position, } } } From 02b4938e03f51f262d84e7f2cf4cbb027a1c74e9 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 22:30:31 -0700 Subject: [PATCH 09/25] autoformat files --- header-range/src/main.rs | 1 - primitives/src/merkle.rs | 5 ++++- primitives/src/types.rs | 12 ++++++------ script/src/bin/header_range.rs | 15 +++++++-------- script/src/bin/rotate.rs | 8 +++++--- script/src/input.rs | 2 +- 6 files changed, 23 insertions(+), 20 deletions(-) diff --git a/header-range/src/main.rs b/header-range/src/main.rs index 5f86b7b..c0d22b4 100644 --- a/header-range/src/main.rs +++ b/header-range/src/main.rs @@ -12,7 +12,6 @@ use sp1_vectorx_primitives::{ verify_simple_justification, }; - /// Verify the justification from the current authority set on target block and compute the /// {state, data}_root_commitments over the range [trusted_block + 1, target_block] inclusive. pub fn main() { diff --git a/primitives/src/merkle.rs b/primitives/src/merkle.rs index dc3d8f6..762271f 100644 --- a/primitives/src/merkle.rs +++ b/primitives/src/merkle.rs @@ -19,7 +19,10 @@ fn get_merkle_root(leaves: Vec>) -> [u8; 32] { } /// Computes the simple Merkle root commitments for the state root and data root. -pub fn get_merkle_root_commitments(decoded_headers: &[DecodedHeaderData], tree_size: usize) -> ([u8; 32], [u8; 32]) { +pub fn get_merkle_root_commitments( + decoded_headers: &[DecodedHeaderData], + tree_size: usize, +) -> ([u8; 32], [u8; 32]) { let mut state_root_leaves = Vec::new(); let mut data_root_leaves = Vec::new(); diff --git a/primitives/src/types.rs b/primitives/src/types.rs index dc04f69..71eabe9 100644 --- a/primitives/src/types.rs +++ b/primitives/src/types.rs @@ -14,7 +14,7 @@ pub struct HeaderRotateData { pub header_bytes: Vec, // Encoded header bytes for the epoch end block pub num_authorities: usize, pub new_authority_set_hash: Vec, - pub pubkeys: Vec<[u8; 32]>, + pub pubkeys: Vec<[u8; 32]>, pub consensus_log_position: usize, // Index of the new authority set data in the header bytes } @@ -27,7 +27,7 @@ pub struct CircuitJustification { pub signatures: Vec>>, pub num_authorities: usize, pub current_authority_set_hash: Vec, - pub block_number: u32, // Block number associated with the justification + pub block_number: u32, // Block number associated with the justification pub block_hash: [u8; 32], // Hash of the block associated with the justification } @@ -44,8 +44,8 @@ pub struct HeaderRangeProofRequestData { #[derive(Debug, Deserialize, Serialize)] pub struct DecodedHeaderData { - pub block_number: u32, // Block number of the decoded header + pub block_number: u32, // Block number of the decoded header pub parent_hash: Vec, // Hash of the parent block - pub state_root: Vec, // State root of the block - pub data_root: Vec, // Data root of the block -} \ No newline at end of file + pub state_root: Vec, // State root of the block + pub data_root: Vec, // Data root of the block +} diff --git a/script/src/bin/header_range.rs b/script/src/bin/header_range.rs index 289abaa..5745b51 100644 --- a/script/src/bin/header_range.rs +++ b/script/src/bin/header_range.rs @@ -1,12 +1,13 @@ //! A simple script to generate and verify the proof of a given program. -use crypto::{blake2b::Blake2b, digest::Digest}; use codec::Encode; +use crypto::{blake2b::Blake2b, digest::Digest}; use sp1_sdk::{utils::setup_logger, ProverClient, SP1Stdin}; use sp1_vectorx_primitives::types::HeaderRangeProofRequestData; use sp1_vectorx_script::input::RpcDataFetcher; use subxt::config::Header; -const HEADER_RANGE_ELF: &[u8] = include_bytes!("../../../header-range/elf/riscv32im-succinct-zkvm-elf"); +const HEADER_RANGE_ELF: &[u8] = + include_bytes!("../../../header-range/elf/riscv32im-succinct-zkvm-elf"); async fn get_header_range_proof_request_data( fetcher: &RpcDataFetcher, @@ -39,13 +40,11 @@ async fn get_header_range_proof_request_data( } } -async fn generate_and_verify_proof( - trusted_block: u32, - target_block: u32, -) -> anyhow::Result<()> { +async fn generate_and_verify_proof(trusted_block: u32, target_block: u32) -> anyhow::Result<()> { let fetcher = RpcDataFetcher::new().await; - let request_data = get_header_range_proof_request_data(&fetcher, trusted_block, target_block).await; + let request_data = + get_header_range_proof_request_data(&fetcher, trusted_block, target_block).await; let (target_justification, _) = fetcher.get_justification_data_for_block(target_block).await; @@ -85,4 +84,4 @@ async fn main() -> anyhow::Result<()> { println!("Successfully generated and verified proof for the program!"); Ok(()) -} \ No newline at end of file +} diff --git a/script/src/bin/rotate.rs b/script/src/bin/rotate.rs index 5943697..d69c341 100644 --- a/script/src/bin/rotate.rs +++ b/script/src/bin/rotate.rs @@ -15,7 +15,9 @@ async fn get_rotate_input( .compute_authority_set_hash_for_block(epoch_end_block - 1) .await; - let justification = fetcher.get_justification_data_rotate(authority_set_id).await; + let justification = fetcher + .get_justification_data_rotate(authority_set_id) + .await; let header_rotate_data = fetcher.get_header_rotate(authority_set_id).await; @@ -70,8 +72,8 @@ async fn main() -> anyhow::Result<()> { #[cfg(test)] mod tests { - use sp1_vectorx_primitives::compute_authority_set_commitment; use super::*; + use sp1_vectorx_primitives::compute_authority_set_commitment; #[tokio::test] #[cfg_attr(feature = "ci", ignore)] @@ -102,4 +104,4 @@ mod tests { // Verify that computed authority set hash is correct. assert_eq!(next_authority_set_hash, generated_next_authority_set_hash); } -} \ No newline at end of file +} diff --git a/script/src/input.rs b/script/src/input.rs index 099b90d..3ab8643 100644 --- a/script/src/input.rs +++ b/script/src/input.rs @@ -569,7 +569,7 @@ impl RpcDataFetcher { num_authorities: new_authorities.len(), new_authority_set_hash, pubkeys: new_authorities, - consensus_log_position:position, + consensus_log_position: position, } } } From 0ef64fe6761775f81fd83faa46a04e44b267008d Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 22:38:22 -0700 Subject: [PATCH 10/25] see if this works --- .github/workflows/ci.yml | 98 ++++++++++++++++++++++++++++++++++++++++ .github/workflows/pr.yml | 20 ++++++++ 2 files changed, 118 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/pr.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..c00988d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,98 @@ +name: "CI" + +on: + push: + branches: [main] + pull_request: + branches: + - "**" + workflow_dispatch: + branches: + - "**" + +jobs: + test: + name: CI Test Suite + runs-on: buildjet-32vcpu-ubuntu-2204 + if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: rust-cache + uses: buildjet/cache@v3 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + ~/.rustup/ + key: test-rust-nightly-2024-02-22-${{ hashFiles('**/Cargo.toml') }} + restore-keys: rust-nightly-2024-02-22- + + - name: Install nightly toolchain + id: rustc-toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: nightly-2024-02-22 + override: true + + - name: Run cargo test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --features "ci" + env: + RUST_LOG: 1 + RUST_BACKTRACE: 1 + + lints: + name: Formatting & Clippy + runs-on: buildjet-32vcpu-ubuntu-2204 + if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: rust-cache + uses: buildjet/cache@v3 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + ~/.rustup/ + key: clippy-rust-nightly-2024-02-22-${{ hashFiles('**/Cargo.toml') }} + restore-keys: rust-nightly-2024-02-22- + + - name: Install nightly toolchain + id: rustc-toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: nightly-2024-02-22 + override: true + components: rustfmt, clippy + + - name: Run cargo fmt + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check + env: + CARGO_INCREMENTAL: 1 + + - name: Run cargo clippy + uses: actions-rs/cargo@v1 + with: + command: clippy + args: --all-features --all-targets -- -D warnings -A incomplete-features + env: + CARGO_INCREMENTAL: 1 diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 0000000..213ec3d --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,20 @@ +name: "PR" + +on: + pull_request_target: + types: + - opened + - edited + - synchronize + +permissions: + pull-requests: read + +jobs: + main: + name: PR + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 7b98ef2a48645d0881469a2e2066a9fa17aa4f0d Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 22:45:57 -0700 Subject: [PATCH 11/25] fix workflows --- .github/workflows/ci.yml | 12 ++---------- .github/workflows/pr.yml | 10 +++++----- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c00988d..dd25ba8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,4 @@ name: "CI" - on: push: branches: [main] @@ -19,7 +18,6 @@ jobs: - uses: actions/checkout@v3 with: submodules: recursive - - name: rust-cache uses: buildjet/cache@v3 with: @@ -32,7 +30,6 @@ jobs: ~/.rustup/ key: test-rust-nightly-2024-02-22-${{ hashFiles('**/Cargo.toml') }} restore-keys: rust-nightly-2024-02-22- - - name: Install nightly toolchain id: rustc-toolchain uses: actions-rs/toolchain@v1 @@ -40,14 +37,13 @@ jobs: profile: minimal toolchain: nightly-2024-02-22 override: true - - name: Run cargo test uses: actions-rs/cargo@v1 with: command: test args: --release --features "ci" env: - RUST_LOG: 1 + RUST_LOG: info RUST_BACKTRACE: 1 lints: @@ -58,7 +54,6 @@ jobs: - uses: actions/checkout@v3 with: submodules: recursive - - name: rust-cache uses: buildjet/cache@v3 with: @@ -71,7 +66,6 @@ jobs: ~/.rustup/ key: clippy-rust-nightly-2024-02-22-${{ hashFiles('**/Cargo.toml') }} restore-keys: rust-nightly-2024-02-22- - - name: Install nightly toolchain id: rustc-toolchain uses: actions-rs/toolchain@v1 @@ -80,7 +74,6 @@ jobs: toolchain: nightly-2024-02-22 override: true components: rustfmt, clippy - - name: Run cargo fmt uses: actions-rs/cargo@v1 with: @@ -88,11 +81,10 @@ jobs: args: --all -- --check env: CARGO_INCREMENTAL: 1 - - name: Run cargo clippy uses: actions-rs/cargo@v1 with: command: clippy args: --all-features --all-targets -- -D warnings -A incomplete-features env: - CARGO_INCREMENTAL: 1 + CARGO_INCREMENTAL: 1 \ No newline at end of file diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 213ec3d..53f5011 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -1,11 +1,7 @@ name: "PR" - on: pull_request_target: - types: - - opened - - edited - - synchronize + types: [opened, edited, synchronize] permissions: pull-requests: read @@ -15,6 +11,10 @@ jobs: name: PR runs-on: ubuntu-latest steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 0 - uses: amannn/action-semantic-pull-request@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 80d70f8808ee054579c70b6f0dbd80adbdf4b551 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 22:50:25 -0700 Subject: [PATCH 12/25] fix ci --- .github/workflows/ci.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd25ba8..ff21dbc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,10 +14,18 @@ jobs: name: CI Test Suite runs-on: buildjet-32vcpu-ubuntu-2204 if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" + strategy: + matrix: + project: + - primitives + - rotate + - script + - header-range steps: - uses: actions/checkout@v3 with: submodules: recursive + fetch-depth: 0 - name: rust-cache uses: buildjet/cache@v3 with: @@ -42,6 +50,7 @@ jobs: with: command: test args: --release --features "ci" + working-directory: sp1-vectorx/${{ matrix.project }} env: RUST_LOG: info RUST_BACKTRACE: 1 @@ -50,10 +59,17 @@ jobs: name: Formatting & Clippy runs-on: buildjet-32vcpu-ubuntu-2204 if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" + strategy: + matrix: + project: + - primitives + - rotate + - script steps: - uses: actions/checkout@v3 with: submodules: recursive + fetch-depth: 0 - name: rust-cache uses: buildjet/cache@v3 with: @@ -79,6 +95,7 @@ jobs: with: command: fmt args: --all -- --check + working-directory: sp1-vectorx/${{ matrix.project }} env: CARGO_INCREMENTAL: 1 - name: Run cargo clippy @@ -86,5 +103,6 @@ jobs: with: command: clippy args: --all-features --all-targets -- -D warnings -A incomplete-features + working-directory: sp1-vectorx/${{ matrix.project }} env: CARGO_INCREMENTAL: 1 \ No newline at end of file From 92908264b5f8332746b098dd717bd558097e07d5 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 22:58:47 -0700 Subject: [PATCH 13/25] fix ci fr this time (bless) --- .github/workflows/ci.yml | 122 +++++++++++++++++++++++++++++++-------- .github/workflows/pr.yml | 10 ++-- 2 files changed, 104 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ff21dbc..29d38c9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,18 +14,11 @@ jobs: name: CI Test Suite runs-on: buildjet-32vcpu-ubuntu-2204 if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" - strategy: - matrix: - project: - - primitives - - rotate - - script - - header-range steps: - uses: actions/checkout@v3 with: submodules: recursive - fetch-depth: 0 + - name: rust-cache uses: buildjet/cache@v3 with: @@ -38,6 +31,7 @@ jobs: ~/.rustup/ key: test-rust-nightly-2024-02-22-${{ hashFiles('**/Cargo.toml') }} restore-keys: rust-nightly-2024-02-22- + - name: Install nightly toolchain id: rustc-toolchain uses: actions-rs/toolchain@v1 @@ -45,31 +39,56 @@ jobs: profile: minimal toolchain: nightly-2024-02-22 override: true - - name: Run cargo test + + - name: Run cargo test (rotate) + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --features "ci" + env: + RUST_LOG: 1 + RUST_BACKTRACE: 1 + working-directory: ./rotate + + - name: Run cargo test (script) + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --features "ci" + env: + RUST_LOG: 1 + RUST_BACKTRACE: 1 + working-directory: ./script + + - name: Run cargo test (primitives) + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --features "ci" + env: + RUST_LOG: 1 + RUST_BACKTRACE: 1 + working-directory: ./primitives + + - name: Run cargo test (header-range) uses: actions-rs/cargo@v1 with: command: test args: --release --features "ci" - working-directory: sp1-vectorx/${{ matrix.project }} env: - RUST_LOG: info + RUST_LOG: 1 RUST_BACKTRACE: 1 + working-directory: ./header-range lints: name: Formatting & Clippy runs-on: buildjet-32vcpu-ubuntu-2204 if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" - strategy: - matrix: - project: - - primitives - - rotate - - script steps: - uses: actions/checkout@v3 with: submodules: recursive - fetch-depth: 0 + - name: rust-cache uses: buildjet/cache@v3 with: @@ -82,6 +101,7 @@ jobs: ~/.rustup/ key: clippy-rust-nightly-2024-02-22-${{ hashFiles('**/Cargo.toml') }} restore-keys: rust-nightly-2024-02-22- + - name: Install nightly toolchain id: rustc-toolchain uses: actions-rs/toolchain@v1 @@ -90,19 +110,75 @@ jobs: toolchain: nightly-2024-02-22 override: true components: rustfmt, clippy - - name: Run cargo fmt + + - name: Run cargo fmt (rotate) uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check - working-directory: sp1-vectorx/${{ matrix.project }} env: CARGO_INCREMENTAL: 1 - - name: Run cargo clippy + working-directory: ./rotate + + - name: Run cargo fmt (script) + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check + env: + CARGO_INCREMENTAL: 1 + working-directory: ./script + + - name: Run cargo fmt (primitives) + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check + env: + CARGO_INCREMENTAL: 1 + working-directory: ./primitives + + - name: Run cargo fmt (header-range) + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check + env: + CARGO_INCREMENTAL: 1 + working-directory: ./header-range + + - name: Run cargo clippy (rotate) uses: actions-rs/cargo@v1 with: command: clippy args: --all-features --all-targets -- -D warnings -A incomplete-features - working-directory: sp1-vectorx/${{ matrix.project }} env: - CARGO_INCREMENTAL: 1 \ No newline at end of file + CARGO_INCREMENTAL: 1 + working-directory: ./rotate + + - name: Run cargo clippy (script) + uses: actions-rs/cargo@v1 + with: + command: clippy + args: --all-features --all-targets -- -D warnings -A incomplete-features + env: + CARGO_INCREMENTAL: 1 + working-directory: ./script + + - name: Run cargo clippy (primitives) + uses: actions-rs/cargo@v1 + with: + command: clippy + args: --all-features --all-targets -- -D warnings -A incomplete-features + env: + CARGO_INCREMENTAL: 1 + working-directory: ./primitives + + - name: Run cargo clippy (header-range) + uses: actions-rs/cargo@v1 + with: + command: clippy + args: --all-features --all-targets -- -D warnings -A incomplete-features + env: + CARGO_INCREMENTAL: 1 + working-directory: ./header-range \ No newline at end of file diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 53f5011..213ec3d 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -1,7 +1,11 @@ name: "PR" + on: pull_request_target: - types: [opened, edited, synchronize] + types: + - opened + - edited + - synchronize permissions: pull-requests: read @@ -11,10 +15,6 @@ jobs: name: PR runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - with: - ref: ${{ github.event.pull_request.head.sha }} - fetch-depth: 0 - uses: amannn/action-semantic-pull-request@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 8e5665ae90ab51e61a3ad26a22ab863ffe2ff056 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 23:01:05 -0700 Subject: [PATCH 14/25] fix it fr this time (fr) (fr) --- .github/workflows/ci.yml | 60 ++++++++-------------------------------- 1 file changed, 12 insertions(+), 48 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 29d38c9..ea87fb2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,40 +41,28 @@ jobs: override: true - name: Run cargo test (rotate) - uses: actions-rs/cargo@v1 - with: - command: test - args: --release --features "ci" + run: cargo test --release --features "ci" env: RUST_LOG: 1 RUST_BACKTRACE: 1 working-directory: ./rotate - name: Run cargo test (script) - uses: actions-rs/cargo@v1 - with: - command: test - args: --release --features "ci" + run: cargo test --release --features "ci" env: RUST_LOG: 1 RUST_BACKTRACE: 1 working-directory: ./script - name: Run cargo test (primitives) - uses: actions-rs/cargo@v1 - with: - command: test - args: --release --features "ci" + run: cargo test --release --features "ci" env: RUST_LOG: 1 RUST_BACKTRACE: 1 working-directory: ./primitives - name: Run cargo test (header-range) - uses: actions-rs/cargo@v1 - with: - command: test - args: --release --features "ci" + run: cargo test --release --features "ci" env: RUST_LOG: 1 RUST_BACKTRACE: 1 @@ -112,73 +100,49 @@ jobs: components: rustfmt, clippy - name: Run cargo fmt (rotate) - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check + run: cargo fmt --all -- --check env: CARGO_INCREMENTAL: 1 working-directory: ./rotate - name: Run cargo fmt (script) - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check + run: cargo fmt --all -- --check env: CARGO_INCREMENTAL: 1 working-directory: ./script - name: Run cargo fmt (primitives) - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check + run: cargo fmt --all -- --check env: CARGO_INCREMENTAL: 1 working-directory: ./primitives - name: Run cargo fmt (header-range) - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check + run: cargo fmt --all -- --check env: CARGO_INCREMENTAL: 1 working-directory: ./header-range - name: Run cargo clippy (rotate) - uses: actions-rs/cargo@v1 - with: - command: clippy - args: --all-features --all-targets -- -D warnings -A incomplete-features + run: cargo clippy --all-features --all-targets -- -D warnings -A incomplete-features env: CARGO_INCREMENTAL: 1 working-directory: ./rotate - name: Run cargo clippy (script) - uses: actions-rs/cargo@v1 - with: - command: clippy - args: --all-features --all-targets -- -D warnings -A incomplete-features + run: cargo clippy --all-features --all-targets -- -D warnings -A incomplete-features env: CARGO_INCREMENTAL: 1 working-directory: ./script - name: Run cargo clippy (primitives) - uses: actions-rs/cargo@v1 - with: - command: clippy - args: --all-features --all-targets -- -D warnings -A incomplete-features + run: cargo clippy --all-features --all-targets -- -D warnings -A incomplete-features env: CARGO_INCREMENTAL: 1 working-directory: ./primitives - name: Run cargo clippy (header-range) - uses: actions-rs/cargo@v1 - with: - command: clippy - args: --all-features --all-targets -- -D warnings -A incomplete-features + run: cargo clippy --all-features --all-targets -- -D warnings -A incomplete-features env: CARGO_INCREMENTAL: 1 working-directory: ./header-range \ No newline at end of file From 92d3920ccee3d9ed899aba2a7a834033a278e205 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 23:12:02 -0700 Subject: [PATCH 15/25] fix ci (frrrrrrrrrrrr) --- .github/workflows/ci.yml | 82 ++++++++-------------------------------- cargo.toml | 19 ++++++++++ 2 files changed, 35 insertions(+), 66 deletions(-) create mode 100644 cargo.toml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea87fb2..c00988d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,5 @@ name: "CI" + on: push: branches: [main] @@ -40,33 +41,14 @@ jobs: toolchain: nightly-2024-02-22 override: true - - name: Run cargo test (rotate) - run: cargo test --release --features "ci" - env: - RUST_LOG: 1 - RUST_BACKTRACE: 1 - working-directory: ./rotate - - - name: Run cargo test (script) - run: cargo test --release --features "ci" - env: - RUST_LOG: 1 - RUST_BACKTRACE: 1 - working-directory: ./script - - - name: Run cargo test (primitives) - run: cargo test --release --features "ci" - env: - RUST_LOG: 1 - RUST_BACKTRACE: 1 - working-directory: ./primitives - - - name: Run cargo test (header-range) - run: cargo test --release --features "ci" + - name: Run cargo test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --features "ci" env: RUST_LOG: 1 RUST_BACKTRACE: 1 - working-directory: ./header-range lints: name: Formatting & Clippy @@ -99,50 +81,18 @@ jobs: override: true components: rustfmt, clippy - - name: Run cargo fmt (rotate) - run: cargo fmt --all -- --check - env: - CARGO_INCREMENTAL: 1 - working-directory: ./rotate - - - name: Run cargo fmt (script) - run: cargo fmt --all -- --check - env: - CARGO_INCREMENTAL: 1 - working-directory: ./script - - - name: Run cargo fmt (primitives) - run: cargo fmt --all -- --check - env: - CARGO_INCREMENTAL: 1 - working-directory: ./primitives - - - name: Run cargo fmt (header-range) - run: cargo fmt --all -- --check - env: - CARGO_INCREMENTAL: 1 - working-directory: ./header-range - - - name: Run cargo clippy (rotate) - run: cargo clippy --all-features --all-targets -- -D warnings -A incomplete-features - env: - CARGO_INCREMENTAL: 1 - working-directory: ./rotate - - - name: Run cargo clippy (script) - run: cargo clippy --all-features --all-targets -- -D warnings -A incomplete-features - env: - CARGO_INCREMENTAL: 1 - working-directory: ./script - - - name: Run cargo clippy (primitives) - run: cargo clippy --all-features --all-targets -- -D warnings -A incomplete-features + - name: Run cargo fmt + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check env: CARGO_INCREMENTAL: 1 - working-directory: ./primitives - - name: Run cargo clippy (header-range) - run: cargo clippy --all-features --all-targets -- -D warnings -A incomplete-features + - name: Run cargo clippy + uses: actions-rs/cargo@v1 + with: + command: clippy + args: --all-features --all-targets -- -D warnings -A incomplete-features env: CARGO_INCREMENTAL: 1 - working-directory: ./header-range \ No newline at end of file diff --git a/cargo.toml b/cargo.toml new file mode 100644 index 0000000..6a2c1fd --- /dev/null +++ b/cargo.toml @@ -0,0 +1,19 @@ +[workspace] +members = [ + "cli", + "core", + "derive", + "eval", + "helper", + "primitives", + "prover", + "recursion/circuit", + "recursion/compiler", + "recursion/core", + "recursion/gnark-ffi", + "recursion/program", + "sdk", + "zkvm/*", +] +exclude = ["examples/target"] +resolver = "2" From 2b628ca85ada947acb2a5a59c49946ca16a06c1e Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 23:12:43 -0700 Subject: [PATCH 16/25] fr. --- cargo.toml | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/cargo.toml b/cargo.toml index 6a2c1fd..f45cd9b 100644 --- a/cargo.toml +++ b/cargo.toml @@ -1,19 +1,9 @@ [workspace] members = [ - "cli", - "core", - "derive", - "eval", - "helper", + "header-range", "primitives", - "prover", - "recursion/circuit", - "recursion/compiler", - "recursion/core", - "recursion/gnark-ffi", - "recursion/program", - "sdk", - "zkvm/*", + "rotate", + "script", ] exclude = ["examples/target"] resolver = "2" From 44a4f025b623bdf82efb3adc41f5b4d09d836539 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 23:14:29 -0700 Subject: [PATCH 17/25] make letter uppercase..... --- cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/cargo.toml b/cargo.toml index f45cd9b..4cae034 100644 --- a/cargo.toml +++ b/cargo.toml @@ -7,3 +7,4 @@ members = [ ] exclude = ["examples/target"] resolver = "2" + From 946b72aad63d115d10b1c4b3c8bf97e7e415c8b5 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 23:15:00 -0700 Subject: [PATCH 18/25] delete --- cargo.toml | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 cargo.toml diff --git a/cargo.toml b/cargo.toml deleted file mode 100644 index 4cae034..0000000 --- a/cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[workspace] -members = [ - "header-range", - "primitives", - "rotate", - "script", -] -exclude = ["examples/target"] -resolver = "2" - From ff32532e181c8144897135838771ff73bb64b9ae Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 23:15:14 -0700 Subject: [PATCH 19/25] good --- Cargo.toml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Cargo.toml diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..21232c2 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,9 @@ +[workspace] +members = [ + "header-range", + "primitives", + "rotate", + "script", +] +exclude = ["examples/target"] +resolver = "2" \ No newline at end of file From 2d11a786a72d4d2a208b731fb2fa746483f7abc5 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 23:27:53 -0700 Subject: [PATCH 20/25] fr fr this time --- .vscode/settings.json | 5 +- Cargo.lock | 10858 ++++++++++++++++++++++++++++++++++++++ header-range/Cargo.toml | 1 - primitives/Cargo.toml | 1 - rotate/Cargo.toml | 1 - script/Cargo.toml | 1 - 6 files changed, 10859 insertions(+), 8 deletions(-) create mode 100644 Cargo.lock diff --git a/.vscode/settings.json b/.vscode/settings.json index 819a2fb..48f0711 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,10 +18,7 @@ "incomplete-features" ], "rust-analyzer.linkedProjects": [ - "header-range/Cargo.toml", - "primitives/Cargo.toml", - "rotate/Cargo.toml", - "script/Cargo.toml", + "Cargo.toml", ], "rust-analyzer.showUnlinkedFileNotification": false } \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..0a1a5eb --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,10858 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addchain" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2e69442aa5628ea6951fa33e24efe8313f4321a91bd729fc2f75bdfc858570" +dependencies = [ + "num-bigint 0.3.3", + "num-integer", + "num-traits", +] + +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli 0.27.3", +] + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli 0.28.1", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array 0.14.7", +] + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.15", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "getrandom 0.2.15", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "alloy" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-contract", + "alloy-core", + "alloy-eips", + "alloy-genesis", + "alloy-provider", + "alloy-rpc-client", + "alloy-serde", + "alloy-signer", + "alloy-signer-wallet", + "alloy-transport-http", + "reqwest 0.12.4", +] + +[[package]] +name = "alloy-consensus" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-eips", + "alloy-primitives 0.7.4", + "alloy-rlp", + "alloy-serde", + "serde", + "sha2 0.10.8", +] + +[[package]] +name = "alloy-contract" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-network", + "alloy-primitives 0.7.4", + "alloy-provider", + "alloy-rpc-types", + "alloy-sol-types 0.7.4", + "alloy-transport", + "futures", + "futures-util", + "thiserror", +] + +[[package]] +name = "alloy-core" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7253846c7bf55147775fd66c334abc1dd0a41e97e6155577b3dc513c6e66ef2" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives 0.7.4", + "alloy-sol-types 0.7.4", +] + +[[package]] +name = "alloy-dyn-abi" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8425a283510106b1a6ad25dd4bb648ecde7da3fd2baeb9400a85ad62f51ec90b" +dependencies = [ + "alloy-json-abi", + "alloy-primitives 0.7.4", + "alloy-sol-type-parser", + "alloy-sol-types 0.7.4", + "const-hex", + "itoa", + "serde", + "serde_json", + "winnow 0.6.8", +] + +[[package]] +name = "alloy-eips" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives 0.7.4", + "alloy-rlp", + "alloy-serde", + "c-kzg", + "once_cell", + "serde", +] + +[[package]] +name = "alloy-genesis" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives 0.7.4", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-json-abi" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e30946aa6173020259055a44971f5cf40a7d76c931d209caeb51b333263df4f" +dependencies = [ + "alloy-primitives 0.7.4", + "alloy-sol-type-parser", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives 0.7.4", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-network" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-primitives 0.7.4", + "alloy-rpc-types", + "alloy-signer", + "async-trait", + "futures-utils-wasm", + "serde", + "thiserror", +] + +[[package]] +name = "alloy-primitives" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0628ec0ba5b98b3370bb6be17b12f23bfce8ee4ad83823325a20546d9b03b78" +dependencies = [ + "alloy-rlp", + "bytes", + "cfg-if", + "const-hex", + "derive_more", + "hex-literal", + "itoa", + "proptest", + "rand 0.8.5", + "ruint", + "serde", + "tiny-keccak", +] + +[[package]] +name = "alloy-primitives" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db8aa973e647ec336810a9356af8aea787249c9d00b1525359f3db29a68d231b" +dependencies = [ + "alloy-rlp", + "bytes", + "cfg-if", + "const-hex", + "derive_more", + "hex-literal", + "itoa", + "k256", + "keccak-asm", + "proptest", + "rand 0.8.5", + "ruint", + "serde", + "tiny-keccak", +] + +[[package]] +name = "alloy-provider" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "alloy-network", + "alloy-primitives 0.7.4", + "alloy-rpc-client", + "alloy-rpc-types", + "alloy-rpc-types-trace", + "alloy-transport", + "alloy-transport-http", + "async-stream", + "async-trait", + "auto_impl", + "dashmap", + "futures", + "lru", + "reqwest 0.12.4", + "serde_json", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "alloy-rlp" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b155716bab55763c95ba212806cf43d05bcc70e5f35b02bad20cf5ec7fe11fed" +dependencies = [ + "alloy-rlp-derive", + "arrayvec 0.7.4", + "bytes", +] + +[[package]] +name = "alloy-rlp-derive" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8037e03c7f462a063f28daec9fda285a9a89da003c552f8637a80b9c8fd96241" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "alloy-rpc-client" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "alloy-transport-http", + "futures", + "pin-project", + "reqwest 0.12.4", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower", + "tracing", + "url", +] + +[[package]] +name = "alloy-rpc-types" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives 0.7.4", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types 0.7.4", + "itertools 0.12.1", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-rpc-types-trace" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives 0.7.4", + "alloy-rpc-types", + "alloy-serde", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-serde" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives 0.7.4", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-primitives 0.7.4", + "async-trait", + "auto_impl", + "elliptic-curve", + "k256", + "thiserror", +] + +[[package]] +name = "alloy-signer-wallet" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-consensus", + "alloy-network", + "alloy-primitives 0.7.4", + "alloy-signer", + "async-trait", + "k256", + "rand 0.8.5", + "thiserror", +] + +[[package]] +name = "alloy-sol-macro" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a98ad1696a2e17f010ae8e43e9f2a1e930ed176a8e3ff77acfeff6dfb07b42c" +dependencies = [ + "const-hex", + "dunce", + "heck 0.4.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.65", + "syn-solidity 0.4.2", + "tiny-keccak", +] + +[[package]] +name = "alloy-sol-macro" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dbd17d67f3e89478c8a634416358e539e577899666c927bc3d2b1328ee9b6ca" +dependencies = [ + "alloy-sol-macro-expander", + "alloy-sol-macro-input", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "alloy-sol-macro-expander" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6da95adcf4760bb4b108fefa51d50096c5e5fdd29ee72fed3e86ee414f2e34" +dependencies = [ + "alloy-json-abi", + "alloy-sol-macro-input", + "const-hex", + "heck 0.4.1", + "indexmap 2.2.6", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.65", + "syn-solidity 0.7.4", + "tiny-keccak", +] + +[[package]] +name = "alloy-sol-macro-input" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32c8da04c1343871fb6ce5a489218f9c85323c8340a36e9106b5fc98d4dd59d5" +dependencies = [ + "alloy-json-abi", + "const-hex", + "dunce", + "heck 0.5.0", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.65", + "syn-solidity 0.7.4", +] + +[[package]] +name = "alloy-sol-type-parser" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368cae4dc052cad1d8f72eb2ae0c38027116933eeb49213c200a9e9875f208d7" +dependencies = [ + "winnow 0.6.8", +] + +[[package]] +name = "alloy-sol-types" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98d7107bed88e8f09f0ddcc3335622d87bfb6821f3e0c7473329fb1cfad5e015" +dependencies = [ + "alloy-primitives 0.4.2", + "alloy-sol-macro 0.4.2", + "const-hex", + "serde", +] + +[[package]] +name = "alloy-sol-types" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40a64d2d2395c1ac636b62419a7b17ec39031d6b2367e66e9acbf566e6055e9c" +dependencies = [ + "alloy-json-abi", + "alloy-primitives 0.7.4", + "alloy-sol-macro 0.7.4", + "const-hex", + "serde", +] + +[[package]] +name = "alloy-transport" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "base64 0.22.1", + "futures-util", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower", + "url", + "wasm-bindgen-futures", +] + +[[package]] +name = "alloy-transport-http" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=bfd0fda#bfd0fda492e560c3463d521958793c81bbeadfc1" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "reqwest 0.12.4", + "serde_json", + "tower", + "url", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] + +[[package]] +name = "anstream" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "anstyle-parse" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + +[[package]] +name = "aquamarine" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" +dependencies = [ + "include_dir", + "itertools 0.10.5", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "ark-bls12-377" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bls12-377-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20c7021f180a0cbea0380eba97c2af3c57074cdaffe0eef7e840e1c9f2841e55" +dependencies = [ + "ark-bls12-377", + "ark-ec", + "ark-models-ext", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bls12-381" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bls12-381-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1dc4b3d08f19e8ec06e949712f95b8361e43f1391d94f65e4234df03480631c" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ff 0.4.2", + "ark-models-ext", + "ark-serialize 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bw6-761" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e0605daf0cc5aa2034b78d008aaf159f56901d92a52ee4f6ecdfdac4f426700" +dependencies = [ + "ark-bls12-377", + "ark-ec", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bw6-761-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccee5fba47266f460067588ee1bf070a9c760bf2050c1c509982c5719aadb4f2" +dependencies = [ + "ark-bw6-761", + "ark-ec", + "ark-ff 0.4.2", + "ark-models-ext", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-ec" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +dependencies = [ + "ark-ff 0.4.2", + "ark-poly", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "hashbrown 0.13.2", + "itertools 0.10.5", + "num-traits", + "rayon", + "zeroize", +] + +[[package]] +name = "ark-ed-on-bls12-377" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b10d901b9ac4b38f9c32beacedfadcdd64e46f8d7f8e88c1ae1060022cf6f6c6" +dependencies = [ + "ark-bls12-377", + "ark-ec", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-ed-on-bls12-377-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524a4fb7540df2e1a8c2e67a83ba1d1e6c3947f4f9342cc2359fc2e789ad731d" +dependencies = [ + "ark-ec", + "ark-ed-on-bls12-377", + "ark-ff 0.4.2", + "ark-models-ext", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-ed-on-bls12-381-bandersnatch" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-ed-on-bls12-381-bandersnatch-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d15185f1acb49a07ff8cbe5f11a1adc5a93b19e211e325d826ae98e98e124346" +dependencies = [ + "ark-ec", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ff 0.4.2", + "ark-models-ext", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint 0.4.5", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint 0.4.5", + "num-traits", + "paste", + "rustc_version 0.4.0", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint 0.4.5", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint 0.4.5", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-models-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e9eab5d4b5ff2f228b763d38442adc9b084b0a465409b059fac5c2308835ec2" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", +] + +[[package]] +name = "ark-poly" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +dependencies = [ + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "hashbrown 0.13.2", +] + +[[package]] +name = "ark-scale" +version = "0.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f69c00b3b529be29528a6f2fd5fa7b1790f8bed81b9cdca17e326538545a179" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "ark-secret-scalar" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "ark-transcript", + "digest 0.10.7", + "getrandom_or_panic", + "zeroize", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std 0.3.0", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-serialize-derive", + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint 0.4.5", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand 0.8.5", + "rayon", +] + +[[package]] +name = "ark-transcript" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "digest 0.10.7", + "rand_core 0.6.4", + "sha3", +] + +[[package]] +name = "array-bytes" +version = "6.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" + +[[package]] +name = "array-init" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23589ecb866b460d3a0f1278834750268c607e8e28a1b982c907219f3178cd72" +dependencies = [ + "nodrop", +] + +[[package]] +name = "array-macro" +version = "2.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "220a2c618ab466efe41d0eace94dfeff1c35e3aa47891bdb95e1c0fefffd3c99" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" +dependencies = [ + "nodrop", +] + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "ascii-canvas" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +dependencies = [ + "term", +] + +[[package]] +name = "async-channel" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +dependencies = [ + "concurrent-queue", + "event-listener-strategy 0.5.2", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "slab", +] + +[[package]] +name = "async-fs" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" +dependencies = [ + "async-lock", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-io" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +dependencies = [ + "async-lock", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix 0.38.34", + "slab", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-lock" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +dependencies = [ + "event-listener 4.0.3", + "event-listener-strategy 0.4.0", + "pin-project-lite", +] + +[[package]] +name = "async-net" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" +dependencies = [ + "async-io", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-process" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a53fc6301894e04a92cb2584fedde80cb25ba8e02d9dc39d4a87d036e22f397d" +dependencies = [ + "async-channel", + "async-io", + "async-lock", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener 5.3.0", + "futures-lite", + "rustix 0.38.34", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-signal" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afe66191c335039c7bb78f99dc7520b0cbb166b3a1cb33a03f53d8a1c6f2afda" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 0.38.34", + "signal-hook-registry", + "slab", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "async-trait" +version = "0.1.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "async_io_stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +dependencies = [ + "futures", + "pharos", + "rustc_version 0.4.0", +] + +[[package]] +name = "atomic-take" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8ab6b55fe97976e46f91ddbed8d147d966475dc29b2032757ba47e02376fbc3" + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + +[[package]] +name = "auto_impl" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "avail-base" +version = "0.1.0" +source = "git+https://github.com/availproject/avail.git?tag=v2.2.2.0-rc1#9d88dbf7b4f1ab151f81517461afff425455f3f9" +dependencies = [ + "avail-core", + "binary-merkle-tree", + "derive_more", + "frame-support", + "itertools 0.10.5", + "log", + "once_cell", + "parity-scale-codec", + "sp-api", + "sp-core", + "sp-io", + "sp-runtime", + "sp-runtime-interface 24.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "substrate-prometheus-endpoint", +] + +[[package]] +name = "avail-core" +version = "0.6.0" +source = "git+https://github.com/availproject/avail-core?tag=node-v2220-rc1#993fae80dd201b2c0389dec3e13983ad66671771" +dependencies = [ + "binary-merkle-tree", + "bounded-collections", + "derive_more", + "ethabi-decode", + "frame-support", + "hash256-std-hasher", + "hex", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-runtime-interface 24.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-trie", + "static_assertions", + "thiserror-no-std", + "tiny-keccak", +] + +[[package]] +name = "avail-subxt" +version = "0.5.0" +source = "git+https://github.com/availproject/avail.git?tag=v2.2.2.0-rc1#9d88dbf7b4f1ab151f81517461afff425455f3f9" +dependencies = [ + "anyhow", + "avail-base", + "avail-core", + "bounded-collections", + "curve25519-dalek 2.1.3", + "derive_more", + "futures", + "hex", + "jsonrpsee", + "num_enum 0.5.11", + "parity-scale-codec", + "scale-info", + "schnorrkel 0.9.1", + "serde", + "serde-hex", + "serde_json", + "sp-core", + "sp-runtime", + "structopt", + "subxt", + "tokio", + "tokio-util", +] + +[[package]] +name = "axum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "tokio", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "backtrace" +version = "0.3.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +dependencies = [ + "addr2line 0.21.0", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object 0.32.2", + "rustc-demangle", + "serde", +] + +[[package]] +name = "bandersnatch_vrfs" +version = "0.0.4" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "dleq_vrf", + "fflonk", + "merlin 3.0.0", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "ring 0.1.0", + "sha2 0.10.8", + "sp-ark-bls12-381", + "sp-ark-ed-on-bls12-381-bandersnatch", + "zeroize", +] + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base58" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bech32" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" + +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +dependencies = [ + "serde", +] + +[[package]] +name = "binary-merkle-tree" +version = "13.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "hash-db", + "log", +] + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bindgen" +version = "0.69.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +dependencies = [ + "bitflags 2.5.0", + "cexpr", + "clang-sys", + "itertools 0.12.1", + "lazy_static", + "lazycell", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.65", + "which", +] + +[[package]] +name = "bip39" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" +dependencies = [ + "bitcoin_hashes", + "rand 0.8.5", + "rand_core 0.6.4", + "serde", + "unicode-normalization", +] + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitcoin_hashes" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "blake2-rfc" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" +dependencies = [ + "arrayvec 0.4.12", + "constant_time_eq 0.1.5", +] + +[[package]] +name = "blake2b_simd" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" +dependencies = [ + "arrayref", + "arrayvec 0.7.4", + "constant_time_eq 0.3.0", +] + +[[package]] +name = "blake3" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +dependencies = [ + "arrayref", + "arrayvec 0.7.4", + "cc", + "cfg-if", + "constant_time_eq 0.3.0", + "rayon", +] + +[[package]] +name = "blake3-zkvm" +version = "0.1.0" +source = "git+https://github.com/sp1-patches/BLAKE3.git?branch=patch-blake3_zkvm/v.1.0.0#bac2d59f9122b07a4d91475560b4c3214ae62444" + +[[package]] +name = "block-buffer" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" +dependencies = [ + "block-padding", + "byte-tools", + "byteorder", + "generic-array 0.12.4", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "block-padding" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" +dependencies = [ + "byte-tools", +] + +[[package]] +name = "blocking" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "495f7104e962b7356f0aeb34247aca1fe7d2e783b346582db7f2904cb5717e88" +dependencies = [ + "async-channel", + "async-lock", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + +[[package]] +name = "bls12_381" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3c196a77437e7cc2fb515ce413a6401291578b5afc8ecb29a3c7ab957f05941" +dependencies = [ + "ff 0.12.1", + "group 0.12.1", + "pairing", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "blst" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c94087b935a822949d3291a9989ad2b2051ea141eda0fd4e478a75f6aa3e604b" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "bounded-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d32385ecb91a31bddaf908e8dcf4a15aef1bcd3913cc03ebfad02ff6d568abc1" +dependencies = [ + "log", + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "sha2 0.10.8", + "tinyvec", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byte-tools" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +dependencies = [ + "serde", +] + +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "c-kzg" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdf100c4cea8f207e883ff91ca886d621d8a166cb04971dfaa9bb8fd99ed95df" +dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "serde", +] + +[[package]] +name = "camino" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.23", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "cc" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" +dependencies = [ + "jobserver", + "libc", + "once_cell", +] + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec 1.13.2", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chacha20" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "serde", + "windows-targets 0.52.5", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "clang-sys" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +dependencies = [ + "glob", + "libc", + "libloading", +] + +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags 1.3.2", + "strsim 0.8.0", + "textwrap", + "unicode-width", + "vec_map", +] + +[[package]] +name = "clap" +version = "4.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim 0.11.1", +] + +[[package]] +name = "clap_derive" +version = "4.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "clap_lex" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" + +[[package]] +name = "coins-bip32" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" +dependencies = [ + "bs58", + "coins-core", + "digest 0.10.7", + "hmac 0.12.1", + "k256", + "serde", + "sha2 0.10.8", + "thiserror", +] + +[[package]] +name = "coins-bip39" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" +dependencies = [ + "bitvec", + "coins-bip32", + "hmac 0.12.1", + "once_cell", + "pbkdf2 0.12.2", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror", +] + +[[package]] +name = "coins-core" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" +dependencies = [ + "base64 0.21.7", + "bech32", + "bs58", + "digest 0.10.7", + "generic-array 0.14.7", + "hex", + "ripemd", + "serde", + "serde_derive", + "sha2 0.10.8", + "sha3", + "thiserror", +] + +[[package]] +name = "colorchoice" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "common" +version = "0.1.0" +source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-poly", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "fflonk", + "getrandom_or_panic", + "merlin 3.0.0", + "rand_chacha 0.3.1", +] + +[[package]] +name = "common-path" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.52.0", +] + +[[package]] +name = "const-hex" +version = "1.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ff96486ccc291d36a958107caf2c0af8c78c0af7d31ae2f35ce055130de1a6" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom 0.2.15", + "once_cell", + "tiny-keccak", +] + +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "constant_time_eq" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "cpp_demangle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "cranelift-entity" +version = "0.95.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0" +dependencies = [ + "serde", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array 0.14.7", + "rand_core 0.6.4", + "typenum", +] + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array 0.14.7", + "subtle", +] + +[[package]] +name = "crypto-mac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e" +dependencies = [ + "generic-array 0.14.7", + "subtle", +] + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + +[[package]] +name = "curve25519-dalek" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216" +dependencies = [ + "byteorder", + "digest 0.8.1", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "platforms", + "rustc_version 0.4.0", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "curve25519-dalek-ng" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.6.4", + "subtle-ng", + "zeroize", +] + +[[package]] +name = "darling" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" +dependencies = [ + "darling_core 0.14.4", + "darling_macro 0.14.4", +] + +[[package]] +name = "darling" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +dependencies = [ + "darling_core 0.20.9", + "darling_macro 0.20.9", +] + +[[package]] +name = "darling_core" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 1.0.109", +] + +[[package]] +name = "darling_core" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.11.1", + "syn 2.0.65", +] + +[[package]] +name = "darling_macro" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" +dependencies = [ + "darling_core 0.14.4", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +dependencies = [ + "darling_core 0.20.9", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "data-encoding" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive-syn-parse" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version 0.4.0", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +dependencies = [ + "generic-array 0.12.4", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dleq_vrf" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-scale", + "ark-secret-scalar", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "ark-transcript", + "arrayvec 0.7.4", + "zeroize", +] + +[[package]] +name = "docify" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a2f138ad521dc4a2ced1a4576148a6a610b4c5923933b062a263130a6802ce" +dependencies = [ + "docify_macros", +] + +[[package]] +name = "docify_macros" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a081e51fb188742f5a7a1164ad752121abcb22874b21e2c3b0dd040c515fdad" +dependencies = [ + "common-path", + "derive-syn-parse 0.2.0", + "once_cell", + "proc-macro2", + "quote", + "regex", + "syn 2.0.65", + "termcolor", + "toml", + "walkdir", +] + +[[package]] +name = "dotenv" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "dunce" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" + +[[package]] +name = "dyn-clonable" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" +dependencies = [ + "dyn-clonable-impl", + "dyn-clone", +] + +[[package]] +name = "dyn-clonable-impl" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "dyn-clone" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8", + "signature", +] + +[[package]] +name = "ed25519-consensus" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" +dependencies = [ + "curve25519-dalek-ng", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "ed25519-dalek" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +dependencies = [ + "curve25519-dalek 4.1.2", + "ed25519", + "serde", + "sha2 0.10.8", + "subtle", + "zeroize", +] + +[[package]] +name = "ed25519-zebra" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +dependencies = [ + "curve25519-dalek 3.2.0", + "hashbrown 0.12.3", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "ed25519-zebra" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" +dependencies = [ + "curve25519-dalek 4.1.2", + "ed25519", + "hashbrown 0.14.5", + "hex", + "rand_core 0.6.4", + "sha2 0.10.8", + "zeroize", +] + +[[package]] +name = "either" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" + +[[package]] +name = "elf" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4445909572dbd556c457c849c4ca58623d84b27c8fff1e74b0b4227d8b90d17b" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff 0.13.0", + "generic-array 0.14.7", + "group 0.13.0", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "tap", + "zeroize", +] + +[[package]] +name = "ena" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" +dependencies = [ + "log", +] + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enr" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" +dependencies = [ + "base64 0.21.7", + "bytes", + "hex", + "k256", + "log", + "rand 0.8.5", + "rlp", + "serde", + "sha3", + "zeroize", +] + +[[package]] +name = "env_logger" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +dependencies = [ + "log", +] + +[[package]] +name = "environmental" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "eth-keystore" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" +dependencies = [ + "aes", + "ctr", + "digest 0.10.7", + "hex", + "hmac 0.12.1", + "pbkdf2 0.11.0", + "rand 0.8.5", + "scrypt", + "serde", + "serde_json", + "sha2 0.10.8", + "sha3", + "thiserror", + "uuid", +] + +[[package]] +name = "ethabi" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" +dependencies = [ + "ethereum-types", + "hex", + "once_cell", + "regex", + "serde", + "serde_json", + "sha3", + "thiserror", + "uint", +] + +[[package]] +name = "ethabi-decode" +version = "1.0.0" +source = "git+https://github.com/Snowfork/ethabi-decode.git?branch=master#5c01c8a0f2d0e4eccf600507cd573b27555b1d9d" +dependencies = [ + "ethereum-types", + "tiny-keccak", +] + +[[package]] +name = "ethbloom" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "tiny-keccak", +] + +[[package]] +name = "ethereum-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "primitive-types", + "scale-info", + "uint", +] + +[[package]] +name = "ethers" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "816841ea989f0c69e459af1cf23a6b0033b19a55424a1ea3a30099becdb8dec0" +dependencies = [ + "ethers-addressbook", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-middleware", + "ethers-providers", + "ethers-signers", + "ethers-solc", +] + +[[package]] +name = "ethers-addressbook" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5495afd16b4faa556c3bba1f21b98b4983e53c1755022377051a975c3b021759" +dependencies = [ + "ethers-core", + "once_cell", + "serde", + "serde_json", +] + +[[package]] +name = "ethers-contract" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fceafa3578c836eeb874af87abacfb041f92b4da0a78a5edd042564b8ecdaaa" +dependencies = [ + "const-hex", + "ethers-contract-abigen", + "ethers-contract-derive", + "ethers-core", + "ethers-providers", + "futures-util", + "once_cell", + "pin-project", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "ethers-contract-abigen" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04ba01fbc2331a38c429eb95d4a570166781f14290ef9fdb144278a90b5a739b" +dependencies = [ + "Inflector", + "const-hex", + "dunce", + "ethers-core", + "ethers-etherscan", + "eyre", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "reqwest 0.11.27", + "serde", + "serde_json", + "syn 2.0.65", + "toml", + "walkdir", +] + +[[package]] +name = "ethers-contract-derive" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87689dcabc0051cde10caaade298f9e9093d65f6125c14575db3fd8c669a168f" +dependencies = [ + "Inflector", + "const-hex", + "ethers-contract-abigen", + "ethers-core", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.65", +] + +[[package]] +name = "ethers-core" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" +dependencies = [ + "arrayvec 0.7.4", + "bytes", + "cargo_metadata", + "chrono", + "const-hex", + "elliptic-curve", + "ethabi", + "generic-array 0.14.7", + "k256", + "num_enum 0.7.2", + "once_cell", + "open-fastrlp", + "rand 0.8.5", + "rlp", + "serde", + "serde_json", + "strum", + "syn 2.0.65", + "tempfile", + "thiserror", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "ethers-etherscan" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79e5973c26d4baf0ce55520bd732314328cabe53193286671b47144145b9649" +dependencies = [ + "chrono", + "ethers-core", + "reqwest 0.11.27", + "semver 1.0.23", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "ethers-middleware" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48f9fdf09aec667c099909d91908d5eaf9be1bd0e2500ba4172c1d28bfaa43de" +dependencies = [ + "async-trait", + "auto_impl", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-providers", + "ethers-signers", + "futures-channel", + "futures-locks", + "futures-util", + "instant", + "reqwest 0.11.27", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", + "url", +] + +[[package]] +name = "ethers-providers" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6434c9a33891f1effc9c75472e12666db2fa5a0fec4b29af6221680a6fe83ab2" +dependencies = [ + "async-trait", + "auto_impl", + "base64 0.21.7", + "bytes", + "const-hex", + "enr", + "ethers-core", + "futures-core", + "futures-timer", + "futures-util", + "hashers", + "http 0.2.12", + "instant", + "jsonwebtoken", + "once_cell", + "pin-project", + "reqwest 0.11.27", + "serde", + "serde_json", + "thiserror", + "tokio", + "tokio-tungstenite", + "tracing", + "tracing-futures", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "ws_stream_wasm", +] + +[[package]] +name = "ethers-signers" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "228875491c782ad851773b652dd8ecac62cda8571d3bc32a5853644dd26766c2" +dependencies = [ + "async-trait", + "coins-bip32", + "coins-bip39", + "const-hex", + "elliptic-curve", + "eth-keystore", + "ethers-core", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror", + "tracing", +] + +[[package]] +name = "ethers-solc" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66244a771d9163282646dbeffe0e6eca4dda4146b6498644e678ac6089b11edd" +dependencies = [ + "cfg-if", + "const-hex", + "dirs", + "dunce", + "ethers-core", + "glob", + "home", + "md-5", + "num_cpus", + "once_cell", + "path-slash", + "rayon", + "regex", + "semver 1.0.23", + "serde", + "serde_json", + "solang-parser", + "svm-rs", + "thiserror", + "tiny-keccak", + "tokio", + "tracing", + "walkdir", + "yansi", +] + +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +dependencies = [ + "event-listener 4.0.3", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +dependencies = [ + "event-listener 5.3.0", + "pin-project-lite", +] + +[[package]] +name = "expander" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00e83c02035136f1592a47964ea60c05a50e4ed8b5892cfac197063850898d4d" +dependencies = [ + "blake2", + "fs-err", + "prettier-please", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "eyre" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +dependencies = [ + "indenter", + "once_cell", +] + +[[package]] +name = "fake-simd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + +[[package]] +name = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec 0.7.4", + "auto_impl", + "bytes", +] + +[[package]] +name = "ff" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" +dependencies = [ + "bitvec", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "bitvec", + "byteorder", + "ff_derive", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "ff_ce" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d3a682c12d0cc98a32ab7540401a5ea1ed21d11571eea11d5829cd721f85ff0" +dependencies = [ + "byteorder", + "ff_derive_ce", + "hex", + "rand 0.4.6", +] + +[[package]] +name = "ff_derive" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9f54704be45ed286151c5e11531316eaef5b8f5af7d597b806fdb8af108d84a" +dependencies = [ + "addchain", + "cfg-if", + "num-bigint 0.3.3", + "num-integer", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ff_derive_ce" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c052fa6d4c2f12305ec364bfb8ef884836f3f61ea015b202372ff996d1ac4b" +dependencies = [ + "num-bigint 0.2.6", + "num-integer", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "fflonk" +version = "0.1.0" +source = "git+https://github.com/w3f/fflonk#1e854f35e9a65d08b11a86291405cdc95baa0a35" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-poly", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "merlin 3.0.0", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "frame-metadata" +version = "15.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "878babb0b136e731cc77ec2fd883ff02745ff21e6fb662729953d44923df009c" +dependencies = [ + "cfg-if", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "frame-metadata" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cf1549fba25a6fcac22785b61698317d958e96cac72a59102ea45b9ae64692" +dependencies = [ + "cfg-if", + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "frame-support" +version = "28.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "aquamarine", + "array-bytes", + "bitflags 1.3.2", + "docify", + "environmental", + "frame-metadata 16.0.0", + "frame-support-procedural", + "impl-trait-for-tuples", + "k256", + "log", + "macro_magic", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "serde_json", + "smallvec 1.13.2", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-crypto-hashing-proc-macro", + "sp-debug-derive 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-metadata-ir", + "sp-runtime", + "sp-staking", + "sp-state-machine", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-tracing 16.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-weights", + "static_assertions", + "tt-call", +] + +[[package]] +name = "frame-support-procedural" +version = "23.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "Inflector", + "cfg-expr", + "derive-syn-parse 0.1.5", + "expander", + "frame-support-procedural-tools", + "itertools 0.10.5", + "macro_magic", + "proc-macro-warning", + "proc-macro2", + "quote", + "sp-crypto-hashing", + "syn 2.0.65", +] + +[[package]] +name = "frame-support-procedural-tools" +version = "10.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "frame-support-procedural-tools-derive", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "frame-support-procedural-tools-derive" +version = "11.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "fs-err" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +dependencies = [ + "autocfg", +] + +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", + "num_cpus", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-lite" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-locks" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" +dependencies = [ + "futures-channel", + "futures-task", +] + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-timer" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" +dependencies = [ + "gloo-timers", + "send_wrapper 0.4.0", +] + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "futures-utils-wasm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "gcc" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" + +[[package]] +name = "gcd" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" + +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "generic-array" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe739944a5406424e080edccb6add95685130b9f160d5407c639c7df0c5836b0" +dependencies = [ + "serde", + "typenum", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom_or_panic" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" +dependencies = [ + "rand 0.8.5", + "rand_core 0.6.4", +] + +[[package]] +name = "gimli" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +dependencies = [ + "fallible-iterator", + "indexmap 1.9.3", + "stable_deref_trait", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "git2" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" +dependencies = [ + "bitflags 2.5.0", + "libc", + "libgit2-sys", + "log", + "url", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "gloo-net" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43aaa242d1239a8822c15c645f02166398da4f8b5c4bae795c1f5b44e9eee173" +dependencies = [ + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils", + "http 0.2.12", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "gloo-utils" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" +dependencies = [ + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "group" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" +dependencies = [ + "ff 0.12.1", + "memuse", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff 0.13.0", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "halo2" +version = "0.1.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a23c779b38253fe1538102da44ad5bd5378495a61d2c4ee18d64eaa61ae5995" +dependencies = [ + "halo2_proofs", +] + +[[package]] +name = "halo2_proofs" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e925780549adee8364c7f2b685c753f6f3df23bde520c67416e93bf615933760" +dependencies = [ + "blake2b_simd", + "ff 0.12.1", + "group 0.12.1", + "pasta_curves 0.4.1", + "rand_core 0.6.4", + "rayon", +] + +[[package]] +name = "hash-db" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e7d7786361d7425ae2fe4f9e407eb0efaa0840f5212d109cc018c40c35c6ab4" + +[[package]] +name = "hash256-std-hasher" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2" +dependencies = [ + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.11", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash 0.8.11", + "allocator-api2", + "serde", +] + +[[package]] +name = "hashers" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" +dependencies = [ + "fxhash", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac 0.8.0", + "digest 0.9.0", +] + +[[package]] +name = "hmac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +dependencies = [ + "crypto-mac 0.11.0", + "digest 0.9.0", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "hmac-drbg" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" +dependencies = [ + "digest 0.9.0", + "generic-array 0.14.7", + "hmac 0.8.1", +] + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +dependencies = [ + "bytes", + "futures-core", + "http 1.1.0", + "http-body 1.0.0", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.5", + "http 1.1.0", + "http-body 1.0.0", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec 1.13.2", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +dependencies = [ + "futures-util", + "http 0.2.12", + "hyper 0.14.28", + "log", + "rustls 0.21.12", + "rustls-native-certs 0.6.3", + "tokio", + "tokio-rustls 0.24.1", +] + +[[package]] +name = "hyper-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.3.1", + "hyper-util", + "rustls 0.22.4", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.25.0", + "tower-service", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper 0.14.28", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.3.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.3.1", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "include_dir" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" +dependencies = [ + "include_dir_macros", +] + +[[package]] +name = "include_dir_macros" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "indexmap-nostd" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" + +[[package]] +name = "indicatif" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +dependencies = [ + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "jobserver" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonrpsee" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9579d0ca9fb30da026bac2f0f7d9576ec93489aeb7cd4971dd5b4617d82c79b2" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-http-client", + "jsonrpsee-proc-macros", + "jsonrpsee-types", + "jsonrpsee-wasm-client", + "jsonrpsee-ws-client", + "tracing", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9f9ed46590a8d5681975f126e22531698211b926129a40a2db47cbca429220" +dependencies = [ + "futures-channel", + "futures-util", + "gloo-net", + "http 0.2.12", + "jsonrpsee-core", + "pin-project", + "rustls-native-certs 0.7.0", + "rustls-pki-types", + "soketto", + "thiserror", + "tokio", + "tokio-rustls 0.25.0", + "tokio-util", + "tracing", + "url", + "webpki-roots 0.26.1", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "776d009e2f591b78c038e0d053a796f94575d66ca4e77dd84bfc5e81419e436c" +dependencies = [ + "anyhow", + "async-lock", + "async-trait", + "beef", + "futures-timer", + "futures-util", + "hyper 0.14.28", + "jsonrpsee-types", + "pin-project", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tokio-stream", + "tracing", + "wasm-bindgen-futures", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b7de9f3219d95985eb77fd03194d7c1b56c19bce1abfcc9d07462574b15572" +dependencies = [ + "async-trait", + "hyper 0.14.28", + "hyper-rustls 0.24.2", + "jsonrpsee-core", + "jsonrpsee-types", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-proc-macros" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d94b7505034e2737e688e1153bf81e6f93ad296695c43958d6da2e4321f0a990" +dependencies = [ + "heck 0.4.1", + "proc-macro-crate 2.0.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3266dfb045c9174b24c77c2dfe0084914bb23a6b2597d70c9dc6018392e1cd1b" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "jsonrpsee-wasm-client" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30f36d27503d0efc0355c1630b74ecfb367050847bf7241a0ed75fab6dfa96c0" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", +] + +[[package]] +name = "jsonrpsee-ws-client" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "073c077471e89c4b511fa88b3df9a0f0abdf4a0a2e6683dd2ab36893af87bb2d" +dependencies = [ + "http 0.2.12", + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", + "url", +] + +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.7", + "pem", + "ring 0.16.20", + "serde", + "serde_json", + "simple_asn1", +] + +[[package]] +name = "jubjub" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a575df5f985fe1cd5b2b05664ff6accfc46559032b954529fd225a2168d27b0f" +dependencies = [ + "bitvec", + "bls12_381", + "ff 0.12.1", + "group 0.12.1", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "k256" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2 0.10.8", + "signature", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "keccak-asm" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47a3633291834c4fbebf8673acbc1b04ec9d151418ff9b8e26dcd79129928758" +dependencies = [ + "digest 0.10.7", + "sha3-asm", +] + +[[package]] +name = "lalrpop" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" +dependencies = [ + "ascii-canvas", + "bit-set", + "ena", + "itertools 0.11.0", + "lalrpop-util", + "petgraph", + "regex", + "regex-syntax 0.8.3", + "string_cache", + "term", + "tiny-keccak", + "unicode-xid", + "walkdir", +] + +[[package]] +name = "lalrpop-util" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" +dependencies = [ + "regex-automata 0.4.6", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin 0.5.2", +] + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "libgit2-sys" +version = "0.16.2+1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" +dependencies = [ + "cc", + "libc", + "libz-sys", + "pkg-config", +] + +[[package]] +name = "libloading" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +dependencies = [ + "cfg-if", + "windows-targets 0.52.5", +] + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.5.0", + "libc", +] + +[[package]] +name = "libsecp256k1" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" +dependencies = [ + "arrayref", + "base64 0.13.1", + "digest 0.9.0", + "hmac-drbg", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand 0.8.5", + "serde", + "sha2 0.9.9", + "typenum", +] + +[[package]] +name = "libsecp256k1-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" +dependencies = [ + "crunchy", + "digest 0.9.0", + "subtle", +] + +[[package]] +name = "libsecp256k1-gen-ecmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsecp256k1-gen-genmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libz-sys" +version = "1.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +dependencies = [ + "serde", +] + +[[package]] +name = "lru" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + +[[package]] +name = "macro_magic" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e03844fc635e92f3a0067e25fa4bf3e3dbf3f2927bf3aa01bb7bc8f1c428949d" +dependencies = [ + "macro_magic_core", + "macro_magic_macros", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "macro_magic_core" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "468155613a44cfd825f1fb0ffa532b018253920d404e6fca1e8d43155198a46d" +dependencies = [ + "const-random", + "derive-syn-parse 0.1.5", + "macro_magic_core_macros", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "macro_magic_core_macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "macro_magic_macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" +dependencies = [ + "macro_magic_core", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "matchers" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest 0.10.7", +] + +[[package]] +name = "memchr" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" + +[[package]] +name = "memfd" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" +dependencies = [ + "rustix 0.38.34", +] + +[[package]] +name = "memoffset" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memory-db" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" +dependencies = [ + "hash-db", +] + +[[package]] +name = "memuse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" + +[[package]] +name = "merlin" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.5.1", + "zeroize", +] + +[[package]] +name = "merlin" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.6.4", + "zeroize", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "no-std-net" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint 0.4.5", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +dependencies = [ + "num-integer", + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-format" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" +dependencies = [ + "arrayvec 0.7.4", + "itoa", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint 0.4.5", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi 0.3.9", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive 0.5.11", +] + +[[package]] +name = "num_enum" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +dependencies = [ + "num_enum_derive 0.7.2", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[package]] +name = "object" +version = "0.30.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" +dependencies = [ + "crc32fast", + "hashbrown 0.13.2", + "indexmap 1.9.3", + "memchr", +] + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "open-fastrlp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" +dependencies = [ + "arrayvec 0.7.4", + "auto_impl", + "bytes", + "ethereum-types", + "open-fastrlp-derive", +] + +[[package]] +name = "open-fastrlp-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +dependencies = [ + "bytes", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.5.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "p3-air" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "p3-field", + "p3-matrix", +] + +[[package]] +name = "p3-baby-bear" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "num-bigint 0.4.5", + "p3-field", + "p3-mds", + "p3-poseidon2", + "p3-symmetric", + "rand 0.8.5", + "serde", +] + +[[package]] +name = "p3-blake3" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "blake3", + "p3-symmetric", +] + +[[package]] +name = "p3-bn254-fr" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "ff 0.13.0", + "num-bigint 0.4.5", + "p3-field", + "p3-poseidon2", + "p3-symmetric", + "rand 0.8.5", + "serde", +] + +[[package]] +name = "p3-challenger" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "p3-field", + "p3-maybe-rayon", + "p3-symmetric", + "p3-util", + "tracing", +] + +[[package]] +name = "p3-commit" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "itertools 0.12.1", + "p3-challenger", + "p3-field", + "p3-matrix", + "p3-util", + "serde", +] + +[[package]] +name = "p3-dft" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "tracing", +] + +[[package]] +name = "p3-field" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "itertools 0.12.1", + "num-bigint 0.4.5", + "num-traits", + "p3-util", + "rand 0.8.5", + "serde", +] + +[[package]] +name = "p3-fri" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "itertools 0.12.1", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-interpolation", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "serde", + "tracing", +] + +[[package]] +name = "p3-interpolation" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "p3-field", + "p3-matrix", + "p3-util", +] + +[[package]] +name = "p3-keccak" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "p3-symmetric", + "tiny-keccak", +] + +[[package]] +name = "p3-keccak-air" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "p3-air", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "tracing", +] + +[[package]] +name = "p3-matrix" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "itertools 0.12.1", + "p3-field", + "p3-maybe-rayon", + "p3-util", + "rand 0.8.5", + "serde", + "tracing", +] + +[[package]] +name = "p3-maybe-rayon" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "rayon", +] + +[[package]] +name = "p3-mds" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "itertools 0.12.1", + "p3-dft", + "p3-field", + "p3-matrix", + "p3-symmetric", + "p3-util", + "rand 0.8.5", +] + +[[package]] +name = "p3-merkle-tree" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "itertools 0.12.1", + "p3-commit", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-symmetric", + "p3-util", + "serde", + "tracing", +] + +[[package]] +name = "p3-poseidon2" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "gcd", + "p3-field", + "p3-mds", + "p3-symmetric", + "rand 0.8.5", +] + +[[package]] +name = "p3-symmetric" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "itertools 0.12.1", + "p3-field", + "serde", +] + +[[package]] +name = "p3-uni-stark" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "itertools 0.12.1", + "p3-air", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "serde", + "tracing", +] + +[[package]] +name = "p3-util" +version = "0.1.0" +source = "git+https://github.com/Plonky3/Plonky3.git?branch=sp1#da0489b75025ec17f1100952694d8b7879c2b43e" +dependencies = [ + "serde", +] + +[[package]] +name = "pairing" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135590d8bdba2b31346f9cd1fb2a912329f5135e832a4f422942eb6ead8b6b3b" +dependencies = [ + "group 0.12.1", +] + +[[package]] +name = "parity-scale-codec" +version = "3.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +dependencies = [ + "arrayvec 0.7.4", + "bitvec", + "byte-slice-cast", + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parity-wasm" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" + +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + +[[package]] +name = "parking_lot" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec 1.13.2", + "windows-targets 0.52.5", +] + +[[package]] +name = "password-hash" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "pasta_curves" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc65faf8e7313b4b1fbaa9f7ca917a0eed499a9663be71477f87993604341d8" +dependencies = [ + "blake2b_simd", + "ff 0.12.1", + "group 0.12.1", + "lazy_static", + "rand 0.8.5", + "static_assertions", + "subtle", +] + +[[package]] +name = "pasta_curves" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" +dependencies = [ + "blake2b_simd", + "ff 0.13.0", + "group 0.13.0", + "lazy_static", + "rand 0.8.5", + "static_assertions", + "subtle", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "path-slash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" + +[[package]] +name = "pbkdf2" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" +dependencies = [ + "crypto-mac 0.11.0", +] + +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.7", + "hmac 0.12.1", + "password-hash", + "sha2 0.10.8", +] + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest 0.10.7", + "hmac 0.12.1", +] + +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pest" +version = "2.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset", + "indexmap 2.2.6", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version 0.4.0", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros", + "phf_shared 0.11.2", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher 0.3.11", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher 0.3.11", +] + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "464db0c665917b13ebb5d453ccdec4add5658ee1adc7affc7677615356a8afaf" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "platforms" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" + +[[package]] +name = "polkavm-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d9428a5cfcc85c5d7b9fc4b6a18c4b802d0173d768182a51cc7751640f08b92" + +[[package]] +name = "polkavm-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606" +dependencies = [ + "polkavm-derive-impl-macro", +] + +[[package]] +name = "polkavm-derive-impl" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c" +dependencies = [ + "polkavm-common", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "polkavm-derive-impl-macro" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" +dependencies = [ + "polkavm-derive-impl", + "syn 2.0.65", +] + +[[package]] +name = "polling" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi 0.3.9", + "pin-project-lite", + "rustix 0.38.34", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "poly1305" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +dependencies = [ + "cpufeatures", + "opaque-debug 0.3.1", + "universal-hash", +] + +[[package]] +name = "portable-atomic" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettier-please" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22020dfcf177fcc7bf5deaf7440af371400c67c0de14c399938d8ed4fb4645d3" +dependencies = [ + "proc-macro2", + "syn 2.0.65", +] + +[[package]] +name = "prettyplease" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +dependencies = [ + "proc-macro2", + "syn 2.0.65", +] + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-warning" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "proc-macro2" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prometheus" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" +dependencies = [ + "cfg-if", + "fnv", + "lazy_static", + "memchr", + "parking_lot", + "thiserror", +] + +[[package]] +name = "proptest" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags 2.5.0", + "lazy_static", + "num-traits", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_xorshift", + "regex-syntax 0.8.3", + "rusty-fork", + "tempfile", + "unarray", +] + +[[package]] +name = "prost" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-derive" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "prost-types" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +dependencies = [ + "prost", +] + +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c" +dependencies = [ + "libc", + "rand 0.4.6", +] + +[[package]] +name = "rand" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" +dependencies = [ + "fuchsia-cprng", + "libc", + "rand_core 0.3.1", + "rdrand", + "winapi", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +dependencies = [ + "rand_core 0.4.2", +] + +[[package]] +name = "rand_core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.15", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core 0.6.4", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "rayon-scan" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f87cc11a0140b4b0da0ffc889885760c61b13672d80a908920b2c0df078fa14" +dependencies = [ + "rayon", +] + +[[package]] +name = "rdrand" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +dependencies = [ + "rand_core 0.3.1", +] + +[[package]] +name = "redis" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6472825949c09872e8f2c50bde59fcefc17748b6be5c90fd67cd8b4daca73bfd" +dependencies = [ + "async-trait", + "bytes", + "combine", + "futures-util", + "itoa", + "native-tls", + "percent-encoding", + "pin-project-lite", + "ryu", + "serde", + "serde_json", + "sha1_smol", + "socket2", + "tokio", + "tokio-native-tls", + "tokio-util", + "url", +] + +[[package]] +name = "redox_syscall" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +dependencies = [ + "bitflags 2.5.0", +] + +[[package]] +name = "redox_users" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +dependencies = [ + "getrandom 0.2.15", + "libredox", + "thiserror", +] + +[[package]] +name = "ref-cast" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "regex" +version = "1.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.28", + "hyper-rustls 0.24.2", + "hyper-tls 0.5.0", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls 0.21.12", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 0.1.2", + "system-configuration", + "tokio", + "tokio-native-tls", + "tokio-rustls 0.24.1", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots 0.25.4", + "winreg 0.50.0", +] + +[[package]] +name = "reqwest" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +dependencies = [ + "base64 0.22.1", + "bytes", + "encoding_rs", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.4.5", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-rustls 0.26.0", + "hyper-tls 0.6.0", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls 0.22.4", + "rustls-pemfile 2.1.2", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 0.1.2", + "system-configuration", + "tokio", + "tokio-native-tls", + "tokio-rustls 0.25.0", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots 0.26.1", + "winreg 0.52.0", +] + +[[package]] +name = "reqwest-middleware" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a45d100244a467870f6cb763c4484d010a6bed6bd610b3676e3825d93fb4cfbd" +dependencies = [ + "anyhow", + "async-trait", + "http 1.1.0", + "reqwest 0.12.4", + "serde", + "thiserror", + "tower-service", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac 0.12.1", + "subtle", +] + +[[package]] +name = "ring" +version = "0.1.0" +source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" +dependencies = [ + "ark-ec", + "ark-ff 0.4.2", + "ark-poly", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "blake2", + "common", + "fflonk", + "merlin 3.0.0", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.15", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rlp-derive", + "rustc-hex", +] + +[[package]] +name = "rlp-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rrs-lib" +version = "0.1.0" +source = "git+https://github.com/GregAC/rrs.git#b23afc16b4e6a1fb5c4a73eb1e337e9400816507" +dependencies = [ + "downcast-rs", + "num_enum 0.5.11", + "paste", +] + +[[package]] +name = "ruint" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f308135fef9fc398342da5472ce7c484529df23743fb7c734e0f3d472971e62" +dependencies = [ + "alloy-rlp", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "bytes", + "fastrlp", + "num-bigint 0.4.5", + "num-traits", + "parity-scale-codec", + "primitive-types", + "proptest", + "rand 0.8.5", + "rlp", + "ruint-macro", + "serde", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f86854cf50259291520509879a5c294c3c9a4c334e9ff65071c51e42ef1e2343" + +[[package]] +name = "rust-crypto" +version = "0.2.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a" +dependencies = [ + "gcc", + "libc", + "rand 0.3.23", + "rustc-serialize", + "time 0.1.45", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc-serialize" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver 1.0.23", +] + +[[package]] +name = "rustix" +version = "0.36.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.1.4", + "windows-sys 0.45.0", +] + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.5.0", + "errno", + "libc", + "linux-raw-sys 0.4.14", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.21.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +dependencies = [ + "log", + "ring 0.17.8", + "rustls-webpki 0.101.7", + "sct", +] + +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.4", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +dependencies = [ + "openssl-probe", + "rustls-pemfile 1.0.4", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-native-certs" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" +dependencies = [ + "openssl-probe", + "rustls-pemfile 2.1.2", + "rustls-pki-types", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +dependencies = [ + "ring 0.17.8", + "rustls-pki-types", + "untrusted 0.9.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ruzstd" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d" +dependencies = [ + "byteorder", + "derive_more", + "twox-hash", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher", +] + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scale-bits" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "036575c29af9b6e4866ffb7fa055dbf623fe7a9cc159b33786de6013a6969d89" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "scale-decode" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7caaf753f8ed1ab4752c6afb20174f03598c664724e0e32628e161c21000ff76" +dependencies = [ + "derive_more", + "parity-scale-codec", + "primitive-types", + "scale-bits", + "scale-decode-derive", + "scale-info", + "smallvec 1.13.2", +] + +[[package]] +name = "scale-decode-derive" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3475108a1b62c7efd1b5c65974f30109a598b2f45f23c9ae030acb9686966db" +dependencies = [ + "darling 0.14.4", + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scale-encode" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d70cb4b29360105483fac1ed567ff95d65224a14dd275b6303ed0a654c78de5" +dependencies = [ + "derive_more", + "parity-scale-codec", + "primitive-types", + "scale-bits", + "scale-encode-derive", + "scale-info", + "smallvec 1.13.2", +] + +[[package]] +name = "scale-encode-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "995491f110efdc6bea96d6a746140e32bfceb4ea47510750a5467295a4707a25" +dependencies = [ + "darling 0.14.4", + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scale-info" +version = "2.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" +dependencies = [ + "bitvec", + "cfg-if", + "derive_more", + "parity-scale-codec", + "scale-info-derive", + "serde", +] + +[[package]] +name = "scale-info-derive" +version = "2.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scale-typegen" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00860983481ac590ac87972062909bef0d6a658013b592ccc0f2feb272feab11" +dependencies = [ + "proc-macro2", + "quote", + "scale-info", + "syn 2.0.65", + "thiserror", +] + +[[package]] +name = "scale-value" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58223c7691bf0bd46b43c9aea6f0472d1067f378d574180232358d7c6e0a8089" +dependencies = [ + "base58", + "blake2", + "derive_more", + "either", + "frame-metadata 15.1.0", + "parity-scale-codec", + "scale-bits", + "scale-decode", + "scale-encode", + "scale-info", + "serde", + "yap", +] + +[[package]] +name = "scc" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" +dependencies = [ + "sdd", +] + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "schnellru" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" +dependencies = [ + "ahash 0.8.11", + "cfg-if", + "hashbrown 0.13.2", +] + +[[package]] +name = "schnorrkel" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "curve25519-dalek 2.1.3", + "getrandom 0.1.16", + "merlin 2.0.1", + "rand 0.7.3", + "rand_core 0.5.1", + "sha2 0.8.2", + "subtle", + "zeroize", +] + +[[package]] +name = "schnorrkel" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" +dependencies = [ + "aead", + "arrayref", + "arrayvec 0.7.4", + "curve25519-dalek 4.1.2", + "getrandom_or_panic", + "merlin 3.0.0", + "rand_core 0.6.4", + "serde_bytes", + "sha2 0.10.8", + "subtle", + "zeroize", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "scrypt" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.11.0", + "salsa20", + "sha2 0.10.8", +] + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "sdd" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array 0.14.7", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "secp256k1" +version = "0.28.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" +dependencies = [ + "secp256k1-sys", +] + +[[package]] +name = "secp256k1-sys" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" +dependencies = [ + "cc", +] + +[[package]] +name = "secrecy" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" +dependencies = [ + "zeroize", +] + +[[package]] +name = "security-framework" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +dependencies = [ + "bitflags 2.5.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[package]] +name = "send_wrapper" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" + +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + +[[package]] +name = "serde" +version = "1.0.202" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-hex" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca37e3e4d1b39afd7ff11ee4e947efae85adfddf4841787bfa47c470e96dc26d" +dependencies = [ + "array-init", + "serde", + "smallvec 0.6.14", +] + +[[package]] +name = "serde_bytes" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.202" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "serde_json" +version = "1.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +dependencies = [ + "itoa", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.2.6", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time 0.3.36", +] + +[[package]] +name = "serde_with_macros" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" +dependencies = [ + "darling 0.20.9", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "serial_test" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" +dependencies = [ + "futures", + "log", + "once_cell", + "parking_lot", + "scc", + "serial_test_derive", +] + +[[package]] +name = "serial_test_derive" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "sha-1" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.1", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha1_smol" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" + +[[package]] +name = "sha2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug 0.2.3", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.1", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha256" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18278f6a914fa3070aa316493f7d2ddfb9ac86ebc06fa3b83bffda487e9065b0" +dependencies = [ + "async-trait", + "bytes", + "hex", + "sha2 0.10.8", + "tokio", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "sha3-asm" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9b57fd861253bff08bb1919e995f90ba8f4889de2726091c8876f3a4e823b40" +dependencies = [ + "cc", + "cfg-if", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + +[[package]] +name = "simple-mermaid" +version = "0.1.0" +source = "git+https://github.com/kianenigma/simple-mermaid.git?rev=e48b187bcfd5cc75111acd9d241f1bd36604344b#e48b187bcfd5cc75111acd9d241f1bd36604344b" + +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint 0.4.5", + "num-traits", + "thiserror", + "time 0.3.36", +] + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + +[[package]] +name = "size" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fed904c7fb2856d868b92464fc8fa597fce366edea1a9cbfaa8cb5fe080bd6d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" +dependencies = [ + "maybe-uninit", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "smol" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e635339259e51ef85ac7aa29a1cd991b957047507288697a690e80ab97d07cad" +dependencies = [ + "async-channel", + "async-executor", + "async-fs", + "async-io", + "async-lock", + "async-net", + "async-process", + "blocking", + "futures-lite", +] + +[[package]] +name = "smoldot" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d1eaa97d77be4d026a1e7ffad1bb3b78448763b357ea6f8188d3e6f736a9b9" +dependencies = [ + "arrayvec 0.7.4", + "async-lock", + "atomic-take", + "base64 0.21.7", + "bip39", + "blake2-rfc", + "bs58", + "chacha20", + "crossbeam-queue", + "derive_more", + "ed25519-zebra 4.0.3", + "either", + "event-listener 4.0.3", + "fnv", + "futures-lite", + "futures-util", + "hashbrown 0.14.5", + "hex", + "hmac 0.12.1", + "itertools 0.12.1", + "libm", + "libsecp256k1", + "merlin 3.0.0", + "no-std-net", + "nom", + "num-bigint 0.4.5", + "num-rational", + "num-traits", + "pbkdf2 0.12.2", + "pin-project", + "poly1305", + "rand 0.8.5", + "rand_chacha 0.3.1", + "ruzstd", + "schnorrkel 0.11.4", + "serde", + "serde_json", + "sha2 0.10.8", + "sha3", + "siphasher 1.0.1", + "slab", + "smallvec 1.13.2", + "soketto", + "twox-hash", + "wasmi", + "x25519-dalek", + "zeroize", +] + +[[package]] +name = "smoldot-light" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5496f2d116b7019a526b1039ec2247dd172b8670633b1a64a614c9ea12c9d8c7" +dependencies = [ + "async-channel", + "async-lock", + "base64 0.21.7", + "blake2-rfc", + "derive_more", + "either", + "event-listener 4.0.3", + "fnv", + "futures-channel", + "futures-lite", + "futures-util", + "hashbrown 0.14.5", + "hex", + "itertools 0.12.1", + "log", + "lru", + "no-std-net", + "parking_lot", + "pin-project", + "rand 0.8.5", + "rand_chacha 0.3.1", + "serde", + "serde_json", + "siphasher 1.0.1", + "slab", + "smol", + "smoldot", + "zeroize", +] + +[[package]] +name = "snowbridge-amcl" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460a9ed63cdf03c1b9847e8a12a5f5ba19c4efd5869e4a737e05be25d7c427e5" +dependencies = [ + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "soketto" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64 0.13.1", + "bytes", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha-1", +] + +[[package]] +name = "solang-parser" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" +dependencies = [ + "itertools 0.11.0", + "lalrpop", + "lalrpop-util", + "phf", + "thiserror", + "unicode-xid", +] + +[[package]] +name = "sp-api" +version = "26.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "scale-info", + "sp-api-proc-macro", + "sp-core", + "sp-externalities 0.25.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-metadata-ir", + "sp-runtime", + "sp-state-machine", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-trie", + "sp-version", + "thiserror", +] + +[[package]] +name = "sp-api-proc-macro" +version = "15.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "Inflector", + "blake2", + "expander", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "sp-application-crypto" +version = "30.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-io", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", +] + +[[package]] +name = "sp-arithmetic" +version = "23.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "static_assertions", +] + +[[package]] +name = "sp-ark-bls12-381" +version = "0.4.2" +source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" +dependencies = [ + "ark-bls12-381-ext", + "sp-crypto-ec-utils", +] + +[[package]] +name = "sp-ark-ed-on-bls12-381-bandersnatch" +version = "0.4.2" +source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" +dependencies = [ + "ark-ed-on-bls12-381-bandersnatch-ext", + "sp-crypto-ec-utils", +] + +[[package]] +name = "sp-core" +version = "28.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "array-bytes", + "bandersnatch_vrfs", + "bip39", + "bitflags 1.3.2", + "blake2", + "bounded-collections", + "bs58", + "dyn-clonable", + "ed25519-zebra 3.1.0", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde", + "itertools 0.10.5", + "libsecp256k1", + "log", + "merlin 3.0.0", + "parity-scale-codec", + "parking_lot", + "paste", + "primitive-types", + "rand 0.8.5", + "scale-info", + "schnorrkel 0.11.4", + "secp256k1", + "secrecy", + "serde", + "sp-crypto-hashing", + "sp-debug-derive 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-externalities 0.25.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-runtime-interface 24.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-storage 19.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tracing", + "w3f-bls", + "zeroize", +] + +[[package]] +name = "sp-core-hashing" +version = "15.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0f4990add7b2cefdeca883c0efa99bb4d912cb2196120e1500c0cc099553b0" +dependencies = [ + "blake2b_simd", + "byteorder", + "digest 0.10.7", + "sha2 0.10.8", + "sha3", + "twox-hash", +] + +[[package]] +name = "sp-crypto-ec-utils" +version = "0.10.0" +source = "git+https://github.com/paritytech/polkadot-sdk#8949856d840c7f97c0c0c58a3786ccce5519a8fe" +dependencies = [ + "ark-bls12-377", + "ark-bls12-377-ext", + "ark-bls12-381", + "ark-bls12-381-ext", + "ark-bw6-761", + "ark-bw6-761-ext", + "ark-ec", + "ark-ed-on-bls12-377", + "ark-ed-on-bls12-377-ext", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ed-on-bls12-381-bandersnatch-ext", + "ark-scale", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk)", +] + +[[package]] +name = "sp-crypto-hashing" +version = "0.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "blake2b_simd", + "byteorder", + "digest 0.10.7", + "sha2 0.10.8", + "sha3", + "twox-hash", +] + +[[package]] +name = "sp-crypto-hashing-proc-macro" +version = "0.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "quote", + "sp-crypto-hashing", + "syn 2.0.65", +] + +[[package]] +name = "sp-debug-derive" +version = "14.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "sp-debug-derive" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#8949856d840c7f97c0c0c58a3786ccce5519a8fe" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "sp-externalities" +version = "0.25.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-storage 19.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", +] + +[[package]] +name = "sp-externalities" +version = "0.25.0" +source = "git+https://github.com/paritytech/polkadot-sdk#8949856d840c7f97c0c0c58a3786ccce5519a8fe" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)", +] + +[[package]] +name = "sp-genesis-builder" +version = "0.7.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "serde_json", + "sp-api", + "sp-runtime", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", +] + +[[package]] +name = "sp-inherents" +version = "26.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "async-trait", + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "sp-runtime", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "thiserror", +] + +[[package]] +name = "sp-io" +version = "30.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "bytes", + "ed25519-dalek", + "libsecp256k1", + "log", + "parity-scale-codec", + "rustversion", + "secp256k1", + "sp-core", + "sp-crypto-hashing", + "sp-externalities 0.25.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-keystore", + "sp-runtime-interface 24.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-state-machine", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-tracing 16.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-trie", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-keystore" +version = "0.34.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "parity-scale-codec", + "parking_lot", + "sp-core", + "sp-externalities 0.25.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "thiserror", +] + +[[package]] +name = "sp-metadata-ir" +version = "0.6.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "frame-metadata 16.0.0", + "parity-scale-codec", + "scale-info", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", +] + +[[package]] +name = "sp-panic-handler" +version = "13.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-runtime" +version = "31.0.1" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "docify", + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "simple-mermaid", + "sp-application-crypto", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-weights", +] + +[[package]] +name = "sp-runtime-interface" +version = "24.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.25.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-storage 19.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-tracing 16.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-wasm-interface 20.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "24.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#8949856d840c7f97c0c0c58a3786ccce5519a8fe" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "polkavm-derive", + "primitive-types", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "17.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "Inflector", + "expander", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#8949856d840c7f97c0c0c58a3786ccce5519a8fe" +dependencies = [ + "Inflector", + "expander", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "sp-staking" +version = "26.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-runtime", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", +] + +[[package]] +name = "sp-state-machine" +version = "0.35.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "parking_lot", + "rand 0.8.5", + "smallvec 1.13.2", + "sp-core", + "sp-externalities 0.25.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-panic-handler", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-trie", + "thiserror", + "tracing", + "trie-db", +] + +[[package]] +name = "sp-std" +version = "14.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" + +[[package]] +name = "sp-std" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#8949856d840c7f97c0c0c58a3786ccce5519a8fe" + +[[package]] +name = "sp-storage" +version = "19.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", +] + +[[package]] +name = "sp-storage" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#8949856d840c7f97c0c0c58a3786ccce5519a8fe" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", +] + +[[package]] +name = "sp-tracing" +version = "16.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "tracing", + "tracing-core", + "tracing-subscriber 0.2.25", +] + +[[package]] +name = "sp-tracing" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#8949856d840c7f97c0c0c58a3786ccce5519a8fe" +dependencies = [ + "parity-scale-codec", + "tracing", + "tracing-core", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "sp-trie" +version = "29.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "ahash 0.8.11", + "hash-db", + "lazy_static", + "memory-db", + "nohash-hasher", + "parity-scale-codec", + "parking_lot", + "rand 0.8.5", + "scale-info", + "schnellru", + "sp-core", + "sp-externalities 0.25.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "thiserror", + "tracing", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-version" +version = "29.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-crypto-hashing-proc-macro", + "sp-runtime", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-version-proc-macro", + "thiserror", +] + +[[package]] +name = "sp-version-proc-macro" +version = "13.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "parity-scale-codec", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "sp-wasm-interface" +version = "20.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "anyhow", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "wasmtime", +] + +[[package]] +name = "sp-wasm-interface" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#8949856d840c7f97c0c0c58a3786ccce5519a8fe" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", +] + +[[package]] +name = "sp-weights" +version = "27.0.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "bounded-collections", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec 1.13.2", + "sp-arithmetic", + "sp-debug-derive 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", + "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", +] + +[[package]] +name = "sp1-core" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "anyhow", + "arrayref", + "bincode", + "blake3", + "blake3-zkvm", + "cfg-if", + "curve25519-dalek 4.1.2", + "elf", + "elliptic-curve", + "generic-array 1.0.0", + "hex", + "itertools 0.12.1", + "k256", + "log", + "nohash-hasher", + "num", + "num-bigint 0.4.5", + "num_cpus", + "p3-air", + "p3-baby-bear", + "p3-blake3", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-fri", + "p3-keccak", + "p3-keccak-air", + "p3-matrix", + "p3-maybe-rayon", + "p3-merkle-tree", + "p3-poseidon2", + "p3-symmetric", + "p3-uni-stark", + "p3-util", + "rayon-scan", + "rrs-lib", + "serde", + "serde_with", + "serial_test", + "size", + "snowbridge-amcl", + "sp1-derive", + "sp1-primitives", + "strum", + "strum_macros", + "tempfile", + "thiserror", + "tracing", + "tracing-forest", + "tracing-subscriber 0.3.18", + "typenum", + "web-time", +] + +[[package]] +name = "sp1-derive" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp1-helper" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "cargo_metadata", + "chrono", +] + +[[package]] +name = "sp1-precompiles" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "getrandom 0.2.15", + "hex", + "k256", + "num", + "rand 0.8.5", + "serde", + "snowbridge-amcl", +] + +[[package]] +name = "sp1-primitives" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "itertools 0.12.1", + "lazy_static", + "p3-baby-bear", + "p3-field", + "p3-poseidon2", + "p3-symmetric", +] + +[[package]] +name = "sp1-prover" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "anyhow", + "backtrace", + "bincode", + "clap 4.5.4", + "dirs", + "futures", + "hex", + "indicatif", + "itertools 0.12.1", + "num-bigint 0.4.5", + "p3-baby-bear", + "p3-bn254-fr", + "p3-challenger", + "p3-commit", + "p3-field", + "rayon", + "reqwest 0.12.4", + "serde", + "serde_json", + "serial_test", + "sha2 0.10.8", + "size", + "sp1-core", + "sp1-primitives", + "sp1-recursion-circuit", + "sp1-recursion-compiler", + "sp1-recursion-core", + "sp1-recursion-gnark-ffi", + "sp1-recursion-program", + "subtle-encoding", + "tempfile", + "thiserror", + "tokio", + "tracing", + "tracing-appender", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "sp1-recursion-circuit" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "bincode", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-bn254-fr", + "p3-commit", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-util", + "serde", + "sp1-core", + "sp1-recursion-compiler", + "sp1-recursion-core", + "sp1-recursion-derive", + "sp1-recursion-program", +] + +[[package]] +name = "sp1-recursion-compiler" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "backtrace", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-bn254-fr", + "p3-commit", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-poseidon2", + "p3-symmetric", + "p3-util", + "serde", + "serde_json", + "serial_test", + "sp1-core", + "sp1-recursion-core", + "sp1-recursion-derive", + "tracing", +] + +[[package]] +name = "sp1-recursion-core" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "arrayref", + "backtrace", + "ff 0.13.0", + "hashbrown 0.14.5", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-bn254-fr", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-maybe-rayon", + "p3-merkle-tree", + "p3-poseidon2", + "p3-symmetric", + "serde", + "serde_with", + "sp1-core", + "sp1-derive", + "sp1-primitives", + "static_assertions", + "tracing", + "zkhash", +] + +[[package]] +name = "sp1-recursion-derive" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp1-recursion-gnark-ffi" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "bindgen", + "cc", + "cfg-if", + "crossbeam", + "log", + "num-bigint 0.4.5", + "p3-baby-bear", + "p3-field", + "rand 0.8.5", + "reqwest 0.12.4", + "serde", + "serde_json", + "sp1-recursion-compiler", + "subtle-encoding", + "tempfile", +] + +[[package]] +name = "sp1-recursion-program" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "array-macro", + "itertools 0.12.1", + "p3-air", + "p3-baby-bear", + "p3-challenger", + "p3-commit", + "p3-dft", + "p3-field", + "p3-fri", + "p3-matrix", + "p3-maybe-rayon", + "p3-merkle-tree", + "p3-poseidon2", + "p3-symmetric", + "p3-util", + "rand 0.8.5", + "serde", + "sp1-core", + "sp1-recursion-compiler", + "sp1-recursion-core", + "tracing", +] + +[[package]] +name = "sp1-sdk" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "alloy", + "anyhow", + "async-trait", + "axum", + "bincode", + "cfg-if", + "dirs", + "dotenv", + "futures", + "hex", + "indicatif", + "log", + "num-bigint 0.4.5", + "p3-commit", + "p3-field", + "p3-matrix", + "prost", + "prost-types", + "reqwest 0.12.4", + "reqwest-middleware", + "serde", + "serde_json", + "sha2 0.10.8", + "sp1-core", + "sp1-prover", + "tempfile", + "tokio", + "tracing", + "twirp", + "vergen", +] + +[[package]] +name = "sp1-vectorx-header-range-program" +version = "0.1.0" +dependencies = [ + "blake2", + "ed25519-consensus", + "sha2 0.10.8", + "sp1-vectorx-primitives", + "sp1-zkvm", +] + +[[package]] +name = "sp1-vectorx-primitives" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap 4.5.4", + "dotenv", + "ed25519-dalek", + "hex", + "parity-scale-codec", + "serde", + "sha2 0.10.8", +] + +[[package]] +name = "sp1-vectorx-rotate-program" +version = "0.1.0" +dependencies = [ + "blake2", + "ed25519-consensus", + "sha2 0.10.8", + "sp1-vectorx-primitives", + "sp1-zkvm", +] + +[[package]] +name = "sp1-vectorx-script" +version = "0.1.0" +dependencies = [ + "alloy-primitives 0.7.4", + "alloy-sol-types 0.4.2", + "anyhow", + "async-trait", + "avail-subxt", + "clap 4.5.4", + "dotenv", + "ed25519-consensus", + "ed25519-dalek", + "env_logger", + "ethers", + "ff_ce", + "futures", + "hex", + "itertools 0.10.5", + "log", + "num", + "parity-scale-codec", + "primitive-types", + "rand 0.8.5", + "redis", + "reqwest 0.11.27", + "rust-crypto", + "serde", + "serde_json", + "sha2 0.10.8", + "sha256", + "sp-core", + "sp1-helper", + "sp1-sdk", + "sp1-vectorx-primitives", + "subxt", + "tokio", +] + +[[package]] +name = "sp1-zkvm" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" +dependencies = [ + "bincode", + "cfg-if", + "getrandom 0.2.15", + "k256", + "libm", + "once_cell", + "rand 0.8.5", + "serde", + "sha2 0.10.8", + "sp1-precompiles", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "ss58-registry" +version = "1.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4743ce898933fbff7bbf414f497c459a782d496269644b3d650a398ae6a487ba" +dependencies = [ + "Inflector", + "num-format", + "proc-macro2", + "quote", + "serde", + "serde_json", + "unicode-xid", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", +] + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "structopt" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" +dependencies = [ + "clap 2.34.0", + "lazy_static", + "structopt-derive", +] + +[[package]] +name = "structopt-derive" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" +dependencies = [ + "heck 0.3.3", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "strum" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.65", +] + +[[package]] +name = "substrate-bip39" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a7590dc041b9bc2825e52ce5af8416c73dbe9d0654402bfd4b4941938b94d8f" +dependencies = [ + "hmac 0.11.0", + "pbkdf2 0.8.0", + "schnorrkel 0.11.4", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "substrate-prometheus-endpoint" +version = "0.17.0" +source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" +dependencies = [ + "hyper 0.14.28", + "log", + "prometheus", + "thiserror", + "tokio", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "subtle-encoding" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" +dependencies = [ + "zeroize", +] + +[[package]] +name = "subtle-ng" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" + +[[package]] +name = "subxt" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3323d5c27898b139d043dc1ee971f602f937b99354ee33ee933bd90e0009fbd" +dependencies = [ + "async-trait", + "base58", + "blake2", + "derivative", + "either", + "frame-metadata 16.0.0", + "futures", + "hex", + "impl-serde", + "instant", + "jsonrpsee", + "parity-scale-codec", + "primitive-types", + "scale-bits", + "scale-decode", + "scale-encode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-core-hashing", + "subxt-lightclient", + "subxt-macro", + "subxt-metadata", + "thiserror", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "subxt-codegen" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d0e58c3f88651cff26aa52bae0a0a85f806a2e923a20eb438c16474990743ea" +dependencies = [ + "frame-metadata 16.0.0", + "heck 0.4.1", + "hex", + "jsonrpsee", + "parity-scale-codec", + "proc-macro2", + "quote", + "scale-info", + "scale-typegen", + "subxt-metadata", + "syn 2.0.65", + "thiserror", + "tokio", +] + +[[package]] +name = "subxt-lightclient" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecec7066ba7bc0c3608fcd1d0c7d9584390990cd06095b6ae4f114f74c4b8550" +dependencies = [ + "futures", + "futures-util", + "serde", + "serde_json", + "smoldot-light", + "thiserror", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "subxt-macro" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "365251668613323064803427af8c7c7bc366cd8b28e33639640757669dafebd5" +dependencies = [ + "darling 0.20.9", + "parity-scale-codec", + "proc-macro-error", + "quote", + "scale-typegen", + "subxt-codegen", + "syn 2.0.65", +] + +[[package]] +name = "subxt-metadata" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02aca8d39a1f6c55fff3a8fd81557d30a610fedc1cef03f889a81bc0f8f0b52" +dependencies = [ + "frame-metadata 16.0.0", + "parity-scale-codec", + "scale-info", + "sp-core-hashing", + "thiserror", +] + +[[package]] +name = "svm-rs" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" +dependencies = [ + "dirs", + "fs2", + "hex", + "once_cell", + "reqwest 0.11.27", + "semver 1.0.23", + "serde", + "serde_json", + "sha2 0.10.8", + "thiserror", + "url", + "zip", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2863d96a84c6439701d7a38f9de935ec562c8832cc55d1dde0f513b52fad106" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn-solidity" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b837ef12ab88835251726eb12237655e61ec8dc8a280085d1961cdc3dfd047" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "syn-solidity" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8db114c44cf843a8bacd37a146e37987a0b823a0e8bc4fdc610c9c72ab397a5" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "target-lexicon" +version = "0.12.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" + +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if", + "fastrand", + "rustix 0.38.34", + "windows-sys 0.52.0", +] + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "thiserror" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "thiserror-impl-no-std" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58e6318948b519ba6dc2b442a6d0b904ebfb8d411a3ad3e07843615a72249758" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "thiserror-no-std" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3ad459d94dd517257cc96add8a43190ee620011bb6e6cdc82dafd97dfafafea" +dependencies = [ + "thiserror-impl-no-std", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "time" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls 0.21.12", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls 0.22.4", + "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "rustls 0.21.12", + "tokio", + "tokio-rustls 0.24.1", + "tungstenite", + "webpki-roots 0.25.4", +] + +[[package]] +name = "tokio-util" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.13", +] + +[[package]] +name = "toml_datetime" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" +dependencies = [ + "indexmap 2.2.6", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.6.8", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror", + "time 0.3.36", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-forest" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee40835db14ddd1e3ba414292272eddde9dad04d3d4b65509656414d1c42592f" +dependencies = [ + "ansi_term", + "smallvec 1.13.2", + "thiserror", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "tracing-log" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-serde" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +dependencies = [ + "serde", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +dependencies = [ + "ansi_term", + "chrono", + "lazy_static", + "matchers 0.0.1", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec 1.13.2", + "thread_local", + "tracing", + "tracing-core", + "tracing-log 0.1.4", + "tracing-serde", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers 0.1.0", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec 1.13.2", + "thread_local", + "tracing", + "tracing-core", + "tracing-log 0.2.0", +] + +[[package]] +name = "trie-db" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff28e0f815c2fea41ebddf148e008b077d2faddb026c9555b29696114d602642" +dependencies = [ + "hash-db", + "hashbrown 0.13.2", + "log", + "rustc-hex", + "smallvec 1.13.2", +] + +[[package]] +name = "trie-root" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" +dependencies = [ + "hash-db", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "tt-call" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 0.2.12", + "httparse", + "log", + "rand 0.8.5", + "rustls 0.21.12", + "sha1", + "thiserror", + "url", + "utf-8", +] + +[[package]] +name = "twirp" +version = "0.3.0" +source = "git+https://github.com/github/twirp-rs.git?rev=c85f31f9c54957374e7dcb3534fc52cff0aa2dc5#c85f31f9c54957374e7dcb3534fc52cff0aa2dc5" +dependencies = [ + "async-trait", + "axum", + "bytes", + "futures", + "http 1.1.0", + "http-body-util", + "hyper 1.3.1", + "prost", + "reqwest 0.12.4", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower", + "url", +] + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if", + "digest 0.10.7", + "rand 0.8.5", + "static_assertions", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-width" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom 0.2.15", + "serde", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "vergen" +version = "8.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525" +dependencies = [ + "anyhow", + "cfg-if", + "git2", + "rustversion", + "time 0.3.36", +] + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "w3f-bls" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7335e4c132c28cc43caef6adb339789e599e39adbe78da0c4d547fad48cbc331" +dependencies = [ + "ark-bls12-377", + "ark-bls12-381", + "ark-ec", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-serialize-derive", + "arrayref", + "constcat", + "digest 0.10.7", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "sha2 0.10.8", + "sha3", + "thiserror", + "zeroize", +] + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.65", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "wasm-streams" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wasmi" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8281d1d660cdf54c76a3efa9ddd0c270cada1383a995db3ccb43d166456c7" +dependencies = [ + "smallvec 1.13.2", + "spin 0.9.8", + "wasmi_arena", + "wasmi_core", + "wasmparser-nostd", +] + +[[package]] +name = "wasmi_arena" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073" + +[[package]] +name = "wasmi_core" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcf1a7db34bff95b85c261002720c00c3a6168256dcb93041d3fa2054d19856a" +dependencies = [ + "downcast-rs", + "libm", + "num-traits", + "paste", +] + +[[package]] +name = "wasmparser" +version = "0.102.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b" +dependencies = [ + "indexmap 1.9.3", + "url", +] + +[[package]] +name = "wasmparser-nostd" +version = "0.100.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5a015fe95f3504a94bb1462c717aae75253e39b9dd6c3fb1062c934535c64aa" +dependencies = [ + "indexmap-nostd", +] + +[[package]] +name = "wasmtime" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "indexmap 1.9.3", + "libc", + "log", + "object 0.30.4", + "once_cell", + "paste", + "psm", + "serde", + "target-lexicon", + "wasmparser", + "wasmtime-environ", + "wasmtime-jit", + "wasmtime-runtime", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "wasmtime-environ" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" +dependencies = [ + "anyhow", + "cranelift-entity", + "gimli 0.27.3", + "indexmap 1.9.3", + "log", + "object 0.30.4", + "serde", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "wasmtime-jit" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244" +dependencies = [ + "addr2line 0.19.0", + "anyhow", + "bincode", + "cfg-if", + "cpp_demangle", + "gimli 0.27.3", + "log", + "object 0.30.4", + "rustc-demangle", + "serde", + "target-lexicon", + "wasmtime-environ", + "wasmtime-jit-icache-coherence", + "wasmtime-runtime", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" +dependencies = [ + "once_cell", +] + +[[package]] +name = "wasmtime-jit-icache-coherence" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd" +dependencies = [ + "cfg-if", + "libc", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-runtime" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "indexmap 1.9.3", + "libc", + "log", + "mach", + "memfd", + "memoffset", + "paste", + "rand 0.8.5", + "rustix 0.36.17", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-jit-debug", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-types" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" +dependencies = [ + "cranelift-entity", + "serde", + "thiserror", + "wasmparser", +] + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "webpki-roots" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix 0.38.34", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "ws_stream_wasm" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version 0.4.0", + "send_wrapper 0.6.0", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "x25519-dalek" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" +dependencies = [ + "curve25519-dalek 4.1.2", + "rand_core 0.6.4", + "serde", + "zeroize", +] + +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + +[[package]] +name = "yap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff4524214bc4629eba08d78ceb1d6507070cc0bcbbed23af74e19e6e924a24cf" + +[[package]] +name = "zerocopy" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.65", +] + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "aes", + "byteorder", + "bzip2", + "constant_time_eq 0.1.5", + "crc32fast", + "crossbeam-utils", + "flate2", + "hmac 0.12.1", + "pbkdf2 0.11.0", + "sha1", + "time 0.3.36", + "zstd", +] + +[[package]] +name = "zkhash" +version = "0.2.0" +source = "git+https://github.com/HorizenLabs/poseidon2#bb476b9ca38198cf5092487283c8b8c5d4317c4e" +dependencies = [ + "ark-ff 0.4.2", + "ark-std 0.4.0", + "bitvec", + "blake2", + "bls12_381", + "byteorder", + "cfg-if", + "group 0.12.1", + "group 0.13.0", + "halo2", + "hex", + "jubjub", + "lazy_static", + "pasta_curves 0.5.1", + "rand 0.8.5", + "serde", + "sha2 0.10.8", + "sha3", + "subtle", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.10+zstd.1.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/header-range/Cargo.toml b/header-range/Cargo.toml index 3370d5d..37c3270 100644 --- a/header-range/Cargo.toml +++ b/header-range/Cargo.toml @@ -1,4 +1,3 @@ -[workspace] [package] version = "0.1.0" name = "sp1-vectorx-header-range-program" diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index a09543e..6a6a3b1 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -1,4 +1,3 @@ -[workspace] [package] version = "0.1.0" name = "sp1-vectorx-primitives" diff --git a/rotate/Cargo.toml b/rotate/Cargo.toml index b70abdc..2640e9d 100644 --- a/rotate/Cargo.toml +++ b/rotate/Cargo.toml @@ -1,4 +1,3 @@ -[workspace] [package] version = "0.1.0" name = "sp1-vectorx-rotate-program" diff --git a/script/Cargo.toml b/script/Cargo.toml index 92de0cd..619c630 100644 --- a/script/Cargo.toml +++ b/script/Cargo.toml @@ -1,4 +1,3 @@ -[workspace] [package] version = "0.1.0" name = "sp1-vectorx-script" From a02a7f893a27a9bf18d8b11af48287bc6b9851ef Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Wed, 22 May 2024 23:36:51 -0700 Subject: [PATCH 21/25] update ci workflow --- .github/workflows/ci.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c00988d..31dfcef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,6 +20,11 @@ jobs: with: submodules: recursive + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: 1.22.1 + - name: rust-cache uses: buildjet/cache@v3 with: @@ -41,15 +46,6 @@ jobs: toolchain: nightly-2024-02-22 override: true - - name: Run cargo test - uses: actions-rs/cargo@v1 - with: - command: test - args: --release --features "ci" - env: - RUST_LOG: 1 - RUST_BACKTRACE: 1 - lints: name: Formatting & Clippy runs-on: buildjet-32vcpu-ubuntu-2204 @@ -58,6 +54,11 @@ jobs: - uses: actions/checkout@v3 with: submodules: recursive + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: 1.22.1 - name: rust-cache uses: buildjet/cache@v3 From d656dde84a4ca78c08f9c5930b69e36ea8c6f17b Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Thu, 23 May 2024 10:51:31 -0700 Subject: [PATCH 22/25] test --- script/build.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/script/build.rs b/script/build.rs index be5b04a..0cb9685 100644 --- a/script/build.rs +++ b/script/build.rs @@ -3,4 +3,5 @@ use sp1_helper::build_program; fn main() { build_program("../header-range"); build_program("../rotate"); + // hi } From 91101ce1e059dc3be3bfca188b536d5e324bca82 Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Thu, 23 May 2024 10:59:34 -0700 Subject: [PATCH 23/25] update --- .github/workflows/ci.yml | 12 ++++++------ script/build.rs | 1 - 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 31dfcef..213949d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,15 +35,15 @@ jobs: ~/.cargo/git/db/ target/ ~/.rustup/ - key: test-rust-nightly-2024-02-22-${{ hashFiles('**/Cargo.toml') }} - restore-keys: rust-nightly-2024-02-22- + key: test-rust-nightly-2024-05-22-${{ hashFiles('**/Cargo.toml') }} + restore-keys: rust-nightly-2024-05-22- - name: Install nightly toolchain id: rustc-toolchain uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: nightly-2024-02-22 + toolchain: nightly-2024-05-22 override: true lints: @@ -70,15 +70,15 @@ jobs: ~/.cargo/git/db/ target/ ~/.rustup/ - key: clippy-rust-nightly-2024-02-22-${{ hashFiles('**/Cargo.toml') }} - restore-keys: rust-nightly-2024-02-22- + key: clippy-rust-nightly-2024-05-22-${{ hashFiles('**/Cargo.toml') }} + restore-keys: rust-nightly-2024-05-22- - name: Install nightly toolchain id: rustc-toolchain uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: nightly-2024-02-22 + toolchain: nightly-2024-05-22 override: true components: rustfmt, clippy diff --git a/script/build.rs b/script/build.rs index 0cb9685..be5b04a 100644 --- a/script/build.rs +++ b/script/build.rs @@ -3,5 +3,4 @@ use sp1_helper::build_program; fn main() { build_program("../header-range"); build_program("../rotate"); - // hi } From e1913005ceeb33178370bac56367a345f9d952ca Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Thu, 23 May 2024 11:16:08 -0700 Subject: [PATCH 24/25] fix clippy errors --- Cargo.lock | 57 ------------------- Cargo.toml | 2 - header-range/Cargo.toml | 1 + header-range/elf/riscv32im-succinct-zkvm-elf | Bin 344220 -> 344220 bytes rotate/Cargo.toml | 1 + script/src/bin/header_range.rs | 1 - script/src/bin/rotate.rs | 2 +- 7 files changed, 3 insertions(+), 61 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0a1a5eb..51400b8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2802,7 +2802,6 @@ dependencies = [ "rand_core 0.6.4", "sec1", "subtle", - "tap", "zeroize", ] @@ -8546,23 +8545,6 @@ dependencies = [ "chrono", ] -[[package]] -name = "sp1-precompiles" -version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "getrandom 0.2.15", - "hex", - "k256", - "num", - "rand 0.8.5", - "serde", - "snowbridge-amcl", -] - [[package]] name = "sp1-primitives" version = "0.1.0" @@ -8798,17 +8780,6 @@ dependencies = [ "vergen", ] -[[package]] -name = "sp1-vectorx-header-range-program" -version = "0.1.0" -dependencies = [ - "blake2", - "ed25519-consensus", - "sha2 0.10.8", - "sp1-vectorx-primitives", - "sp1-zkvm", -] - [[package]] name = "sp1-vectorx-primitives" version = "0.1.0" @@ -8823,17 +8794,6 @@ dependencies = [ "sha2 0.10.8", ] -[[package]] -name = "sp1-vectorx-rotate-program" -version = "0.1.0" -dependencies = [ - "blake2", - "ed25519-consensus", - "sha2 0.10.8", - "sp1-vectorx-primitives", - "sp1-zkvm", -] - [[package]] name = "sp1-vectorx-script" version = "0.1.0" @@ -8873,23 +8833,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "sp1-zkvm" -version = "0.1.0" -source = "git+https://github.com/succinctlabs/sp1.git?branch=dev#c140e0a031a03585bf4276f21ab05bacb8bf1b3b" -dependencies = [ - "bincode", - "cfg-if", - "getrandom 0.2.15", - "k256", - "libm", - "once_cell", - "rand 0.8.5", - "serde", - "sha2 0.10.8", - "sp1-precompiles", -] - [[package]] name = "spin" version = "0.5.2" diff --git a/Cargo.toml b/Cargo.toml index 21232c2..bb3ed10 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,8 +1,6 @@ [workspace] members = [ - "header-range", "primitives", - "rotate", "script", ] exclude = ["examples/target"] diff --git a/header-range/Cargo.toml b/header-range/Cargo.toml index 37c3270..3370d5d 100644 --- a/header-range/Cargo.toml +++ b/header-range/Cargo.toml @@ -1,3 +1,4 @@ +[workspace] [package] version = "0.1.0" name = "sp1-vectorx-header-range-program" diff --git a/header-range/elf/riscv32im-succinct-zkvm-elf b/header-range/elf/riscv32im-succinct-zkvm-elf index 2573498e4d8d95c1c6a4375f09fd7a7d0628000c..25834342f590ad2b0445ef527e7c53f06cd7a4dd 100755 GIT binary patch delta 352 zcmbQ!C_1N6w4sHug=q_OiHD*A0|SFB5GO<^GjIcG5T6x^Z#2EsgIT`b8BN#<$X7&C z2IAYH@i~$BHb6EqKLN;BMv_kfvfYvR=|Hv;5IeXlFeJDuY&Z5~{>a6sHeGNcv*dKU z5N0(-<@VGN=IyB=ERA8pCWfXarWQtq=ElY*29^dEhNcGFf39L#EsjlQdfj0bvFT?I mvBZdA(Z?{IQG-QI+Q>vNC#Nh|4~q(r{(Ni(Z#%*=rv?D3kU=s4 delta 339 zcmbQ!C_1N6w4sHug=q_Oi3g+M^r;@q^7Y0H3=FbBoDiYRzzw90fS47D?}Em+2J#h= z2-%$#HOD;#1bQdMIXa- eMhzA;JuE6f`tz|FyzL0foEiWHpg=7E diff --git a/rotate/Cargo.toml b/rotate/Cargo.toml index 2640e9d..b70abdc 100644 --- a/rotate/Cargo.toml +++ b/rotate/Cargo.toml @@ -1,3 +1,4 @@ +[workspace] [package] version = "0.1.0" name = "sp1-vectorx-rotate-program" diff --git a/script/src/bin/header_range.rs b/script/src/bin/header_range.rs index 5745b51..914edfe 100644 --- a/script/src/bin/header_range.rs +++ b/script/src/bin/header_range.rs @@ -1,6 +1,5 @@ //! A simple script to generate and verify the proof of a given program. use codec::Encode; -use crypto::{blake2b::Blake2b, digest::Digest}; use sp1_sdk::{utils::setup_logger, ProverClient, SP1Stdin}; use sp1_vectorx_primitives::types::HeaderRangeProofRequestData; use sp1_vectorx_script::input::RpcDataFetcher; diff --git a/script/src/bin/rotate.rs b/script/src/bin/rotate.rs index d69c341..868658a 100644 --- a/script/src/bin/rotate.rs +++ b/script/src/bin/rotate.rs @@ -44,7 +44,7 @@ async fn generate_and_verify_proof(authority_set_id: u64) -> anyhow::Result<()> // Read outputs. let new_authority_set_hash_bytes32 = proof.public_values.read::<[u8; 32]>(); - let new_authority_set_hash = hex::encode(new_authority_set_hash_bytes32); + let _new_authority_set_hash = hex::encode(new_authority_set_hash_bytes32); // Verify proof. client.verify(&proof, &vk)?; From 5a5ca96432519c62066928d0da04f4fe696f856c Mon Sep 17 00:00:00 2001 From: Xavier D'Mello Date: Thu, 23 May 2024 11:19:04 -0700 Subject: [PATCH 25/25] hi --- script/build.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/script/build.rs b/script/build.rs index be5b04a..072db33 100644 --- a/script/build.rs +++ b/script/build.rs @@ -3,4 +3,5 @@ use sp1_helper::build_program; fn main() { build_program("../header-range"); build_program("../rotate"); + //hi }