From 4b2c43029ae4c97b16cb3de429c2bc80e90142e4 Mon Sep 17 00:00:00 2001 From: Amirhossein Azarpour Date: Mon, 21 Jul 2025 13:19:40 +0330 Subject: [PATCH] feat(risc0): add example guest program --- risc0/guest/.DS_Store | Bin 0 -> 6148 bytes risc0/guest/Cargo.lock | 3213 +++++++++++++++++++++++++ risc0/guest/Cargo.toml | 11 + risc0/guest/LICENSE | 201 ++ risc0/guest/README.md | 111 + risc0/guest/host/Cargo.toml | 11 + risc0/guest/host/src/main.rs | 37 + risc0/guest/method_id.bin | 2 + risc0/guest/methods/Cargo.toml | 10 + risc0/guest/methods/build.rs | 3 + risc0/guest/methods/guest/Cargo.lock | 1298 ++++++++++ risc0/guest/methods/guest/Cargo.toml | 9 + risc0/guest/methods/guest/src/main.rs | 11 + risc0/guest/methods/src/lib.rs | 1 + risc0/guest/proof.bin | Bin 0 -> 209514 bytes risc0/guest/rust-toolchain.toml | 4 + risc0/guest/src/main.rs | 12 + 17 files changed, 4934 insertions(+) create mode 100644 risc0/guest/.DS_Store create mode 100644 risc0/guest/Cargo.lock create mode 100644 risc0/guest/Cargo.toml create mode 100644 risc0/guest/LICENSE create mode 100644 risc0/guest/README.md create mode 100644 risc0/guest/host/Cargo.toml create mode 100644 risc0/guest/host/src/main.rs create mode 100644 risc0/guest/method_id.bin create mode 100644 risc0/guest/methods/Cargo.toml create mode 100644 risc0/guest/methods/build.rs create mode 100644 risc0/guest/methods/guest/Cargo.lock create mode 100644 risc0/guest/methods/guest/Cargo.toml create mode 100644 risc0/guest/methods/guest/src/main.rs create mode 100644 risc0/guest/methods/src/lib.rs create mode 100644 risc0/guest/proof.bin create mode 100644 risc0/guest/rust-toolchain.toml create mode 100644 risc0/guest/src/main.rs diff --git a/risc0/guest/.DS_Store b/risc0/guest/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..26cdd88d1b23f4884a9df1c8d0e0b83712bf3af1 GIT binary patch literal 6148 zcmeHKO>fgc5S>jzu7&;{PyKkx5ZB!_+^eT?(R;RL1m zOBq^4P73BVMFq~c0;fWk@JlGo`-z_gzbZYaGpwmcFUg}`-n(>B@ZLq_5v6MGfcg|t zfGm7qoM);WzGiZ$=9o#rn^&LpuF)78N&G&ppIV7S-_lFm9b|(U*6OVE%dWJH874F=#NyRu@8A|@({~-}6?}PJxBB|CWNe;{ z@BTOnleE?PAxh=Sovo@xT*KO3L^t&l=~K%m0%%i6a^FvvtGC`fq02Wa{i}W_mU&tAJJD zFBIVKgNwr0Hn`NNJ{_pk5dc_0w=%T(?*emNgKdLLjTnImO$BPIFh>lb>F9TjU)$hP zqo$KEhYw*Q3v)sdDmvzOl{<;HMq672tO9uj%KEa-`+x8D^M9UXudD)AfsIl?RJvZb zgOtqPx{@64wJypB6gKu-YE%?dW;<35-ir57lwr)}2C!{#sS!Oe`$s^@U@NP@KULs2 Dpo-q2 literal 0 HcmV?d00001 diff --git a/risc0/guest/Cargo.lock b/risc0/guest/Cargo.lock new file mode 100644 index 0000000..5a2ad85 --- /dev/null +++ b/risc0/guest/Cargo.lock @@ -0,0 +1,3213 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "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.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "anyhow" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" + +[[package]] +name = "ark-bn254" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-r1cs-std", + "ark-std", +] + +[[package]] +name = "ark-crypto-primitives" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0c292754729c8a190e50414fd1a37093c786c709899f29c9f7daccecfa855e" +dependencies = [ + "ahash", + "ark-crypto-primitives-macros", + "ark-ec", + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-snark", + "ark-std", + "blake2", + "derivative", + "digest", + "fnv", + "merlin", + "sha2", +] + +[[package]] +name = "ark-crypto-primitives-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7e89fe77d1f0f4fe5b96dfc940923d88d17b6a773808124f21e764dfb063c6a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "ark-ec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" +dependencies = [ + "ahash", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "educe", + "fnv", + "hashbrown 0.15.4", + "itertools 0.13.0", + "num-bigint", + "num-integer", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "arrayvec", + "digest", + "educe", + "itertools 0.13.0", + "num-bigint", + "num-traits", + "paste", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.102", +] + +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "ark-groth16" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88f1d0f3a534bb54188b8dcc104307db6c56cdae574ddc3212aec0625740fc7e" +dependencies = [ + "ark-crypto-primitives", + "ark-ec", + "ark-ff", + "ark-poly", + "ark-relations", + "ark-serialize", + "ark-std", +] + +[[package]] +name = "ark-poly" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" +dependencies = [ + "ahash", + "ark-ff", + "ark-serialize", + "ark-std", + "educe", + "fnv", + "hashbrown 0.15.4", +] + +[[package]] +name = "ark-r1cs-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-relations", + "ark-std", + "educe", + "num-bigint", + "num-integer", + "num-traits", + "tracing", +] + +[[package]] +name = "ark-relations" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec46ddc93e7af44bcab5230937635b06fb5744464dd6a7e7b083e80ebd274384" +dependencies = [ + "ark-ff", + "ark-std", + "tracing", + "tracing-subscriber 0.2.25", +] + +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "arrayvec", + "digest", + "num-bigint", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "ark-snark" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d368e2848c2d4c129ce7679a7d0d2d612b6a274d3ea6a13bad4445d61b381b88" +dependencies = [ + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-std", +] + +[[package]] +name = "ark-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "arraydeque" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "backtrace" +version = "0.3.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bonsai-sdk" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bce8d6acc5286a16e94c29e9c885d1869358885e08a6feeb6bc54e36fe20055" +dependencies = [ + "duplicate", + "maybe-async", + "reqwest", + "serde", + "thiserror 1.0.69", +] + +[[package]] +name = "borsh" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" +dependencies = [ + "borsh-derive", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" +dependencies = [ + "once_cell", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "bumpalo" +version = "3.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" + +[[package]] +name = "bytemuck" +version = "1.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +dependencies = [ + "serde", +] + +[[package]] +name = "camino" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.12", +] + +[[package]] +name = "cc" +version = "1.2.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956a5e21988b87f372569b66183b78babf23ebc2e744b733e4350a752c4dafac" +dependencies = [ + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "cobs" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[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.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.102", +] + +[[package]] +name = "darling_macro" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.102", +] + +[[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_builder" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "derive_builder_macro" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" +dependencies = [ + "derive_builder_core", + "syn 2.0.102", +] + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", + "unicode-xid", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "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-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 = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "docker-generate" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf673e0848ef09fa4aeeba78e681cf651c0c7d35f76ee38cec8e55bc32fa111" + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "duplicate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de78e66ac9061e030587b2a2e75cc88f22304913c907b11307bca737141230cb" +dependencies = [ + "heck 0.4.1", + "proc-macro-error", +] + +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "elf" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4445909572dbd556c457c849c4ca58623d84b27c8fff1e74b0b4227d8b90d17b" + +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum-ordinalize" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[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.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[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 = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +dependencies = [ + "allocator-api2", +] + +[[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] +name = "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 = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "host" +version = "0.1.0" +dependencies = [ + "bincode", + "methods", + "risc0-zkvm", + "serde", + "tracing-subscriber 0.3.19", +] + +[[package]] +name = "http" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "hyper" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +dependencies = [ + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", +] + +[[package]] +name = "hyper-util" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" +dependencies = [ + "base64", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "icu_collections" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" + +[[package]] +name = "icu_properties" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "potential_utf", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" + +[[package]] +name = "icu_provider" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +dependencies = [ + "displaydoc", + "icu_locale_core", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "include_bytes_aligned" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee796ad498c8d9a1d68e477df8f754ed784ef875de1414ebdaf169f70a6a784" + +[[package]] +name = "indexmap" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +dependencies = [ + "equivalent", + "hashbrown 0.15.4", +] + +[[package]] +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "js-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lazy-regex" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60c7310b93682b36b98fa7ea4de998d3463ccbebd94d935d6b48ba5b6ffa7126" +dependencies = [ + "lazy-regex-proc_macros", + "once_cell", + "regex", +] + +[[package]] +name = "lazy-regex-proc_macros" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ba01db5ef81e17eb10a5e0f2109d1b3a3e29bac3070fdbd7d156bf7dbd206a1" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.102", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "libc" +version = "0.2.172" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.9.1", + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" + +[[package]] +name = "litemap" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[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 = "maybe-async" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "memchr" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" + +[[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 = "metal" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" +dependencies = [ + "bitflags 2.9.1", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + +[[package]] +name = "methods" +version = "0.1.0" +dependencies = [ + "risc0-build", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +dependencies = [ + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", +] + +[[package]] +name = "no_std_strings" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5b0c77c1b780822bc749a33e39aeb2c07584ab93332303babeabb645298a76e" + +[[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-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[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-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[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 = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "postcard" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8" +dependencies = [ + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "serde", +] + +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro-crate" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" +dependencies = [ + "toml_edit", +] + +[[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-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prost" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-derive" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" +dependencies = [ + "anyhow", + "itertools 0.14.0", + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "quinn" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror 2.0.12", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" +dependencies = [ + "bytes", + "getrandom 0.3.3", + "lru-slab", + "rand 0.9.1", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.12", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", +] + +[[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_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.16", + "libredox", + "thiserror 1.0.69", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", +] + +[[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.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.5", +] + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "reqwest" +version = "0.12.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabf4c97d9130e2bf606614eb937e86edac8292eaa6f422f995d7e8de1eb1813" +dependencies = [ + "base64", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.16", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "risc0-binfmt" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fe7599ac55ad77515608ec42a9727001559fe4f579c533cb7c973b54800c05" +dependencies = [ + "anyhow", + "borsh", + "derive_more", + "elf", + "lazy_static", + "postcard", + "risc0-zkp", + "risc0-zkvm-platform", + "semver", + "serde", + "tracing", +] + +[[package]] +name = "risc0-build" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d17d6657b1fb615c0482bd4b57aae7850911ed7dbdc8e783df20e93f33209a8f" +dependencies = [ + "anyhow", + "cargo_metadata", + "derive_builder", + "dirs", + "docker-generate", + "hex", + "risc0-binfmt", + "risc0-zkos-v1compat", + "risc0-zkp", + "risc0-zkvm-platform", + "rzup", + "semver", + "serde", + "serde_json", + "stability", + "tempfile", +] + +[[package]] +name = "risc0-circuit-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d339c65b0e011677404bd6bdfe1b0f29748187a568fb2f74df7fb650590181a" +dependencies = [ + "anyhow", + "bytemuck", + "paste", + "risc0-binfmt", + "risc0-circuit-recursion", + "risc0-core", + "risc0-zkp", + "tracing", +] + +[[package]] +name = "risc0-circuit-recursion" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c6501fd3936aea2dd3e55915f34328fe96e6ca25ef00320242f837ae668785b" +dependencies = [ + "anyhow", + "bytemuck", + "hex", + "metal", + "risc0-core", + "risc0-zkp", + "tracing", +] + +[[package]] +name = "risc0-circuit-rv32im" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c80e0a8f0f56106295bb682dbc27093438e163a5f6384a79e877ab895a11d9ae" +dependencies = [ + "anyhow", + "bit-vec", + "bytemuck", + "derive_more", + "paste", + "risc0-binfmt", + "risc0-core", + "risc0-zkp", + "serde", + "tracing", +] + +[[package]] +name = "risc0-core" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317bbf70a8750b64d4fd7a2bdc9d7d5f30d8bb305cae486962c797ef35c8d08e" +dependencies = [ + "bytemuck", + "bytemuck_derive", + "rand_core 0.6.4", +] + +[[package]] +name = "risc0-groth16" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b31cb7b2a46f0cdaf71803ea7e0389af9f5bc1aea2531106f2972b241f26e98" +dependencies = [ + "anyhow", + "ark-bn254", + "ark-ec", + "ark-groth16", + "ark-serialize", + "bytemuck", + "hex", + "num-bigint", + "num-traits", + "risc0-binfmt", + "risc0-zkp", + "serde", + "stability", +] + +[[package]] +name = "risc0-zkos-v1compat" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f76c479b69d1987cb54ac72dcc017197296fdcd6daf78fafc10cbbd3a167a7de" +dependencies = [ + "include_bytes_aligned", + "no_std_strings", +] + +[[package]] +name = "risc0-zkp" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa210a232361fd671b30918469856b64d715f2564956d0a5df97ab6cb116d28b" +dependencies = [ + "anyhow", + "blake2", + "borsh", + "bytemuck", + "cfg-if", + "digest", + "hex", + "hex-literal", + "metal", + "paste", + "rand_core 0.6.4", + "risc0-core", + "risc0-zkvm-platform", + "serde", + "sha2", + "stability", + "tracing", +] + +[[package]] +name = "risc0-zkvm" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1014d2efcb3b359aff878c9aeb6aa949a6d91f091a2ffb5ffd8d928a1ab7f3" +dependencies = [ + "anyhow", + "bincode", + "bonsai-sdk", + "borsh", + "bytemuck", + "bytes", + "derive_more", + "getrandom 0.2.16", + "hex", + "lazy-regex", + "prost", + "risc0-binfmt", + "risc0-build", + "risc0-circuit-keccak", + "risc0-circuit-recursion", + "risc0-circuit-rv32im", + "risc0-core", + "risc0-groth16", + "risc0-zkos-v1compat", + "risc0-zkp", + "risc0-zkvm-platform", + "rrs-lib", + "rzup", + "semver", + "serde", + "sha2", + "stability", + "tempfile", + "tracing", +] + +[[package]] +name = "risc0-zkvm-platform" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e4de2938eaf24892ef927d9cef6e4acb6a19ce01c017cd498533896f633f332" +dependencies = [ + "bytemuck", + "cfg-if", + "getrandom 0.2.16", + "getrandom 0.3.3", + "libm", + "stability", +] + +[[package]] +name = "rrs-lib" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4382d3af3a4ebdae7f64ba6edd9114fff92c89808004c4943b393377a25d001" +dependencies = [ + "downcast-rs", + "paste", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustix" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +dependencies = [ + "bitflags 2.9.1", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustls" +version = "0.23.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pki-types" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +dependencies = [ + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "rzup" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "400558bf12d4292a7804093b60a437ba8b0219ea7d53716b2c010a0d31e5f4a8" +dependencies = [ + "semver", + "serde", + "strum", + "tempfile", + "thiserror 2.0.12", + "toml", + "yaml-rust2", +] + +[[package]] +name = "semver" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +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 = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[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 = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "socket2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "stability" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" +dependencies = [ + "quote", + "syn 2.0.102", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.102", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[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.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6397daf94fa90f058bd0fd88429dd9e5738999cca8d701813c80723add80462" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "tempfile" +version = "3.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +dependencies = [ + "fastrand", + "getrandom 0.3.3", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[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 = "tinystr" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +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.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "toml_write", + "winnow", +] + +[[package]] +name = "toml_write" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags 2.9.1", + "bytes", + "futures-util", + "http", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "tracing-core" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +dependencies = [ + "once_cell", + "valuable", +] + +[[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-subscriber" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +dependencies = [ + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typenum" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[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.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[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.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn 2.0.102", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +dependencies = [ + "cfg-if", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +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 = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" +dependencies = [ + "rustls-pki-types", +] + +[[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-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[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.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" +dependencies = [ + "memchr", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "writeable" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" + +[[package]] +name = "yaml-rust2" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a1a1c0bc9823338a3bdf8c61f994f23ac004c6fa32c08cd152984499b445e8d" +dependencies = [ + "arraydeque", + "encoding_rs", + "hashlink", +] + +[[package]] +name = "yoke" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +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.102", +] + +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] diff --git a/risc0/guest/Cargo.toml b/risc0/guest/Cargo.toml new file mode 100644 index 0000000..63b3854 --- /dev/null +++ b/risc0/guest/Cargo.toml @@ -0,0 +1,11 @@ +[workspace] +resolver = "2" +members = ["host", "methods"] + +# Always optimize; building and running the guest takes much longer without optimization. +[profile.dev] +opt-level = 3 + +[profile.release] +debug = 1 +lto = true diff --git a/risc0/guest/LICENSE b/risc0/guest/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/risc0/guest/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/risc0/guest/README.md b/risc0/guest/README.md new file mode 100644 index 0000000..df70292 --- /dev/null +++ b/risc0/guest/README.md @@ -0,0 +1,111 @@ +# RISC Zero Rust Starter Template + +Welcome to the RISC Zero Rust Starter Template! This template is intended to +give you a starting point for building a project using the RISC Zero zkVM. +Throughout the template (including in this README), you'll find comments +labelled `TODO` in places where you'll need to make changes. To better +understand the concepts behind this template, check out the [zkVM +Overview][zkvm-overview]. + +## Quick Start + +First, make sure [rustup] is installed. The +[`rust-toolchain.toml`][rust-toolchain] file will be used by `cargo` to +automatically install the correct version. + +To build all methods and execute the method within the zkVM, run the following +command: + +```bash +cargo run +``` + +This is an empty template, and so there is no expected output (until you modify +the code). + +### Executing the Project Locally in Development Mode + +During development, faster iteration upon code changes can be achieved by leveraging [dev-mode], we strongly suggest activating it during your early development phase. Furthermore, you might want to get insights into the execution statistics of your project, and this can be achieved by specifying the environment variable `RUST_LOG="[executor]=info"` before running your project. + +Put together, the command to run your project in development mode while getting execution statistics is: + +```bash +RUST_LOG="[executor]=info" RISC0_DEV_MODE=1 cargo run +``` + +### Running Proofs Remotely on Bonsai + +_Note: The Bonsai proving service is still in early Alpha; an API key is +required for access. [Click here to request access][bonsai access]._ + +If you have access to the URL and API key to Bonsai you can run your proofs +remotely. To prove in Bonsai mode, invoke `cargo run` with two additional +environment variables: + +```bash +BONSAI_API_KEY="YOUR_API_KEY" BONSAI_API_URL="BONSAI_URL" cargo run +``` + +## How to Create a Project Based on This Template + +Search this template for the string `TODO`, and make the necessary changes to +implement the required feature described by the `TODO` comment. Some of these +changes will be complex, and so we have a number of instructional resources to +assist you in learning how to write your own code for the RISC Zero zkVM: + +- The [RISC Zero Developer Docs][dev-docs] is a great place to get started. +- Example projects are available in the [examples folder][examples] of + [`risc0`][risc0-repo] repository. +- Reference documentation is available at [https://docs.rs][docs.rs], including + [`risc0-zkvm`][risc0-zkvm], [`cargo-risczero`][cargo-risczero], + [`risc0-build`][risc0-build], and [others][crates]. + +## Directory Structure + +It is possible to organize the files for these components in various ways. +However, in this starter template we use a standard directory structure for zkVM +applications, which we think is a good starting point for your applications. + +```text +project_name +├── Cargo.toml +├── host +│ ├── Cargo.toml +│ └── src +│ └── main.rs <-- [Host code goes here] +└── methods + ├── Cargo.toml + ├── build.rs + ├── guest + │ ├── Cargo.toml + │ └── src + │ └── method_name.rs <-- [Guest code goes here] + └── src + └── lib.rs +``` + +## Video Tutorial + +For a walk-through of how to build with this template, check out this [excerpt +from our workshop at ZK HACK III][zkhack-iii]. + +## Questions, Feedback, and Collaborations + +We'd love to hear from you on [Discord][discord] or [Twitter][twitter]. + +[bonsai access]: https://bonsai.xyz/apply +[cargo-risczero]: https://docs.rs/cargo-risczero +[crates]: https://github.com/risc0/risc0/blob/main/README.md#rust-binaries +[dev-docs]: https://dev.risczero.com +[dev-mode]: https://dev.risczero.com/api/generating-proofs/dev-mode +[discord]: https://discord.gg/risczero +[docs.rs]: https://docs.rs/releases/search?query=risc0 +[examples]: https://github.com/risc0/risc0/tree/main/examples +[risc0-build]: https://docs.rs/risc0-build +[risc0-repo]: https://www.github.com/risc0/risc0 +[risc0-zkvm]: https://docs.rs/risc0-zkvm +[rust-toolchain]: rust-toolchain.toml +[rustup]: https://rustup.rs +[twitter]: https://twitter.com/risczero +[zkhack-iii]: https://www.youtube.com/watch?v=Yg_BGqj_6lg&list=PLcPzhUaCxlCgig7ofeARMPwQ8vbuD6hC5&index=5 +[zkvm-overview]: https://dev.risczero.com/zkvm diff --git a/risc0/guest/host/Cargo.toml b/risc0/guest/host/Cargo.toml new file mode 100644 index 0000000..864a782 --- /dev/null +++ b/risc0/guest/host/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "host" +version = "0.1.0" +edition = "2021" + +[dependencies] +methods = { path = "../methods" } +risc0-zkvm = { version = "^2.1.0" } +tracing-subscriber = { version = "0.3", features = ["env-filter"] } +serde = "1.0" +bincode = "1.3" diff --git a/risc0/guest/host/src/main.rs b/risc0/guest/host/src/main.rs new file mode 100644 index 0000000..e09a78d --- /dev/null +++ b/risc0/guest/host/src/main.rs @@ -0,0 +1,37 @@ +use methods::{ + GUEST_CODE_FOR_ZK_PROOF_ELF, GUEST_CODE_FOR_ZK_PROOF_ID +}; +use risc0_zkvm::{default_prover, ExecutorEnv}; +use bincode; +use std::fs; + +fn main() { + tracing_subscriber::fmt() + .with_env_filter(tracing_subscriber::filter::EnvFilter::from_default_env()) + .init(); + let input: u32 = 5; + let env = ExecutorEnv::builder() + .write(&input) + .unwrap() + .build() + .unwrap(); + + let prover = default_prover(); + + let prove_info = prover + .prove(env, GUEST_CODE_FOR_ZK_PROOF_ELF) + .unwrap(); + + let receipt = prove_info.receipt; + + let proof_bytes = bincode::serialize(&receipt).unwrap(); + + fs::write("proof.bin", &proof_bytes).unwrap(); + println!("Proof saved to proof.bin"); + + let method_id_bytes = bincode::serialize(&GUEST_CODE_FOR_ZK_PROOF_ID).unwrap(); + fs::write("method_id.bin", method_id_bytes).unwrap(); + let output: (u32, u32) = receipt.journal.decode().unwrap(); + println!("input: {}", output.0); + println!("Result (square): {}", output.1); +} diff --git a/risc0/guest/method_id.bin b/risc0/guest/method_id.bin new file mode 100644 index 0000000..51d0853 --- /dev/null +++ b/risc0/guest/method_id.bin @@ -0,0 +1,2 @@ +˜‡ +E”²Í‹ø‘êmG$†ƒZ~Èâh(«ß§«"QeÐ \ No newline at end of file diff --git a/risc0/guest/methods/Cargo.toml b/risc0/guest/methods/Cargo.toml new file mode 100644 index 0000000..441d3b6 --- /dev/null +++ b/risc0/guest/methods/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "methods" +version = "0.1.0" +edition = "2021" + +[build-dependencies] +risc0-build = { version = "^2.1.2" } + +[package.metadata.risc0] +methods = ["guest"] diff --git a/risc0/guest/methods/build.rs b/risc0/guest/methods/build.rs new file mode 100644 index 0000000..08a8a4e --- /dev/null +++ b/risc0/guest/methods/build.rs @@ -0,0 +1,3 @@ +fn main() { + risc0_build::embed_methods(); +} diff --git a/risc0/guest/methods/guest/Cargo.lock b/risc0/guest/methods/guest/Cargo.lock new file mode 100644 index 0000000..d308a8b --- /dev/null +++ b/risc0/guest/methods/guest/Cargo.lock @@ -0,0 +1,1298 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "anyhow" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" + +[[package]] +name = "ark-bn254" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-r1cs-std", + "ark-std", +] + +[[package]] +name = "ark-crypto-primitives" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0c292754729c8a190e50414fd1a37093c786c709899f29c9f7daccecfa855e" +dependencies = [ + "ahash", + "ark-crypto-primitives-macros", + "ark-ec", + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-snark", + "ark-std", + "blake2", + "derivative", + "digest", + "fnv", + "merlin", + "sha2", +] + +[[package]] +name = "ark-crypto-primitives-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7e89fe77d1f0f4fe5b96dfc940923d88d17b6a773808124f21e764dfb063c6a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "ark-ec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" +dependencies = [ + "ahash", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "educe", + "fnv", + "hashbrown", + "itertools", + "num-bigint", + "num-integer", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "arrayvec", + "digest", + "educe", + "itertools", + "num-bigint", + "num-traits", + "paste", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.102", +] + +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "ark-groth16" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88f1d0f3a534bb54188b8dcc104307db6c56cdae574ddc3212aec0625740fc7e" +dependencies = [ + "ark-crypto-primitives", + "ark-ec", + "ark-ff", + "ark-poly", + "ark-relations", + "ark-serialize", + "ark-std", +] + +[[package]] +name = "ark-poly" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" +dependencies = [ + "ahash", + "ark-ff", + "ark-serialize", + "ark-std", + "educe", + "fnv", + "hashbrown", +] + +[[package]] +name = "ark-r1cs-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-relations", + "ark-std", + "educe", + "num-bigint", + "num-integer", + "num-traits", + "tracing", +] + +[[package]] +name = "ark-relations" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec46ddc93e7af44bcab5230937635b06fb5744464dd6a7e7b083e80ebd274384" +dependencies = [ + "ark-ff", + "ark-std", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "arrayvec", + "digest", + "num-bigint", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "ark-snark" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d368e2848c2d4c129ce7679a7d0d2d612b6a274d3ea6a13bad4445d61b381b88" +dependencies = [ + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-std", +] + +[[package]] +name = "ark-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "borsh" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" +dependencies = [ + "borsh-derive", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" +dependencies = [ + "once_cell", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "bytemuck" +version = "1.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "cfg-if" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "cobs" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[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.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[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_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", + "unicode-xid", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "elf" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4445909572dbd556c457c849c4ca58623d84b27c8fff1e74b0b4227d8b90d17b" + +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + +[[package]] +name = "enum-ordinalize" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[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.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", +] + +[[package]] +name = "guest_code_for_zk_proof" +version = "0.1.0" +dependencies = [ + "risc0-zkvm", +] + +[[package]] +name = "hashbrown" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +dependencies = [ + "allocator-api2", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "include_bytes_aligned" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee796ad498c8d9a1d68e477df8f754ed784ef875de1414ebdaf169f70a6a784" + +[[package]] +name = "indexmap" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "libc" +version = "0.2.172" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "memchr" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" + +[[package]] +name = "merlin" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" +dependencies = [ + "byteorder", + "keccak", + "rand_core", + "zeroize", +] + +[[package]] +name = "metal" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" +dependencies = [ + "bitflags 2.9.1", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + +[[package]] +name = "no_std_strings" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5b0c77c1b780822bc749a33e39aeb2c07584ab93332303babeabb645298a76e" + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[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-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "postcard" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8" +dependencies = [ + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "serde", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro-crate" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "rand_chacha", + "rand_core", +] + +[[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", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" + +[[package]] +name = "risc0-binfmt" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fe7599ac55ad77515608ec42a9727001559fe4f579c533cb7c973b54800c05" +dependencies = [ + "anyhow", + "borsh", + "derive_more", + "elf", + "lazy_static", + "postcard", + "risc0-zkp", + "risc0-zkvm-platform", + "semver", + "serde", + "tracing", +] + +[[package]] +name = "risc0-circuit-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d339c65b0e011677404bd6bdfe1b0f29748187a568fb2f74df7fb650590181a" +dependencies = [ + "anyhow", + "bytemuck", + "paste", + "risc0-binfmt", + "risc0-circuit-recursion", + "risc0-core", + "risc0-zkp", + "tracing", +] + +[[package]] +name = "risc0-circuit-recursion" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c6501fd3936aea2dd3e55915f34328fe96e6ca25ef00320242f837ae668785b" +dependencies = [ + "anyhow", + "bytemuck", + "hex", + "metal", + "risc0-core", + "risc0-zkp", + "tracing", +] + +[[package]] +name = "risc0-circuit-rv32im" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c80e0a8f0f56106295bb682dbc27093438e163a5f6384a79e877ab895a11d9ae" +dependencies = [ + "anyhow", + "bit-vec", + "bytemuck", + "derive_more", + "paste", + "risc0-binfmt", + "risc0-core", + "risc0-zkp", + "serde", + "tracing", +] + +[[package]] +name = "risc0-core" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317bbf70a8750b64d4fd7a2bdc9d7d5f30d8bb305cae486962c797ef35c8d08e" +dependencies = [ + "bytemuck", + "bytemuck_derive", + "rand_core", +] + +[[package]] +name = "risc0-groth16" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b31cb7b2a46f0cdaf71803ea7e0389af9f5bc1aea2531106f2972b241f26e98" +dependencies = [ + "anyhow", + "ark-bn254", + "ark-ec", + "ark-groth16", + "ark-serialize", + "bytemuck", + "hex", + "num-bigint", + "num-traits", + "risc0-binfmt", + "risc0-zkp", + "serde", + "stability", +] + +[[package]] +name = "risc0-zkos-v1compat" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f76c479b69d1987cb54ac72dcc017197296fdcd6daf78fafc10cbbd3a167a7de" +dependencies = [ + "include_bytes_aligned", + "no_std_strings", +] + +[[package]] +name = "risc0-zkp" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa210a232361fd671b30918469856b64d715f2564956d0a5df97ab6cb116d28b" +dependencies = [ + "anyhow", + "blake2", + "borsh", + "bytemuck", + "cfg-if", + "digest", + "hex", + "hex-literal", + "metal", + "paste", + "rand_core", + "risc0-core", + "risc0-zkvm-platform", + "serde", + "sha2", + "stability", + "tracing", +] + +[[package]] +name = "risc0-zkvm" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1014d2efcb3b359aff878c9aeb6aa949a6d91f091a2ffb5ffd8d928a1ab7f3" +dependencies = [ + "anyhow", + "borsh", + "bytemuck", + "derive_more", + "getrandom 0.2.16", + "hex", + "risc0-binfmt", + "risc0-circuit-keccak", + "risc0-circuit-recursion", + "risc0-circuit-rv32im", + "risc0-core", + "risc0-groth16", + "risc0-zkos-v1compat", + "risc0-zkp", + "risc0-zkvm-platform", + "rrs-lib", + "semver", + "serde", + "sha2", + "stability", + "tracing", +] + +[[package]] +name = "risc0-zkvm-platform" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e4de2938eaf24892ef927d9cef6e4acb6a19ce01c017cd498533896f633f332" +dependencies = [ + "bytemuck", + "cfg-if", + "getrandom 0.2.16", + "getrandom 0.3.3", + "libm", + "stability", +] + +[[package]] +name = "rrs-lib" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4382d3af3a4ebdae7f64ba6edd9114fff92c89808004c4943b393377a25d001" +dependencies = [ + "downcast-rs", + "paste", +] + +[[package]] +name = "semver" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "stability" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" +dependencies = [ + "quote", + "syn 2.0.102", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[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.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6397daf94fa90f058bd0fd88429dd9e5738999cca8d701813c80723add80462" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "toml_datetime" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" + +[[package]] +name = "toml_edit" +version = "0.22.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "tracing-core" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-subscriber" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +dependencies = [ + "tracing-core", +] + +[[package]] +name = "typenum" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "winnow" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" +dependencies = [ + "memchr", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "zerocopy" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +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.102", +] diff --git a/risc0/guest/methods/guest/Cargo.toml b/risc0/guest/methods/guest/Cargo.toml new file mode 100644 index 0000000..9ba71fb --- /dev/null +++ b/risc0/guest/methods/guest/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "guest_code_for_zk_proof" +version = "0.1.0" +edition = "2021" + +[workspace] + +[dependencies] +risc0-zkvm = { version = "^2.1.0", default-features = false, features = ['std'] } diff --git a/risc0/guest/methods/guest/src/main.rs b/risc0/guest/methods/guest/src/main.rs new file mode 100644 index 0000000..71425f9 --- /dev/null +++ b/risc0/guest/methods/guest/src/main.rs @@ -0,0 +1,11 @@ +use risc0_zkvm::guest::env; + +fn main() { + let input: u32 = env::read(); + + let result = input * input; + + let output = (input, result); + + env::commit(&output); +} diff --git a/risc0/guest/methods/src/lib.rs b/risc0/guest/methods/src/lib.rs new file mode 100644 index 0000000..1bdb308 --- /dev/null +++ b/risc0/guest/methods/src/lib.rs @@ -0,0 +1 @@ +include!(concat!(env!("OUT_DIR"), "/methods.rs")); diff --git a/risc0/guest/proof.bin b/risc0/guest/proof.bin new file mode 100644 index 0000000000000000000000000000000000000000..1dbbb81efc63e0703e81a626f0759afaf18a6107 GIT binary patch literal 209514 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

tygp;jsqRGKSjceg`W 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

{s5ss?Aogz`0U)3i1 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 o>BT9}PJaE = env::read(); + + env::commit(&input); +} \ No newline at end of file