diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index 78e8314eac..0000000000 --- a/Cargo.lock +++ /dev/null @@ -1,8015 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "adler32" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" - -[[package]] -name = "aead" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" -dependencies = [ - "generic-array", -] - -[[package]] -name = "aead" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" -dependencies = [ - "generic-array", -] - -[[package]] -name = "aes" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" -dependencies = [ - "aes-soft", - "aesni", - "cipher 0.2.5", -] - -[[package]] -name = "aes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" -dependencies = [ - "cfg-if 1.0.0", - "cipher 0.3.0", - "cpufeatures", - "opaque-debug", -] - -[[package]] -name = "aes" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" -dependencies = [ - "cfg-if 1.0.0", - "cipher 0.4.4", - "cpufeatures", -] - -[[package]] -name = "aes-gcm" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" -dependencies = [ - "aead 0.3.2", - "aes 0.6.0", - "cipher 0.2.5", - "ctr", - "ghash", - "subtle", -] - -[[package]] -name = "aes-soft" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" -dependencies = [ - "cipher 0.2.5", - "opaque-debug", -] - -[[package]] -name = "aesni" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" -dependencies = [ - "cipher 0.2.5", - "opaque-debug", -] - -[[package]] -name = "ahash" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom 0.2.9", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" -dependencies = [ - "cfg-if 1.0.0", - "once_cell", - "version_check", -] - -[[package]] -name = "aho-corasick" -version = "0.7.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" -dependencies = [ - "memchr", -] - -[[package]] -name = "aho-corasick" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" -dependencies = [ - "memchr", -] - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anes" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - -[[package]] -name = "anstyle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" - -[[package]] -name = "anyhow" -version = "1.0.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" - -[[package]] -name = "arc-swap" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" - -[[package]] -name = "ark-bls12-377" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-crypto-primitives" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-relations", - "ark-serialize", - "ark-snark", - "ark-std", - "blake2", - "derivative", - "digest 0.10.6", - "rayon", - "sha2 0.10.6", -] - -[[package]] -name = "ark-ec" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" -dependencies = [ - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", - "itertools", - "num-traits", - "rayon", - "zeroize", -] - -[[package]] -name = "ark-ed-on-bls12-377" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10d901b9ac4b38f9c32beacedfadcdd64e46f8d7f8e88c1ae1060022cf6f6c6" -dependencies = [ - "ark-bls12-377", - "ark-ec", - "ark-ff", - "ark-r1cs-std", - "ark-std", -] - -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", - "derivative", - "digest 0.10.6", - "itertools", - "num-bigint", - "num-traits", - "paste", - "rayon", - "rustc_version 0.4.0", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "ark-groth16" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" -dependencies = [ - "ark-crypto-primitives", - "ark-ec", - "ark-ff", - "ark-poly", - "ark-relations", - "ark-serialize", - "ark-std", - "rayon", -] - -[[package]] -name = "ark-poly" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", - "rayon", -] - -[[package]] -name = "ark-r1cs-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de1d1472e5cb020cb3405ce2567c91c8d43f21b674aef37b0202f5c3304761db" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-relations", - "ark-std", - "derivative", - "num-bigint", - "num-integer", - "num-traits", - "tracing", -] - -[[package]] -name = "ark-relations" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" -dependencies = [ - "ark-ff", - "ark-std", - "tracing", - "tracing-subscriber 0.2.25", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-serialize-derive", - "ark-std", - "digest 0.10.6", - "num-bigint", -] - -[[package]] -name = "ark-serialize-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "ark-snark" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" -dependencies = [ - "ark-ff", - "ark-relations", - "ark-serialize", - "ark-std", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand 0.8.5", - "rayon", -] - -[[package]] -name = "arrayref" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" - -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - -[[package]] -name = "arrayvec" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" - -[[package]] -name = "asn1-rs" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33" -dependencies = [ - "asn1-rs-derive", - "asn1-rs-impl", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror", - "time 0.3.19", -] - -[[package]] -name = "asn1-rs-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", - "synstructure", -] - -[[package]] -name = "asn1-rs-impl" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "assert_cmd" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d6b683edf8d1119fe420a94f8a7e389239666aa72e65495d91c00462510151" -dependencies = [ - "anstyle", - "bstr", - "doc-comment", - "predicates 3.0.3", - "predicates-core", - "predicates-tree", - "wait-timeout", -] - -[[package]] -name = "async-channel" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - -[[package]] -name = "async-dup" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7427a12b8dc09291528cfb1da2447059adb4a257388c2acd6497a79d55cf6f7c" -dependencies = [ - "futures-io", - "simple-mutex", -] - -[[package]] -name = "async-executor" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb" -dependencies = [ - "async-lock", - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "slab", -] - -[[package]] -name = "async-fs" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" -dependencies = [ - "async-lock", - "autocfg", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-global-executor" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" -dependencies = [ - "async-channel", - "async-executor", - "async-io", - "async-lock", - "blocking", - "futures-lite", - "once_cell", -] - -[[package]] -name = "async-h1" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8101020758a4fc3a7c326cb42aa99e9fa77cbfb76987c128ad956406fe1f70a7" -dependencies = [ - "async-channel", - "async-dup", - "async-std", - "futures-core", - "http-types", - "httparse", - "log", - "pin-project", -] - -[[package]] -name = "async-io" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" -dependencies = [ - "async-lock", - "autocfg", - "cfg-if 1.0.0", - "concurrent-queue", - "futures-lite", - "log", - "parking", - "polling", - "rustix", - "slab", - "socket2", - "waker-fn", -] - -[[package]] -name = "async-lock" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-net" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4051e67316bc7eff608fe723df5d32ed639946adcd69e07df41fd42a7b411f1f" -dependencies = [ - "async-io", - "autocfg", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-process" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9" -dependencies = [ - "async-io", - "async-lock", - "autocfg", - "blocking", - "cfg-if 1.0.0", - "event-listener", - "futures-lite", - "rustix", - "signal-hook", - "windows-sys 0.48.0", -] - -[[package]] -name = "async-std" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" -dependencies = [ - "async-channel", - "async-global-executor", - "async-io", - "async-lock", - "crossbeam-utils", - "futures-channel", - "futures-core", - "futures-io", - "futures-lite", - "gloo-timers", - "kv-log-macro", - "log", - "memchr", - "once_cell", - "pin-project-lite", - "pin-utils", - "slab", - "wasm-bindgen-futures", -] - -[[package]] -name = "async-stream" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22068c0c19514942eefcfd4daf8976ef1aad84e61539f95cd200c35202f80af5" -dependencies = [ - "async-stream-impl 0.2.1", - "futures-core", -] - -[[package]] -name = "async-stream" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" -dependencies = [ - "async-stream-impl 0.3.5", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f9db3b38af870bf7e5cc649167533b493928e50744e2c30ae350230b414670" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "async-task" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" - -[[package]] -name = "async-trait" -version = "0.1.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "atomic-shim" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67cd4b51d303cf3501c301e8125df442128d3c6d7c69f71b27833d253de47e77" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "atomic-waker" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "axum" -version = "0.5.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43" -dependencies = [ - "async-trait", - "axum-core 0.2.9", - "bitflags 1.3.2", - "bytes", - "futures-util", - "headers", - "http", - "http-body", - "hyper", - "itoa", - "matchit 0.5.0", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "tokio", - "tower", - "tower-http", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum" -version = "0.6.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39" -dependencies = [ - "async-trait", - "axum-core 0.3.4", - "bitflags 1.3.2", - "bytes", - "futures-util", - "http", - "http-body", - "hyper", - "itoa", - "matchit 0.7.0", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "mime", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "mime", - "rustversion", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-server" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bace45b270e36e3c27a190c65883de6dfc9f1d18c829907c127464815dc67b24" -dependencies = [ - "arc-swap", - "bytes", - "futures-util", - "http", - "http-body", - "hyper", - "pin-project-lite", - "rustls 0.20.8", - "rustls-pemfile", - "tokio", - "tokio-rustls 0.23.4", - "tower-service", -] - -[[package]] -name = "base-x" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5" - -[[package]] -name = "base64" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" - -[[package]] -name = "bcs" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd3ffe8b19a604421a5d461d4a70346223e535903fbc3067138bddbebddcf77" -dependencies = [ - "serde", - "thiserror", -] - -[[package]] -name = "bech32" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9ff0bbfd639f15c74af777d81383cf53efb7c93613f6cab67c6c11e05bbf8b" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bindgen" -version = "0.64.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" -dependencies = [ - "bitflags 1.3.2", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "peeking_take_while", - "proc-macro2 1.0.57", - "quote 1.0.27", - "regex", - "rustc-hash", - "shlex", - "syn 1.0.109", -] - -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f6b0c9ebae276e207a3e4e989ed9f3be8b7ce8728b80629c98c21d27742e6ba" - -[[package]] -name = "bitmaps" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" -dependencies = [ - "typenum", -] - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest 0.10.6", -] - -[[package]] -name = "blake2b_simd" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "constant_time_eq 0.1.5", -] - -[[package]] -name = "blake2b_simd" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc" -dependencies = [ - "arrayref", - "arrayvec 0.7.2", - "constant_time_eq 0.2.5", -] - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", -] - -[[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 = "blocking" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65" -dependencies = [ - "async-channel", - "async-lock", - "async-task", - "atomic-waker", - "fastrand", - "futures-lite", - "log", -] - -[[package]] -name = "borsh" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" -dependencies = [ - "borsh-derive", - "hashbrown 0.13.2", -] - -[[package]] -name = "borsh-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" -dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate 0.1.5", - "proc-macro2 1.0.57", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "bstr" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09" -dependencies = [ - "memchr", - "once_cell", - "regex-automata", - "serde", -] - -[[package]] -name = "bumpalo" -version = "3.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b" - -[[package]] -name = "byte-slice-cast" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "bytes" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" -dependencies = [ - "serde", -] - -[[package]] -name = "bytesize" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5" - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - -[[package]] -name = "camino" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2" - -[[package]] -name = "cast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" - -[[package]] -name = "cc" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" -dependencies = [ - "jobserver", -] - -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chacha20" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" -dependencies = [ - "cfg-if 1.0.0", - "cipher 0.3.0", - "cpufeatures", - "zeroize", -] - -[[package]] -name = "chacha20poly1305" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5" -dependencies = [ - "aead 0.4.3", - "chacha20", - "cipher 0.3.0", - "poly1305", - "zeroize", -] - -[[package]] -name = "chrono" -version = "0.4.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" -dependencies = [ - "iana-time-zone", - "js-sys", - "num-integer", - "num-traits", - "serde", - "time 0.1.43", - "wasm-bindgen", - "winapi", -] - -[[package]] -name = "ciborium" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926" -dependencies = [ - "ciborium-io", - "ciborium-ll", - "serde", -] - -[[package]] -name = "ciborium-io" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656" - -[[package]] -name = "ciborium-ll" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b" -dependencies = [ - "ciborium-io", - "half", -] - -[[package]] -name = "cipher" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" -dependencies = [ - "generic-array", -] - -[[package]] -name = "cipher" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" -dependencies = [ - "generic-array", -] - -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", -] - -[[package]] -name = "clang-sys" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "bitflags 1.3.2", - "textwrap 0.11.0", - "unicode-width", -] - -[[package]] -name = "clap" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_derive", - "clap_lex", - "indexmap", - "once_cell", - "strsim", - "termcolor", - "textwrap 0.16.0", -] - -[[package]] -name = "clap_derive" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" -dependencies = [ - "heck 0.4.1", - "proc-macro-error 1.0.4", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - -[[package]] -name = "colored_json" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd32eb54d016e203b7c2600e3a7802c75843a92e38ccc4869aefeca21771a64" -dependencies = [ - "ansi_term", - "atty", - "libc", - "serde", - "serde_json", -] - -[[package]] -name = "comfy-table" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b103d85ca6e209388771bfb7aa6b68a7aeec4afbf6f0a0264bfbf50360e5212e" -dependencies = [ - "crossterm", - "strum", - "strum_macros", - "unicode-width", -] - -[[package]] -name = "concurrent-queue" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "console" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60" -dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "unicode-width", - "windows-sys 0.42.0", -] - -[[package]] -name = "console-api" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2895653b4d9f1538a83970077cb01dfc77a4810524e51a110944688e916b18e" -dependencies = [ - "prost", - "prost-types", - "tonic 0.9.2", - "tracing-core", -] - -[[package]] -name = "console-subscriber" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ab2224a0311582eb03adba4caaf18644f7b1f10a760803a803b9b605187fc7" -dependencies = [ - "console-api", - "crossbeam-channel", - "crossbeam-utils", - "futures", - "hdrhistogram", - "humantime", - "prost-types", - "serde", - "serde_json", - "thread_local", - "tokio", - "tokio-stream", - "tonic 0.9.2", - "tracing", - "tracing-core", - "tracing-subscriber 0.3.17", -] - -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if 1.0.0", - "wasm-bindgen", -] - -[[package]] -name = "const_fn" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935" - -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "constant_time_eq" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b" - -[[package]] -name = "cookie" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951" -dependencies = [ - "aes-gcm", - "base64 0.13.1", - "hkdf", - "hmac 0.10.1", - "percent-encoding", - "rand 0.8.5", - "sha2 0.9.9", - "time 0.2.27", - "version_check", -] - -[[package]] -name = "core-foundation" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" - -[[package]] -name = "cpufeatures" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" -dependencies = [ - "libc", -] - -[[package]] -name = "cpuid-bool" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" - -[[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "criterion" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f" -dependencies = [ - "atty", - "cast", - "clap 2.34.0", - "criterion-plot 0.4.5", - "csv", - "itertools", - "lazy_static", - "num-traits", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_cbor", - "serde_derive", - "serde_json", - "tinytemplate", - "walkdir", -] - -[[package]] -name = "criterion" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb" -dependencies = [ - "anes", - "atty", - "cast", - "ciborium", - "clap 3.2.25", - "criterion-plot 0.5.0", - "itertools", - "lazy_static", - "num-traits", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_derive", - "serde_json", - "tinytemplate", - "walkdir", -] - -[[package]] -name = "criterion-plot" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" -dependencies = [ - "cast", - "itertools", -] - -[[package]] -name = "criterion-plot" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" -dependencies = [ - "cast", - "itertools", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" -dependencies = [ - "autocfg", - "cfg-if 1.0.0", - "crossbeam-utils", - "memoffset", - "scopeguard", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "crossterm" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2102ea4f781910f8a5b98dd061f4c2023f479ce7bb1236330099ceb5a93cf17" -dependencies = [ - "bitflags 1.3.2", - "crossterm_winapi", - "libc", - "mio", - "parking_lot 0.12.1", - "signal-hook", - "signal-hook-mio", - "winapi", -] - -[[package]] -name = "crossterm_winapi" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ae1b35a484aa10e07fe0638d02301c5ad24de82d310ccbd2f3693da5f09bf1c" -dependencies = [ - "winapi", -] - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[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 = "crypto-mac" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "csv" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b015497079b9a9d69c02ad25de6c0a6edef051ea6360a327d0bd05802ef64ad" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" -dependencies = [ - "memchr", -] - -[[package]] -name = "ct-logs" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1a816186fa68d9e426e3cb4ae4dff1fcd8e4a2c34b781bf7a822574a0d0aac8" -dependencies = [ - "sct 0.6.1", -] - -[[package]] -name = "ctor" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" -dependencies = [ - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "ctr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" -dependencies = [ - "cipher 0.2.5", -] - -[[package]] -name = "curve25519-dalek-ng" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.6.4", - "subtle-ng", - "zeroize", -] - -[[package]] -name = "darling" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", -] - -[[package]] -name = "darling" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" -dependencies = [ - "darling_core 0.20.1", - "darling_macro 0.20.1", -] - -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2 1.0.57", - "quote 1.0.27", - "strsim", - "syn 1.0.109", -] - -[[package]] -name = "darling_core" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2 1.0.57", - "quote 1.0.27", - "strsim", - "syn 2.0.16", -] - -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "darling_macro" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" -dependencies = [ - "darling_core 0.20.1", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "data-encoding" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" - -[[package]] -name = "decaf377" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75bb0f9fde498b60e4563c9346bbd4527d4ff4930a43c404ceb4cf63166c9ea4" -dependencies = [ - "anyhow", - "ark-bls12-377", - "ark-ec", - "ark-ed-on-bls12-377", - "ark-ff", - "ark-groth16", - "ark-r1cs-std", - "ark-relations", - "ark-serialize", - "ark-snark", - "ark-std", - "hex", - "num-bigint", - "once_cell", - "thiserror", - "tracing", - "tracing-subscriber 0.2.25", - "zeroize", -] - -[[package]] -name = "decaf377-fmd" -version = "0.52.0" -dependencies = [ - "ark-ff", - "ark-serialize", - "bitvec", - "blake2b_simd 0.5.11", - "criterion 0.3.6", - "decaf377", - "proptest", - "rand_core 0.6.4", - "thiserror", -] - -[[package]] -name = "decaf377-ka" -version = "0.52.0" -dependencies = [ - "ark-ff", - "decaf377", - "hex", - "proptest", - "rand_core 0.6.4", - "thiserror", - "zeroize", - "zeroize_derive", -] - -[[package]] -name = "decaf377-rdsa" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05131bac8c805909049979dc7d2e33bdfed9d2eb4a2390ea998d91a542ae4aca" -dependencies = [ - "ark-ff", - "ark-serialize", - "blake2b_simd 0.5.11", - "byteorder", - "decaf377", - "digest 0.9.0", - "hex", - "rand_core 0.6.4", - "serde", - "thiserror", -] - -[[package]] -name = "der-parser" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82" -dependencies = [ - "asn1-rs", - "displaydoc", - "nom", - "num-bigint", - "num-traits", - "rusticata-macros", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "derive_more" -version = "0.99.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "dialoguer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" -dependencies = [ - "console", - "shell-words", - "tempfile", - "zeroize", -] - -[[package]] -name = "difflib" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - -[[package]] -name = "digest" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" -dependencies = [ - "block-buffer 0.10.4", - "crypto-common", - "subtle", -] - -[[package]] -name = "directories" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "discard" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" - -[[package]] -name = "displaydoc" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - -[[package]] -name = "dyn-clone" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30" - -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-consensus" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" -dependencies = [ - "curve25519-dalek-ng", - "hex", - "rand_core 0.6.4", - "serde", - "sha2 0.9.9", - "thiserror", - "zeroize", -] - -[[package]] -name = "either" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" - -[[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "encoding_rs" -version = "0.8.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "endian-type" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" - -[[package]] -name = "enum-iterator" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2953d1df47ac0eb70086ccabf0275aa8da8591a28bd358ee2b52bd9f9e3ff9e9" -dependencies = [ - "enum-iterator-derive", -] - -[[package]] -name = "enum-iterator-derive" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8958699f9359f0b04e691a13850d48b7de329138023876d07cbd024c2c820598" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "erased-serde" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2b0c2380453a92ea8b6c8e5f64ecaafccddde8ceab55ff7a8ac1029f894569" -dependencies = [ - "serde", -] - -[[package]] -name = "errno" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" -dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "ethnum" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0198b9d0078e0f30dedc7acbb21c974e838fc8fae3ee170128658a98cb2c1c04" - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "eyre" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" -dependencies = [ - "indenter", - "once_cell", -] - -[[package]] -name = "f4jumble" -version = "0.0.0" -source = "git+https://github.com/zcash/librustzcash?rev=2425a0869098e3b0588ccd73c42716bcf418612c#2425a0869098e3b0588ccd73c42716bcf418612c" -dependencies = [ - "blake2b_simd 1.0.1", -] - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - -[[package]] -name = "fallible-streaming-iterator" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" - -[[package]] -name = "fastrand" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - -[[package]] -name = "fixed-hash" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" -dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", -] - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - -[[package]] -name = "flate2" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "flex-error" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b" -dependencies = [ - "eyre", - "paste", -] - -[[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" -dependencies = [ - "num-traits", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "frost377" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cb50dd922b56e36d8d6ab99d098757b8f9facb17d96da183692690203f6b4a" -dependencies = [ - "anyhow", - "ark-ff", - "ark-poly", - "blake2b_simd 0.5.11", - "decaf377", - "rand 0.8.5", -] - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" - -[[package]] -name = "futures-executor" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" - -[[package]] -name = "futures-lite" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite", - "waker-fn", -] - -[[package]] -name = "futures-macro" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "futures-rustls" -version = "0.22.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" -dependencies = [ - "futures-io", - "rustls 0.20.8", - "webpki 0.22.0", -] - -[[package]] -name = "futures-sink" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" - -[[package]] -name = "futures-task" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" - -[[package]] -name = "futures-util" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "genawaiter" -version = "0.99.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86bd0361bcbde39b13475e6e36cb24c329964aa2611be285289d1e4b751c1a0" -dependencies = [ - "genawaiter-macro", - "genawaiter-proc-macro", - "proc-macro-hack", -] - -[[package]] -name = "genawaiter-macro" -version = "0.99.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b32dfe1fdfc0bbde1f22a5da25355514b5e450c33a6af6770884c8750aedfbc" - -[[package]] -name = "genawaiter-proc-macro" -version = "0.99.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784f84eebc366e15251c4a8c3acee82a6a6f427949776ecb88377362a9621738" -dependencies = [ - "proc-macro-error 0.4.12", - "proc-macro-hack", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[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.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getset" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9" -dependencies = [ - "proc-macro-error 1.0.4", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "ghash" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" -dependencies = [ - "opaque-debug", - "polyval", -] - -[[package]] -name = "git2" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b7905cdfe33d31a88bb2e8419ddd054451f5432d1da9eaf2ac7804ee1ea12d5" -dependencies = [ - "bitflags 1.3.2", - "libc", - "libgit2-sys", - "log", - "url", -] - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "gloo-timers" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "h2" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util 0.7.8", - "tracing", -] - -[[package]] -name = "half" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" - -[[package]] -name = "hash_hasher" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74721d007512d0cb3338cd20f0654ac913920061a4c4d0d8708edb3f2a698c0c" - -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash 0.7.6", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.6", -] - -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash 0.8.3", -] - -[[package]] -name = "hashlink" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0761a1b9491c4f2e3d66aa0f62d0fba0af9a0e2852e4d48ea506632a4b56e6aa" -dependencies = [ - "hashbrown 0.13.2", -] - -[[package]] -name = "hdrhistogram" -version = "7.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8" -dependencies = [ - "base64 0.13.1", - "byteorder", - "flate2", - "nom", - "num-traits", -] - -[[package]] -name = "headers" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" -dependencies = [ - "base64 0.13.1", - "bitflags 1.3.2", - "bytes", - "headers-core", - "http", - "httpdate", - "mime", - "sha1 0.10.5", -] - -[[package]] -name = "headers-core" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" -dependencies = [ - "http", -] - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hkdf" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51ab2f639c231793c5f6114bdb9bbe50a7dbbfcd7c7c6bd8475dec2d991e964f" -dependencies = [ - "digest 0.9.0", - "hmac 0.10.1", -] - -[[package]] -name = "hmac" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" -dependencies = [ - "crypto-mac", - "digest 0.9.0", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.6", -] - -[[package]] -name = "http" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "http-range-header" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" - -[[package]] -name = "http-types" -version = "2.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e9b187a72d63adbfba487f48095306ac823049cb504ee195541e91c7775f5ad" -dependencies = [ - "anyhow", - "async-channel", - "async-std", - "base64 0.13.1", - "cookie", - "futures-lite", - "infer", - "pin-project-lite", - "rand 0.7.3", - "serde", - "serde_json", - "serde_qs", - "serde_urlencoded", - "url", -] - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "hyper" -version = "0.14.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-proxy" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca815a891b24fdfb243fa3239c86154392b0953ee584aa1a2a1f66d20cbe75cc" -dependencies = [ - "bytes", - "futures", - "headers", - "http", - "hyper", - "hyper-rustls", - "rustls-native-certs", - "tokio", - "tokio-rustls 0.22.0", - "tower-service", - "webpki 0.21.4", -] - -[[package]] -name = "hyper-rustls" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64" -dependencies = [ - "ct-logs", - "futures-util", - "hyper", - "log", - "rustls 0.19.1", - "rustls-native-certs", - "tokio", - "tokio-rustls 0.22.0", - "webpki 0.21.4", - "webpki-roots 0.21.1", -] - -[[package]] -name = "hyper-timeout" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" -dependencies = [ - "hyper", - "pin-project-lite", - "tokio", - "tokio-io-timeout", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "ibc-proto" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9303a1308c886aea769ef0667c5caa422a78b01e9f8177fea8b91b08a4ff50c" -dependencies = [ - "base64 0.13.1", - "borsh", - "bytes", - "flex-error", - "parity-scale-codec", - "prost", - "scale-info", - "serde", - "subtle-encoding", - "tendermint-proto", - "tonic 0.8.3", -] - -[[package]] -name = "ibc-types" -version = "0.1.1" -source = "git+https://github.com/penumbra-zone/ibc-types?branch=0.1.x#c9ba7906963e12f4a481bfe85c6b3959c75d213d" -dependencies = [ - "bytes", - "derive_more", - "displaydoc", - "dyn-clone", - "erased-serde", - "ibc-proto", - "ics23", - "num-traits", - "primitive-types", - "prost", - "safe-regex", - "serde", - "serde_derive", - "serde_json", - "sha2 0.10.6", - "subtle-encoding", - "tendermint", - "tendermint-light-client-verifier", - "tendermint-proto", - "time 0.3.19", - "tracing", - "uint", -] - -[[package]] -name = "ibig" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1fcc7f316b2c079dde77564a1360639c1a956a23fa96122732e416cb10717bb" -dependencies = [ - "cfg-if 1.0.0", - "num-traits", - "rand 0.8.5", - "static_assertions", -] - -[[package]] -name = "ics23" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca44b684ce1859cff746ff46f5765ab72e12e3c06f76a8356db8f9a2ecf43f17" -dependencies = [ - "anyhow", - "bytes", - "hex", - "prost", - "ripemd", - "sha2 0.10.6", - "sha3", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "im" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" -dependencies = [ - "bitmaps", - "rand_core 0.6.4", - "rand_xoshiro", - "serde", - "sized-chunks", - "typenum", - "version_check", -] - -[[package]] -name = "impl-codec" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "impl-serde" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" -dependencies = [ - "serde", -] - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "include-flate" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfdcb449c721557c1cf89bbd3412bf33fa963289e26e9badbd824a960912e148" -dependencies = [ - "include-flate-codegen-exports", - "lazy_static", - "libflate", -] - -[[package]] -name = "include-flate-codegen" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a7d6e1419fa3129eb0802b4c99603c0d425c79fb5d76191d5a20d0ab0d664e8" -dependencies = [ - "libflate", - "proc-macro-hack", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "include-flate-codegen-exports" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75657043ffe3d8280f1cb8aef0f505532b392ed7758e0baeac22edadcee31a03" -dependencies = [ - "include-flate-codegen", - "proc-macro-hack", -] - -[[package]] -name = "indenter" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" - -[[package]] -name = "indexmap" -version = "1.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indicatif" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b" -dependencies = [ - "console", - "lazy_static", - "number_prefix", - "regex", -] - -[[package]] -name = "infer" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac" - -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" -dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "ipnet" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" - -[[package]] -name = "jmt" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3befc2cc4fde3431cc844c476b3cc4137da4561e1047f7e454376b6aa40e27ba" -dependencies = [ - "anyhow", - "bcs", - "byteorder", - "hex", - "ics23", - "itertools", - "mirai-annotations", - "num-derive", - "num-traits", - "once_cell", - "prometheus", - "proptest", - "proptest-derive", - "serde", - "sha2 0.10.6", - "thiserror", - "tracing", -] - -[[package]] -name = "jobserver" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "keccak" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" -dependencies = [ - "cpufeatures", -] - -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "libc" -version = "0.2.144" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" - -[[package]] -name = "libflate" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97822bf791bd4d5b403713886a5fbe8bf49520fe78e323b0dc480ca1a03e50b0" -dependencies = [ - "adler32", - "crc32fast", - "libflate_lz77", -] - -[[package]] -name = "libflate_lz77" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a52d3a8bfc85f250440e4424db7d857e241a3aebbbe301f3eb606ab15c39acbf" -dependencies = [ - "rle-decode-fast", -] - -[[package]] -name = "libgit2-sys" -version = "0.15.1+1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4577bde8cdfc7d6a2a4bcb7b049598597de33ffd337276e9c7db6cd4a2cee7" -dependencies = [ - "cc", - "libc", - "libz-sys", - "pkg-config", -] - -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if 1.0.0", - "winapi", -] - -[[package]] -name = "libm" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" - -[[package]] -name = "librocksdb-sys" -version = "0.8.3+7.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "557b255ff04123fcc176162f56ed0c9cd42d8f357cf55b3fabeb60f7413741b3" -dependencies = [ - "bindgen", - "bzip2-sys", - "cc", - "glob", - "libc", - "libz-sys", - "zstd-sys", -] - -[[package]] -name = "libsqlite3-sys" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "libz-sys" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linux-raw-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" - -[[package]] -name = "lock_api" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "lockfree-object-pool" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee33defb27b106378a6efcfcde4dda6226dfdac8ba7a2904f5bc93363cb88557" - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if 1.0.0", - "value-bag", -] - -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - -[[package]] -name = "matchers" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" -dependencies = [ - "regex-automata", -] - -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata", -] - -[[package]] -name = "matchit" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb" - -[[package]] -name = "matchit" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" - -[[package]] -name = "matrixmultiply" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77" -dependencies = [ - "autocfg", - "rawpointer", -] - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memory_units" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" - -[[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 = "metrics" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142c53885123b68d94108295a09d4afe1a1388ed95b54d5dacd9a454753030f2" -dependencies = [ - "ahash 0.7.6", - "metrics-macros", -] - -[[package]] -name = "metrics-exporter-prometheus" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953cbbb6f9ba4b9304f4df79b98cdc9d14071ed93065a9fca11c00c5d9181b66" -dependencies = [ - "hyper", - "indexmap", - "ipnet", - "metrics", - "metrics-util", - "parking_lot 0.11.2", - "quanta", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "metrics-macros" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49e30813093f757be5cf21e50389a24dc7dbb22c49f23b7e8f51d69b508a5ffa" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "metrics-tracing-context" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91c0b6603313b4625101251a1c0749df7deef27ab410d430d79f2fcb9d8480aa" -dependencies = [ - "itoa", - "lockfree-object-pool", - "metrics", - "metrics-util", - "once_cell", - "tracing", - "tracing-core", - "tracing-subscriber 0.3.17", -] - -[[package]] -name = "metrics-util" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd1f4b69bef1e2b392b2d4a12902f2af90bb438ba4a66aa222d1023fa6561b50" -dependencies = [ - "aho-corasick 0.7.20", - "atomic-shim", - "crossbeam-epoch", - "crossbeam-utils", - "hashbrown 0.11.2", - "indexmap", - "metrics", - "num_cpus", - "ordered-float", - "parking_lot 0.11.2", - "quanta", - "radix_trie", - "sketches-ddsketch", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" -dependencies = [ - "libc", - "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", -] - -[[package]] -name = "mirai-annotations" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" - -[[package]] -name = "multimap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" - -[[package]] -name = "narsil" -version = "0.52.0" -dependencies = [ - "anyhow", - "async-stream 0.2.1", - "atty", - "clap 3.2.25", - "console-subscriber", - "futures", - "hex", - "http", - "metrics", - "metrics-exporter-prometheus", - "metrics-tracing-context", - "metrics-util", - "penumbra-chain", - "penumbra-proto", - "penumbra-storage", - "penumbra-tendermint-proxy", - "penumbra-tower-trace", - "serde", - "serde_json", - "tendermint", - "tendermint-config", - "tendermint-light-client-verifier", - "tendermint-proto", - "tokio", - "tokio-stream", - "tokio-util 0.7.8", - "tonic 0.8.3", - "tonic-web", - "tower", - "tower-abci", - "tower-actor", - "tower-service", - "tracing", - "tracing-subscriber 0.3.17", - "url", - "vergen", -] - -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "ndarray" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32" -dependencies = [ - "matrixmultiply", - "num-complex", - "num-integer", - "num-traits", - "rawpointer", -] - -[[package]] -name = "nibble_vec" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" -dependencies = [ - "smallvec", -] - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "normalize-line-endings" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" - -[[package]] -name = "ntapi" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" -dependencies = [ - "winapi", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-derive" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" -dependencies = [ - "autocfg", - "num-bigint", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" -dependencies = [ - "hermit-abi 0.2.6", - "libc", -] - -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - -[[package]] -name = "oid-registry" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" -dependencies = [ - "asn1-rs", -] - -[[package]] -name = "once_cell" -version = "1.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" - -[[package]] -name = "oorandom" -version = "11.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" - -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] -name = "openssl" -version = "0.10.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" -dependencies = [ - "bitflags 1.3.2", - "cfg-if 1.0.0", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.87" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "ordered-float" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" -dependencies = [ - "num-traits", -] - -[[package]] -name = "os_str_bytes" -version = "6.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "parity-scale-codec" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ddb756ca205bd108aee3c62c6d3c994e1df84a59b9d6d4a5ea42ee1fd5a9a28" -dependencies = [ - "arrayvec 0.7.2", - "bitvec", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "serde", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "3.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "parking" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" - -[[package]] -name = "parking_lot" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api", - "parking_lot_core 0.8.6", -] - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core 0.9.7", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" -dependencies = [ - "cfg-if 1.0.0", - "instant", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "winapi", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "windows-sys 0.45.0", -] - -[[package]] -name = "paste" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" - -[[package]] -name = "pbjson" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048f9ac93c1eab514f9470c4bc8d97ca2a0a236b84f45cc19d69a59fc11467f6" -dependencies = [ - "base64 0.13.1", - "serde", -] - -[[package]] -name = "pbjson-build" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdbb7b706f2afc610f3853550cdbbf6372fd324824a087806bd4480ea4996e24" -dependencies = [ - "heck 0.4.1", - "itertools", - "prost", - "prost-types", -] - -[[package]] -name = "pbjson-types" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a88c8d87f99a4ac14325e7a4c24af190fca261956e3b82dd7ed67e77e6c7043" -dependencies = [ - "bytes", - "chrono", - "pbjson", - "pbjson-build", - "prost", - "prost-build", - "serde", -] - -[[package]] -name = "pbkdf2" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0ca0b5a68607598bf3bad68f32227a8164f6254833f84eafaac409cd6746c31" -dependencies = [ - "digest 0.10.6", - "hmac 0.12.1", -] - -[[package]] -name = "pcli" -version = "0.52.0" -dependencies = [ - "anyhow", - "ark-ff", - "assert_cmd", - "async-stream 0.2.1", - "base64 0.21.0", - "bincode", - "blake2b_simd 0.5.11", - "bytes", - "camino", - "clap 3.2.25", - "colored_json", - "comfy-table", - "decaf377", - "dialoguer", - "directories", - "ed25519-consensus", - "futures", - "hex", - "http-body", - "ibc-proto", - "ibc-types", - "indicatif", - "jmt", - "ndarray", - "once_cell", - "penumbra-app", - "penumbra-chain", - "penumbra-compact-block", - "penumbra-crypto", - "penumbra-custody", - "penumbra-dao", - "penumbra-ibc", - "penumbra-proof-params", - "penumbra-proto", - "penumbra-sct", - "penumbra-shielded-pool", - "penumbra-stake", - "penumbra-tct", - "penumbra-transaction", - "penumbra-view", - "penumbra-wallet", - "pin-project", - "predicates 2.1.5", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "regex", - "serde", - "serde_json", - "serde_with 1.14.0", - "sha2 0.9.9", - "tempfile", - "tendermint", - "tokio", - "tokio-stream", - "tokio-util 0.7.8", - "toml 0.7.3", - "tonic 0.8.3", - "tower", - "tracing", - "tracing-subscriber 0.3.17", - "url", - "vergen", - "walkdir", -] - -[[package]] -name = "pclientd" -version = "0.52.0" -dependencies = [ - "anyhow", - "assert_cmd", - "async-stream 0.2.1", - "async-trait", - "atty", - "base64 0.20.0", - "bytes", - "camino", - "clap 3.2.25", - "ed25519-consensus", - "futures", - "hex", - "http", - "http-body", - "ibc-proto", - "ibc-types", - "metrics", - "parking_lot 0.12.1", - "penumbra-app", - "penumbra-chain", - "penumbra-crypto", - "penumbra-custody", - "penumbra-proto", - "penumbra-tct", - "penumbra-transaction", - "penumbra-view", - "prost", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "serde_json", - "serde_with 1.14.0", - "sha2 0.10.6", - "tempfile", - "tendermint", - "tokio", - "tokio-stream", - "toml 0.5.11", - "tonic 0.8.3", - "tonic-reflection", - "tonic-web", - "tower", - "tracing", - "tracing-subscriber 0.2.25", - "url", - "vergen", -] - -[[package]] -name = "pd" -version = "0.52.0" -dependencies = [ - "anyhow", - "ark-ff", - "async-stream 0.2.1", - "async-trait", - "atty", - "base64 0.20.0", - "bincode", - "blake2b_simd 0.5.11", - "bytes", - "chrono", - "clap 3.2.25", - "console-subscriber", - "csv", - "decaf377", - "directories", - "ed25519-consensus", - "futures", - "hex", - "http", - "ibc-proto", - "ibc-types", - "ics23", - "jmt", - "metrics", - "metrics-exporter-prometheus", - "metrics-tracing-context", - "metrics-util", - "once_cell", - "pbjson-types", - "penumbra-app", - "penumbra-chain", - "penumbra-compact-block", - "penumbra-crypto", - "penumbra-ibc", - "penumbra-proto", - "penumbra-sct", - "penumbra-shielded-pool", - "penumbra-stake", - "penumbra-storage", - "penumbra-tendermint-proxy", - "penumbra-tower-trace", - "penumbra-transaction", - "penumbra-wallet", - "pin-project", - "pin-project-lite", - "prost", - "prost-types", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "regex", - "reqwest", - "rocksdb", - "rustls-acme", - "serde", - "serde_json", - "serde_with 1.14.0", - "sha2 0.9.9", - "tempfile", - "tendermint", - "tendermint-config", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "tokio", - "tokio-stream", - "tokio-util 0.7.8", - "toml 0.5.11", - "tonic 0.8.3", - "tonic-reflection", - "tonic-web", - "tower", - "tower-abci", - "tower-actor", - "tower-service", - "tracing", - "tracing-subscriber 0.3.17", - "url", - "vergen", -] - -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - -[[package]] -name = "peg" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07c0b841ea54f523f7aa556956fbd293bcbe06f2e67d2eb732b7278aaf1d166a" -dependencies = [ - "peg-macros", - "peg-runtime", -] - -[[package]] -name = "peg-macros" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aa52829b8decbef693af90202711348ab001456803ba2a98eb4ec8fb70844c" -dependencies = [ - "peg-runtime", - "proc-macro2 1.0.57", - "quote 1.0.27", -] - -[[package]] -name = "peg-runtime" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c719dcf55f09a3a7e764c6649ab594c18a177e3599c467983cdf644bfc0a4088" - -[[package]] -name = "pem" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" -dependencies = [ - "base64 0.13.1", -] - -[[package]] -name = "penumbra-app" -version = "0.52.0" -dependencies = [ - "anyhow", - "ark-ff", - "async-trait", - "base64 0.20.0", - "bech32", - "bincode", - "bitvec", - "blake2b_simd 0.5.11", - "decaf377", - "ed25519-consensus", - "futures", - "hex", - "ibc-proto", - "ibc-types", - "im", - "jmt", - "metrics", - "once_cell", - "parking_lot 0.12.1", - "penumbra-chain", - "penumbra-compact-block", - "penumbra-component", - "penumbra-crypto", - "penumbra-dao", - "penumbra-distributions", - "penumbra-ibc", - "penumbra-proof-params", - "penumbra-proto", - "penumbra-sct", - "penumbra-shielded-pool", - "penumbra-stake", - "penumbra-storage", - "penumbra-tct", - "penumbra-transaction", - "prost", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "regex", - "serde", - "serde_json", - "serde_unit_struct", - "serde_with 2.3.3", - "sha2 0.9.9", - "tempfile", - "tendermint", - "tendermint-light-client-verifier", - "tendermint-proto", - "tokio", - "tonic 0.8.3", - "tracing", - "tracing-subscriber 0.3.17", - "vergen", -] - -[[package]] -name = "penumbra-chain" -version = "0.52.0" -dependencies = [ - "anyhow", - "ark-ff", - "async-trait", - "bincode", - "bytes", - "decaf377", - "hex", - "ibc-types", - "ics23", - "once_cell", - "penumbra-component", - "penumbra-crypto", - "penumbra-proto", - "penumbra-storage", - "penumbra-tct", - "serde", - "sha2 0.9.9", - "tendermint", - "tracing", -] - -[[package]] -name = "penumbra-compact-block" -version = "0.52.0" -dependencies = [ - "anyhow", - "ark-ff", - "async-trait", - "blake2b_simd 0.5.11", - "bytes", - "decaf377-rdsa", - "metrics", - "penumbra-chain", - "penumbra-component", - "penumbra-crypto", - "penumbra-proof-params", - "penumbra-proto", - "penumbra-shielded-pool", - "penumbra-storage", - "penumbra-tct", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "tendermint", - "tracing", -] - -[[package]] -name = "penumbra-component" -version = "0.52.0" -dependencies = [ - "anyhow", - "async-trait", - "penumbra-storage", - "tendermint", -] - -[[package]] -name = "penumbra-crypto" -version = "0.52.0" -dependencies = [ - "aes 0.8.2", - "anyhow", - "ark-ff", - "ark-groth16", - "ark-r1cs-std", - "ark-relations", - "ark-serialize", - "ark-snark", - "ark-std", - "base64 0.20.0", - "bech32", - "blake2b_simd 0.5.11", - "bytes", - "chacha20poly1305", - "decaf377", - "decaf377-fmd", - "decaf377-ka", - "decaf377-rdsa", - "derivative", - "ethnum", - "f4jumble", - "frost377", - "hex", - "hmac 0.12.1", - "ibig", - "num-bigint", - "once_cell", - "pbkdf2", - "penumbra-proto", - "penumbra-tct", - "poseidon377", - "proptest", - "rand 0.8.5", - "rand_core 0.6.4", - "regex", - "serde", - "serde_json", - "sha2 0.10.6", - "thiserror", - "tracing", -] - -[[package]] -name = "penumbra-custody" -version = "0.52.0" -dependencies = [ - "anyhow", - "base64 0.20.0", - "bytes", - "ed25519-consensus", - "futures", - "hex", - "penumbra-crypto", - "penumbra-proto", - "penumbra-transaction", - "prost", - "rand_core 0.6.4", - "serde", - "serde_json", - "serde_with 2.3.3", - "tokio", - "toml 0.5.11", - "tonic 0.8.3", - "tracing", - "vergen", -] - -[[package]] -name = "penumbra-dao" -version = "0.52.0" -dependencies = [ - "anyhow", - "ark-ff", - "async-trait", - "base64 0.20.0", - "blake2b_simd 0.5.11", - "futures", - "hex", - "metrics", - "once_cell", - "pbjson-types", - "penumbra-chain", - "penumbra-component", - "penumbra-crypto", - "penumbra-proto", - "penumbra-shielded-pool", - "penumbra-storage", - "prost", - "serde", - "sha2 0.10.6", - "tendermint", - "tendermint-light-client-verifier", - "tokio", - "tracing", -] - -[[package]] -name = "penumbra-distributions" -version = "0.52.0" -dependencies = [ - "anyhow", - "async-trait", - "penumbra-chain", - "penumbra-component", - "penumbra-crypto", - "penumbra-proto", - "penumbra-shielded-pool", - "penumbra-storage", - "tendermint", - "tracing", -] - -[[package]] -name = "penumbra-eddy" -version = "0.52.0" -dependencies = [ - "anyhow", - "ark-ff", - "ark-std", - "decaf377", - "futures", - "merlin", - "parking_lot 0.12.1", - "proptest", - "rand 0.8.5", - "rand_core 0.6.4", - "thiserror", - "tokio", -] - -[[package]] -name = "penumbra-ibc" -version = "0.52.0" -dependencies = [ - "anyhow", - "ark-ff", - "async-trait", - "base64 0.20.0", - "blake2b_simd 0.5.11", - "hex", - "ibc-proto", - "ibc-types", - "metrics", - "once_cell", - "pbjson-types", - "penumbra-chain", - "penumbra-component", - "penumbra-crypto", - "penumbra-proto", - "penumbra-shielded-pool", - "penumbra-storage", - "prost", - "serde", - "sha2 0.10.6", - "tendermint", - "tendermint-light-client-verifier", - "tokio", - "tracing", -] - -[[package]] -name = "penumbra-measure" -version = "0.52.0" -dependencies = [ - "anyhow", - "bytesize", - "clap 3.2.25", - "indicatif", - "penumbra-chain", - "penumbra-compact-block", - "penumbra-proto", - "reqwest", - "serde_json", - "tokio", - "tonic 0.8.3", - "tracing", - "tracing-subscriber 0.3.17", - "url", - "vergen", -] - -[[package]] -name = "penumbra-proof-params" -version = "0.52.0" -dependencies = [ - "anyhow", - "ark-ff", - "ark-groth16", - "ark-r1cs-std", - "ark-relations", - "ark-serialize", - "ark-snark", - "ark-std", - "criterion 0.4.0", - "decaf377", - "hex", - "num-bigint", - "once_cell", - "penumbra-crypto", - "penumbra-tct", - "rand 0.8.5", - "rand_core 0.6.4", - "regex", - "reqwest", - "serde", - "serde_json", - "sha2 0.10.6", - "tracing", -] - -[[package]] -name = "penumbra-proto" -version = "0.52.0" -dependencies = [ - "anyhow", - "async-stream 0.2.1", - "async-trait", - "bech32", - "bytes", - "decaf377-fmd", - "decaf377-rdsa", - "futures", - "hex", - "ibc-proto", - "ibc-types", - "ics23", - "pbjson", - "pbjson-types", - "penumbra-storage", - "pin-project", - "prost", - "serde", - "subtle-encoding", - "tendermint", - "tonic 0.8.3", - "tracing", -] - -[[package]] -name = "penumbra-sct" -version = "0.52.0" -dependencies = [ - "anyhow", - "ark-ff", - "async-trait", - "bincode", - "blake2b_simd 0.5.11", - "bytes", - "decaf377-rdsa", - "metrics", - "penumbra-chain", - "penumbra-component", - "penumbra-crypto", - "penumbra-proto", - "penumbra-storage", - "penumbra-tct", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "tendermint", - "tracing", -] - -[[package]] -name = "penumbra-shielded-pool" -version = "0.52.0" -dependencies = [ - "anyhow", - "ark-ff", - "async-trait", - "blake2b_simd 0.5.11", - "bytes", - "decaf377-rdsa", - "im", - "metrics", - "penumbra-chain", - "penumbra-component", - "penumbra-crypto", - "penumbra-proof-params", - "penumbra-proto", - "penumbra-sct", - "penumbra-storage", - "penumbra-tct", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "tendermint", - "tracing", -] - -[[package]] -name = "penumbra-stake" -version = "0.52.0" -dependencies = [ - "anyhow", - "async-trait", - "base64 0.20.0", - "bech32", - "bitvec", - "ed25519-consensus", - "futures", - "hex", - "im", - "metrics", - "once_cell", - "penumbra-chain", - "penumbra-component", - "penumbra-crypto", - "penumbra-dao", - "penumbra-proof-params", - "penumbra-proto", - "penumbra-sct", - "penumbra-shielded-pool", - "penumbra-storage", - "penumbra-tct", - "penumbra-transaction", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "regex", - "serde", - "serde_unit_struct", - "serde_with 2.3.3", - "sha2 0.9.9", - "tendermint", - "tokio", - "tracing", - "tracing-subscriber 0.3.17", - "vergen", -] - -[[package]] -name = "penumbra-storage" -version = "0.52.0" -dependencies = [ - "anyhow", - "async-trait", - "futures", - "hex", - "ics23", - "jmt", - "metrics", - "parking_lot 0.12.1", - "pin-project", - "rocksdb", - "smallvec", - "tempfile", - "tendermint", - "tokio", - "tokio-stream", - "tracing", - "tracing-subscriber 0.3.17", -] - -[[package]] -name = "penumbra-tct" -version = "0.52.0" -dependencies = [ - "ark-ed-on-bls12-377", - "ark-ff", - "ark-r1cs-std", - "ark-relations", - "ark-serialize", - "async-trait", - "blake2b_simd 1.0.1", - "decaf377", - "derivative", - "futures", - "hash_hasher", - "hex", - "im", - "once_cell", - "parking_lot 0.12.1", - "penumbra-proto", - "poseidon377", - "proptest", - "proptest-derive", - "rand 0.8.5", - "serde", - "serde_json", - "static_assertions", - "thiserror", - "tracing", -] - -[[package]] -name = "penumbra-tct-property-test" -version = "0.52.0" -dependencies = [ - "anyhow", - "futures", - "penumbra-tct", - "proptest", - "proptest-derive", - "static_assertions", - "tokio", -] - -[[package]] -name = "penumbra-tct-visualize" -version = "0.52.0" -dependencies = [ - "anyhow", - "axum 0.5.17", - "axum-server", - "bytes", - "clap 3.2.25", - "decaf377", - "futures", - "hex", - "include-flate", - "parking_lot 0.12.1", - "penumbra-tct", - "prost", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_distr", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-stream", - "tokio-util 0.7.8", - "tonic 0.8.3", - "tower-http", - "tracing-subscriber 0.3.17", -] - -[[package]] -name = "penumbra-tendermint-proxy" -version = "0.52.0" -dependencies = [ - "anyhow", - "chrono", - "futures", - "hex", - "http", - "metrics", - "pbjson-types", - "penumbra-proto", - "penumbra-transaction", - "pin-project", - "pin-project-lite", - "sha2 0.9.9", - "tendermint", - "tendermint-config", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "tokio", - "tokio-stream", - "tokio-util 0.7.8", - "tonic 0.8.3", - "tower", - "tower-service", - "tracing", - "url", -] - -[[package]] -name = "penumbra-tower-trace" -version = "0.52.0" -dependencies = [ - "futures", - "hex", - "http", - "pin-project", - "pin-project-lite", - "sha2 0.9.9", - "tendermint", - "tendermint-proto", - "tokio", - "tokio-stream", - "tokio-util 0.7.8", - "tonic 0.8.3", - "tower", - "tower-service", - "tracing", -] - -[[package]] -name = "penumbra-transaction" -version = "0.52.0" -dependencies = [ - "aes 0.7.5", - "anyhow", - "ark-ff", - "ark-serialize", - "base64 0.21.0", - "bech32", - "blake2b_simd 0.5.11", - "bytes", - "chacha20poly1305", - "clap 3.2.25", - "decaf377", - "decaf377-fmd", - "decaf377-ka", - "decaf377-rdsa", - "derivative", - "hex", - "ibc-proto", - "ibc-types", - "num-bigint", - "once_cell", - "pbjson-types", - "penumbra-chain", - "penumbra-crypto", - "penumbra-dao", - "penumbra-ibc", - "penumbra-proof-params", - "penumbra-proto", - "penumbra-shielded-pool", - "penumbra-stake", - "penumbra-tct", - "poseidon377", - "proptest", - "proptest-derive", - "rand 0.8.5", - "rand_core 0.6.4", - "regex", - "serde", - "serde_json", - "sha2 0.9.9", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "penumbra-view" -version = "0.52.0" -dependencies = [ - "anyhow", - "async-stream 0.2.1", - "async-trait", - "bytes", - "camino", - "clap 3.2.25", - "digest 0.9.0", - "ed25519-consensus", - "futures", - "genawaiter", - "hex", - "ibc-types", - "metrics", - "once_cell", - "parking_lot 0.12.1", - "penumbra-app", - "penumbra-chain", - "penumbra-compact-block", - "penumbra-crypto", - "penumbra-dao", - "penumbra-ibc", - "penumbra-proto", - "penumbra-sct", - "penumbra-shielded-pool", - "penumbra-stake", - "penumbra-tct", - "penumbra-transaction", - "prost", - "r2d2", - "r2d2_sqlite", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "serde_json", - "sha2 0.10.6", - "tendermint", - "tokio", - "tokio-stream", - "tonic 0.8.3", - "tracing", - "tracing-subscriber 0.2.25", - "url", - "vergen", -] - -[[package]] -name = "penumbra-wallet" -version = "0.52.0" -dependencies = [ - "anyhow", - "bincode", - "bytes", - "hex", - "once_cell", - "penumbra-app", - "penumbra-chain", - "penumbra-crypto", - "penumbra-custody", - "penumbra-proto", - "penumbra-stake", - "penumbra-tct", - "penumbra-transaction", - "penumbra-view", - "pin-project", - "proptest", - "proptest-derive", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "serde_json", - "serde_with 1.14.0", - "tokio", - "tonic 0.8.3", - "tower", - "tracing", -] - -[[package]] -name = "penumbra-wasm" -version = "0.52.0" -dependencies = [ - "anyhow", - "base64 0.20.0", - "console_error_panic_hook", - "getrandom 0.2.9", - "hex", - "indexmap", - "js-sys", - "penumbra-chain", - "penumbra-compact-block", - "penumbra-crypto", - "penumbra-proto", - "penumbra-shielded-pool", - "penumbra-stake", - "penumbra-tct", - "penumbra-transaction", - "rand_core 0.6.4", - "serde", - "serde-wasm-bindgen", - "wasm-bindgen", - "wasm-bindgen-test", - "web-sys", - "wee_alloc", -] - -[[package]] -name = "percent-encoding" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" - -[[package]] -name = "petgraph" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" -dependencies = [ - "fixedbitset", - "indexmap", -] - -[[package]] -name = "pin-project" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" - -[[package]] -name = "plotters" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97" -dependencies = [ - "num-traits", - "plotters-backend", - "plotters-svg", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "plotters-backend" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142" - -[[package]] -name = "plotters-svg" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f" -dependencies = [ - "plotters-backend", -] - -[[package]] -name = "polling" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if 1.0.0", - "concurrent-queue", - "libc", - "log", - "pin-project-lite", - "windows-sys 0.48.0", -] - -[[package]] -name = "poly1305" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" -dependencies = [ - "cpufeatures", - "opaque-debug", - "universal-hash", -] - -[[package]] -name = "polyval" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" -dependencies = [ - "cpuid-bool", - "opaque-debug", - "universal-hash", -] - -[[package]] -name = "poseidon-parameters" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a3517328333267b89d5142f1c128909c992d891af70a38e46743592dce8734" -dependencies = [ - "anyhow", - "ark-ff", - "num-integer", -] - -[[package]] -name = "poseidon-paramgen" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f257826633aaa781bfae23a68936b56fd1bfd778409a8c1cdf8cdb05685aeb" -dependencies = [ - "anyhow", - "ark-ff", - "ark-std", - "getrandom 0.2.9", - "merlin", - "num", - "num-bigint", - "poseidon-parameters", - "rand_core 0.6.4", -] - -[[package]] -name = "poseidon-permutation" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84469694c933debead297d95d8132dcd91de300d160eda7ade6047002cc6aa2a" -dependencies = [ - "ark-ff", - "ark-std", - "poseidon-parameters", -] - -[[package]] -name = "poseidon377" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbb3ad52bc19785e6b38fc9cebbdf54755c7b586bbe6ba781d7fea16fb803b1" -dependencies = [ - "ark-ec", - "ark-ed-on-bls12-377", - "ark-ff", - "ark-groth16", - "ark-r1cs-std", - "ark-relations", - "ark-serialize", - "ark-snark", - "ark-std", - "decaf377", - "num-bigint", - "once_cell", - "poseidon-parameters", - "poseidon-paramgen", - "poseidon-permutation", - "tracing", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "predicates" -version = "2.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" -dependencies = [ - "difflib", - "float-cmp", - "itertools", - "normalize-line-endings", - "predicates-core", - "regex", -] - -[[package]] -name = "predicates" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09963355b9f467184c04017ced4a2ba2d75cbcb4e7462690d388233253d4b1a9" -dependencies = [ - "anstyle", - "difflib", - "itertools", - "predicates-core", -] - -[[package]] -name = "predicates-core" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" - -[[package]] -name = "predicates-tree" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" -dependencies = [ - "predicates-core", - "termtree", -] - -[[package]] -name = "prettyplease" -version = "0.1.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" -dependencies = [ - "proc-macro2 1.0.57", - "syn 1.0.109", -] - -[[package]] -name = "primitive-types" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" -dependencies = [ - "fixed-hash", - "impl-codec", - "impl-serde", - "uint", -] - -[[package]] -name = "proc-macro-crate" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" -dependencies = [ - "toml 0.5.11", -] - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit", -] - -[[package]] -name = "proc-macro-error" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18f33027081eba0a6d8aba6d1b1c3a3be58cbb12106341c2d5759fcd9b5277e7" -dependencies = [ - "proc-macro-error-attr 0.4.12", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", - "version_check", -] - -[[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 1.0.4", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a5b4b77fdb63c1eca72173d68d24501c54ab1269409f6b672c85deb18af69de" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", - "syn-mid", - "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 1.0.57", - "quote 1.0.27", - "version_check", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -dependencies = [ - "unicode-xid 0.1.0", -] - -[[package]] -name = "proc-macro2" -version = "1.0.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4ec6d5fe0b140acb27c9a0444118cf55bfbb4e0b259739429abb4521dd67c16" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "prometheus" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" -dependencies = [ - "cfg-if 1.0.0", - "fnv", - "lazy_static", - "memchr", - "parking_lot 0.12.1", - "protobuf", - "thiserror", -] - -[[package]] -name = "proptest" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29f1b898011ce9595050a68e60f90bad083ff2987a695a42357134c8381fba70" -dependencies = [ - "bit-set", - "bitflags 1.3.2", - "byteorder", - "lazy_static", - "num-traits", - "quick-error 2.0.1", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_xorshift", - "regex-syntax 0.6.29", - "rusty-fork", - "tempfile", - "unarray", -] - -[[package]] -name = "proptest-derive" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90b46295382dc76166cb7cf2bb4a97952464e4b7ed5a43e6cd34e1fec3349ddc" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.15.44", -] - -[[package]] -name = "prost" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-build" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" -dependencies = [ - "bytes", - "heck 0.4.1", - "itertools", - "lazy_static", - "log", - "multimap", - "petgraph", - "prettyplease", - "prost", - "prost-types", - "regex", - "syn 1.0.109", - "tempfile", - "which", -] - -[[package]] -name = "prost-derive" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" -dependencies = [ - "anyhow", - "itertools", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "prost-types" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" -dependencies = [ - "prost", -] - -[[package]] -name = "protobuf" -version = "2.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" - -[[package]] -name = "quanta" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20afe714292d5e879d8b12740aa223c6a88f118af41870e8b6196e39a02238a8" -dependencies = [ - "crossbeam-utils", - "libc", - "mach", - "once_cell", - "raw-cpuid", - "wasi 0.10.2+wasi-snapshot-preview1", - "web-sys", - "winapi", -] - -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quick-error" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" - -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -dependencies = [ - "proc-macro2 0.4.30", -] - -[[package]] -name = "quote" -version = "1.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500" -dependencies = [ - "proc-macro2 1.0.57", -] - -[[package]] -name = "r2d2" -version = "0.8.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" -dependencies = [ - "log", - "parking_lot 0.12.1", - "scheduled-thread-pool", -] - -[[package]] -name = "r2d2_sqlite" -version = "0.22.0" -source = "git+https://github.com/penumbra-zone/r2d2-sqlite.git#bcb4957c9bba34d0f22a4e84422edf8d29568e5f" -dependencies = [ - "r2d2", - "rusqlite", -] - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "radix_trie" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" -dependencies = [ - "endian-type", - "nibble_vec", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.9", -] - -[[package]] -name = "rand_distr" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_xorshift" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "raw-cpuid" -version = "10.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - -[[package]] -name = "rayon" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "num_cpus", -] - -[[package]] -name = "rcgen" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" -dependencies = [ - "pem", - "ring", - "time 0.3.19", - "yasna", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_users" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" -dependencies = [ - "getrandom 0.2.9", - "redox_syscall 0.2.16", - "thiserror", -] - -[[package]] -name = "regex" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370" -dependencies = [ - "aho-corasick 1.0.1", - "memchr", - "regex-syntax 0.7.1", -] - -[[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-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" - -[[package]] -name = "reqwest" -version = "0.11.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" -dependencies = [ - "base64 0.21.0", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-tls", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin", - "untrusted", - "web-sys", - "winapi", -] - -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest 0.10.6", -] - -[[package]] -name = "rle-decode-fast" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422" - -[[package]] -name = "rocksdb" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9562ea1d70c0cc63a34a22d977753b50cca91cc6b6527750463bd5dd8697bc" -dependencies = [ - "libc", - "librocksdb-sys", -] - -[[package]] -name = "rusqlite" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "549b9d036d571d42e6e85d1c1425e2ac83491075078ca9a15be021c56b1641f2" -dependencies = [ - "bitflags 2.3.0", - "fallible-iterator", - "fallible-streaming-iterator", - "hashlink", - "libsqlite3-sys", - "smallvec", -] - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver 1.0.17", -] - -[[package]] -name = "rusticata-macros" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" -dependencies = [ - "nom", -] - -[[package]] -name = "rustix" -version = "0.37.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustls" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" -dependencies = [ - "base64 0.13.1", - "log", - "ring", - "sct 0.6.1", - "webpki 0.21.4", -] - -[[package]] -name = "rustls" -version = "0.20.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" -dependencies = [ - "log", - "ring", - "sct 0.7.0", - "webpki 0.22.0", -] - -[[package]] -name = "rustls-acme" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01be93c9190b1c62d16f99512f86c2b171667c675806452f744669bd5e1ec6ae" -dependencies = [ - "async-h1", - "async-io", - "async-trait", - "base64 0.13.1", - "chrono", - "futures", - "futures-rustls", - "http-types", - "log", - "pem", - "pin-project", - "rcgen", - "ring", - "rustls 0.20.8", - "serde", - "serde_json", - "smol", - "thiserror", - "url", - "webpki-roots 0.21.1", - "x509-parser", -] - -[[package]] -name = "rustls-native-certs" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092" -dependencies = [ - "openssl-probe", - "rustls 0.19.1", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" -dependencies = [ - "base64 0.21.0", -] - -[[package]] -name = "rustversion" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" - -[[package]] -name = "rusty-fork" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" -dependencies = [ - "fnv", - "quick-error 1.2.3", - "tempfile", - "wait-timeout", -] - -[[package]] -name = "ryu" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" - -[[package]] -name = "safe-proc-macro2" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "814c536dcd27acf03296c618dab7ad62d28e70abd7ba41d3f34a2ce707a2c666" -dependencies = [ - "unicode-xid 0.2.4", -] - -[[package]] -name = "safe-quote" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77e530f7831f3feafcd5f1aae406ac205dd998436b4007c8e80f03eca78a88f7" -dependencies = [ - "safe-proc-macro2", -] - -[[package]] -name = "safe-regex" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15289bf322e0673d52756a18194167f2378ec1a15fe884af6e2d2cb934822b0" -dependencies = [ - "safe-regex-macro", -] - -[[package]] -name = "safe-regex-compiler" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fba76fae590a2aa665279deb1f57b5098cbace01a0c5e60e262fcf55f7c51542" -dependencies = [ - "safe-proc-macro2", - "safe-quote", -] - -[[package]] -name = "safe-regex-macro" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c2e96b5c03f158d1b16ba79af515137795f4ad4e8de3f790518aae91f1d127" -dependencies = [ - "safe-proc-macro2", - "safe-regex-compiler", -] - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "scale-info" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b569c32c806ec3abdf3b5869fb8bf1e0d275a7c1c9b0b05603d9464632649edf" -dependencies = [ - "cfg-if 1.0.0", - "derive_more", - "parity-scale-codec", - "scale-info-derive", -] - -[[package]] -name = "scale-info-derive" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53012eae69e5aa5c14671942a5dd47de59d4cdcff8532a6dd0e081faf1119482" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "schannel" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" -dependencies = [ - "windows-sys 0.42.0", -] - -[[package]] -name = "scheduled-thread-pool" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" -dependencies = [ - "parking_lot 0.12.1", -] - -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "sct" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "sct" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "security-framework" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2855b3715770894e67cbfa3df957790aa0c9edc3bf06efa1a84d77fa0839d1" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "serde" -version = "1.0.163" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-wasm-bindgen" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b4c031cd0d9014307d82b8abf653c0290fbdaeb4c02d00c63cf52f728628bf" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde_bytes" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_cbor" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" -dependencies = [ - "half", - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.163" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "serde_json" -version = "1.0.96" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" -dependencies = [ - "indexmap", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_qs" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6" -dependencies = [ - "percent-encoding", - "serde", - "thiserror", -] - -[[package]] -name = "serde_repr" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "serde_spanned" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_unit_struct" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf8ef7c4929da5ad6c02e115231fab5ad3c0b4abfc03adcb75f5699e79b4a5a" -dependencies = [ - "serde_unit_struct_derive", -] - -[[package]] -name = "serde_unit_struct_derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9da3c73dc33190768a0e4acf9d8e8c4ba9e4e439fb28100bf9446eb386cb8af" -dependencies = [ - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" -dependencies = [ - "hex", - "serde", - "serde_with_macros 1.5.2", -] - -[[package]] -name = "serde_with" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" -dependencies = [ - "base64 0.13.1", - "chrono", - "hex", - "indexmap", - "serde", - "serde_json", - "serde_with_macros 2.3.3", - "time 0.3.19", -] - -[[package]] -name = "serde_with_macros" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" -dependencies = [ - "darling 0.13.4", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "serde_with_macros" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" -dependencies = [ - "darling 0.20.1", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "sha1" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770" -dependencies = [ - "sha1_smol", -] - -[[package]] -name = "sha1" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" -dependencies = [ - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.10.6", -] - -[[package]] -name = "sha1_smol" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - -[[package]] -name = "sha2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" -dependencies = [ - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.10.6", -] - -[[package]] -name = "sha3" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" -dependencies = [ - "digest 0.10.6", - "keccak", -] - -[[package]] -name = "sharded-slab" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shell-words" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" - -[[package]] -name = "shlex" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" - -[[package]] -name = "signal-hook" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-mio" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" -dependencies = [ - "libc", - "mio", - "signal-hook", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - -[[package]] -name = "simple-mutex" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38aabbeafa6f6dead8cebf246fe9fae1f9215c8d29b3a69f93bd62a9e4a3dcd6" -dependencies = [ - "event-listener", -] - -[[package]] -name = "sized-chunks" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" -dependencies = [ - "bitmaps", - "typenum", -] - -[[package]] -name = "sketches-ddsketch" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04d2ecae5fcf33b122e2e6bd520a57ccf152d2dde3b38c71039df1a6867264ee" - -[[package]] -name = "slab" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" - -[[package]] -name = "smol" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1" -dependencies = [ - "async-channel", - "async-executor", - "async-fs", - "async-io", - "async-lock", - "async-net", - "async-process", - "blocking", - "futures-lite", -] - -[[package]] -name = "socket2" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "standback" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff" -dependencies = [ - "version_check", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "stdweb" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" -dependencies = [ - "discard", - "rustc_version 0.2.3", - "stdweb-derive", - "stdweb-internal-macros", - "stdweb-internal-runtime", - "wasm-bindgen", -] - -[[package]] -name = "stdweb-derive" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "serde", - "serde_derive", - "syn 1.0.109", -] - -[[package]] -name = "stdweb-internal-macros" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" -dependencies = [ - "base-x", - "proc-macro2 1.0.57", - "quote 1.0.27", - "serde", - "serde_derive", - "serde_json", - "sha1 0.6.1", - "syn 1.0.109", -] - -[[package]] -name = "stdweb-internal-runtime" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "strum" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb" - -[[package]] -name = "strum_macros" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38" -dependencies = [ - "heck 0.3.3", - "proc-macro2 1.0.57", - "quote 1.0.27", - "rustversion", - "syn 1.0.109", -] - -[[package]] -name = "subtle" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" - -[[package]] -name = "subtle-encoding" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" -dependencies = [ - "zeroize", -] - -[[package]] -name = "subtle-ng" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" - -[[package]] -name = "syn" -version = "0.15.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "unicode-xid 0.1.0", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "unicode-ident", -] - -[[package]] -name = "syn-mid" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baa8e7560a164edb1621a55d18a0c59abf49d360f47aa7b821061dd7eea7fac9" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "synstructure" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 1.0.109", - "unicode-xid 0.2.4", -] - -[[package]] -name = "sysinfo" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e7de153d0438a648bb71e06e300e54fc641685e96af96d49b843f43172d341c" -dependencies = [ - "cfg-if 1.0.0", - "core-foundation-sys", - "doc-comment", - "libc", - "ntapi", - "once_cell", - "winapi", -] - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tempfile" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" -dependencies = [ - "cfg-if 1.0.0", - "fastrand", - "redox_syscall 0.3.5", - "rustix", - "windows-sys 0.45.0", -] - -[[package]] -name = "tendermint" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda53c85447577769cdfc94c10a56f34afef2c00e4108badb57fce6b1a0c75eb" -dependencies = [ - "bytes", - "digest 0.10.6", - "ed25519", - "ed25519-consensus", - "flex-error", - "futures", - "num-traits", - "once_cell", - "prost", - "prost-types", - "serde", - "serde_bytes", - "serde_json", - "serde_repr", - "sha2 0.10.6", - "signature", - "subtle", - "subtle-encoding", - "tendermint-proto", - "time 0.3.19", - "zeroize", -] - -[[package]] -name = "tendermint-config" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4eb17618539c95b48501e71ad3c7f4bf047af388aa30dcf3e000782b05abfd" -dependencies = [ - "flex-error", - "serde", - "serde_json", - "tendermint", - "toml 0.5.11", - "url", -] - -[[package]] -name = "tendermint-light-client-verifier" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11c3dc3c75f7a5708ac0bf98374b2b1a2cf17b3a45ddfd5faab3c111aff7fc0e" -dependencies = [ - "derive_more", - "flex-error", - "serde", - "tendermint", - "time 0.3.19", -] - -[[package]] -name = "tendermint-proto" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c943f78c929cdf14553842f705f2c30324bc35b9179caaa5c9b80620f60652e6" -dependencies = [ - "bytes", - "flex-error", - "num-derive", - "num-traits", - "prost", - "prost-types", - "serde", - "serde_bytes", - "subtle-encoding", - "time 0.3.19", -] - -[[package]] -name = "tendermint-rpc" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "991779ca9b697471df9d436489774d144a418c0e5da843c58ff9288105d5ddaa" -dependencies = [ - "async-trait", - "bytes", - "flex-error", - "futures", - "getrandom 0.2.9", - "http", - "hyper", - "hyper-proxy", - "hyper-rustls", - "peg", - "pin-project", - "serde", - "serde_bytes", - "serde_json", - "subtle", - "subtle-encoding", - "tendermint", - "tendermint-config", - "thiserror", - "time 0.3.19", - "tokio", - "tracing", - "url", - "uuid", - "walkdir", -] - -[[package]] -name = "termcolor" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "termtree" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "textwrap" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" - -[[package]] -name = "thiserror" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "thread_local" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" -dependencies = [ - "cfg-if 1.0.0", - "once_cell", -] - -[[package]] -name = "time" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "time" -version = "0.2.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242" -dependencies = [ - "const_fn", - "libc", - "standback", - "stdweb", - "time-macros 0.1.1", - "version_check", - "winapi", -] - -[[package]] -name = "time" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53250a3b3fed8ff8fd988587d8925d26a83ac3845d9e03b220b37f34c2b8d6c2" -dependencies = [ - "itoa", - "serde", - "time-core", - "time-macros 0.2.7", -] - -[[package]] -name = "time-core" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" - -[[package]] -name = "time-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1" -dependencies = [ - "proc-macro-hack", - "time-macros-impl", -] - -[[package]] -name = "time-macros" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a460aeb8de6dcb0f381e1ee05f1cd56fcf5a5f6eb8187ff3d8f0b11078d38b7c" -dependencies = [ - "time-core", -] - -[[package]] -name = "time-macros-impl" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f" -dependencies = [ - "proc-macro-hack", - "proc-macro2 1.0.57", - "quote 1.0.27", - "standback", - "syn 1.0.109", -] - -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aa32867d44e6f2ce3385e89dceb990188b8bb0fb25b0cf576647a6f98ac5105" -dependencies = [ - "autocfg", - "bytes", - "libc", - "mio", - "num_cpus", - "parking_lot 0.12.1", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "tracing", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-macros" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" -dependencies = [ - "rustls 0.19.1", - "tokio", - "webpki 0.21.4", -] - -[[package]] -name = "tokio-rustls" -version = "0.23.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" -dependencies = [ - "rustls 0.20.8", - "tokio", - "webpki 0.22.0", -] - -[[package]] -name = "tokio-stream" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", - "tokio-util 0.7.8", -] - -[[package]] -name = "tokio-util" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "log", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" -dependencies = [ - "bytes", - "futures-core", - "futures-io", - "futures-sink", - "futures-util", - "hashbrown 0.12.3", - "pin-project-lite", - "slab", - "tokio", - "tracing", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "toml" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b403acf6f2bb0859c93c7f0d967cb4a75a7ac552100f9322faf64dc047669b21" -dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13" -dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tonic" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb" -dependencies = [ - "async-stream 0.3.5", - "async-trait", - "axum 0.6.18", - "base64 0.13.1", - "bytes", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-timeout", - "percent-encoding", - "pin-project", - "prost", - "prost-derive", - "rustls-pemfile", - "tokio", - "tokio-rustls 0.23.4", - "tokio-stream", - "tokio-util 0.7.8", - "tower", - "tower-layer", - "tower-service", - "tracing", - "tracing-futures", - "webpki-roots 0.22.6", -] - -[[package]] -name = "tonic" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" -dependencies = [ - "async-trait", - "axum 0.6.18", - "base64 0.21.0", - "bytes", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-timeout", - "percent-encoding", - "pin-project", - "prost", - "tokio", - "tokio-stream", - "tower", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tonic-reflection" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67494bad4dda4c9bffae901dfe14e2b2c0f760adb4706dc10beeb81799f7f7b2" -dependencies = [ - "bytes", - "prost", - "prost-types", - "tokio", - "tokio-stream", - "tonic 0.8.3", -] - -[[package]] -name = "tonic-web" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e392f7556972523aa87ddb0fc7f2d2ce530559956706aa081bb0bd8fed158559" -dependencies = [ - "base64 0.13.1", - "bytes", - "futures-core", - "http", - "http-body", - "hyper", - "pin-project", - "tonic 0.8.3", - "tower-service", - "tracing", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "hdrhistogram", - "indexmap", - "pin-project", - "pin-project-lite", - "rand 0.8.5", - "slab", - "tokio", - "tokio-util 0.7.8", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-abci" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d5d8d6eb9c79cbb72e1acf366f01267ec076823d3faadb2d228407fc375b9" -dependencies = [ - "bytes", - "futures", - "pin-project", - "prost", - "tendermint", - "tendermint-proto", - "tokio", - "tokio-stream", - "tokio-util 0.6.10", - "tower", - "tracing", -] - -[[package]] -name = "tower-actor" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b882e5e82ee7440a08335f4d5a2edd9f7678b2cba73eac4826b53c22fd76fdd3" -dependencies = [ - "futures", - "pin-project", - "thiserror", - "tokio", - "tokio-util 0.7.8", - "tower", - "tracing", -] - -[[package]] -name = "tower-http" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" -dependencies = [ - "bitflags 1.3.2", - "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-range-header", - "pin-project-lite", - "tower", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-layer" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" -dependencies = [ - "cfg-if 1.0.0", - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "tracing-core" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - -[[package]] -name = "tracing-log" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" -dependencies = [ - "lazy_static", - "log", - "tracing-core", -] - -[[package]] -name = "tracing-serde" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" -dependencies = [ - "serde", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" -dependencies = [ - "ansi_term", - "chrono", - "lazy_static", - "matchers 0.0.1", - "regex", - "serde", - "serde_json", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", - "tracing-serde", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" -dependencies = [ - "matchers 0.1.0", - "nu-ansi-term", - "once_cell", - "regex", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "try-lock" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" - -[[package]] -name = "typenum" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" - -[[package]] -name = "uint" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - -[[package]] -name = "unarray" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" - -[[package]] -name = "unicode-bidi" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" - -[[package]] -name = "unicode-ident" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" - -[[package]] -name = "unicode-width" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" - -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "universal-hash" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "url" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", -] - -[[package]] -name = "uuid" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "value-bag" -version = "1.0.0-alpha.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55" -dependencies = [ - "ctor", - "version_check", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "vergen" -version = "5.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cf88d94e969e7956d924ba70741316796177fa0c79a2c9f4ab04998d96e966e" -dependencies = [ - "anyhow", - "cfg-if 1.0.0", - "chrono", - "enum-iterator", - "getset", - "git2", - "rustc_version 0.4.0", - "rustversion", - "sysinfo", - "thiserror", -] - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "wait-timeout" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" -dependencies = [ - "libc", -] - -[[package]] -name = "waker-fn" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" - -[[package]] -name = "walkdir" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73" -dependencies = [ - "cfg-if 1.0.0", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258" -dependencies = [ - "quote 1.0.27", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", - "syn 2.0.16", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" - -[[package]] -name = "wasm-bindgen-test" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e636f3a428ff62b3742ebc3c70e254dfe12b8c2b469d688ea59cdd4abcf502" -dependencies = [ - "console_error_panic_hook", - "js-sys", - "scoped-tls", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-bindgen-test-macro", -] - -[[package]] -name = "wasm-bindgen-test-macro" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f18c1fad2f7c4958e7bcce014fa212f59a65d5e3721d0f77e6c0b27ede936ba3" -dependencies = [ - "proc-macro2 1.0.57", - "quote 1.0.27", -] - -[[package]] -name = "web-sys" -version = "0.3.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "webpki" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "webpki-roots" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" -dependencies = [ - "webpki 0.21.4", -] - -[[package]] -name = "webpki-roots" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki 0.22.0", -] - -[[package]] -name = "wee_alloc" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "memory_units", - "winapi", -] - -[[package]] -name = "which" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" -dependencies = [ - "either", - "libc", - "once_cell", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[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" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" -dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" -dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" - -[[package]] -name = "winnow" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi", -] - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "x509-parser" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c" -dependencies = [ - "asn1-rs", - "base64 0.13.1", - "data-encoding", - "der-parser", - "lazy_static", - "nom", - "oid-registry", - "rusticata-macros", - "thiserror", - "time 0.3.19", -] - -[[package]] -name = "yasna" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" -dependencies = [ - "time 0.3.19", -] - -[[package]] -name = "zeroize" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" -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 1.0.57", - "quote 1.0.27", - "syn 2.0.16", -] - -[[package]] -name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" -dependencies = [ - "cc", - "libc", - "pkg-config", -] diff --git a/app/Cargo.toml b/app/Cargo.toml index 8fadc29c2c..2b384bd51c 100644 --- a/app/Cargo.toml +++ b/app/Cargo.toml @@ -24,8 +24,8 @@ penumbra-tct = { path = "../tct" } penumbra-proof-params = { path = "../proof-params" } # Penumbra dependencies -decaf377 = { version = "0.4" } -jmt = "0.3" +decaf377 = "0.4" +jmt = "0.5" tokio = { version = "1.21.1", features = ["full", "tracing"] } async-trait = "0.1.52" tonic = "0.8.1" @@ -53,11 +53,12 @@ prost = "0.11" rand_chacha = "0.3" parking_lot = "0.12" -tendermint = "0.29.0" -tendermint-proto = "0.29.0" -tendermint-light-client-verifier = "0.29.0" -ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.1.x", version = "0.1.1" } -ibc-proto = "0.26" +tendermint = "0.31.0" +tendermint-proto = "0.31.0" +tendermint-light-client-verifier = "0.31.0" +ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.2.x" } +ibc-proto = { git = "https://github.com/penumbra-zone/ibc-proto-rs", branch = "penumbra" } + [dev-dependencies] ed25519-consensus = "2" diff --git a/app/src/dex/component.rs b/app/src/dex/component.rs index 6529fc3fe5..0640abcfd8 100644 --- a/app/src/dex/component.rs +++ b/app/src/dex/component.rs @@ -11,7 +11,7 @@ use penumbra_crypto::{ }; use penumbra_proto::{StateReadProto, StateWriteProto}; use penumbra_storage::{StateRead, StateWrite}; -use tendermint::abci; +use tendermint::v0_34::abci; use tracing::instrument; use super::{ diff --git a/chain/Cargo.toml b/chain/Cargo.toml index d617f15bea..5595a5a6d1 100644 --- a/chain/Cargo.toml +++ b/chain/Cargo.toml @@ -14,11 +14,11 @@ penumbra-tct = { path = "../tct" } # Penumbra dependencies decaf377 = "0.4" +jmt = "0.5" -tendermint = "0.29.0" -ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.1.x", version = "0.1.1" } - -ics23 = "0.9.0" +tendermint = "0.31.1" +ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.2.x" } +ics23 = "0.10.0" # Crates.io deps ark-ff = { version = "0.4", default_features = false } diff --git a/chain/src/component/app_hash.rs b/chain/src/component/app_hash.rs index 652adfc7c5..f7318ba672 100644 --- a/chain/src/component/app_hash.rs +++ b/chain/src/component/app_hash.rs @@ -1,3 +1,4 @@ +use anyhow::anyhow; use async_trait::async_trait; use ibc_types::core::ics23_commitment::merkle::MerkleProof; use ibc_types::core::ics23_commitment::{commitment::CommitmentPrefix, specs::ProofSpecs}; @@ -61,6 +62,7 @@ fn apphash_spec() -> ics23::ProofSpec { }), min_depth: 0, max_depth: 1, + prehash_key_before_comparison: true, } } @@ -89,11 +91,14 @@ impl AppHashRead for Snapshot { key: Vec, ) -> anyhow::Result<(Vec, MerkleProof)> { let (value, jmt_proof) = self.get_with_proof(key.clone()).await?; + + // TODO(erwan): will immediately follow-up this pr with one that changes + // signature to Option> here as well, and a `get_without_proof`. + // For now, we conserve the semantics of error-ing out on a missing key. + let value = value.ok_or_else(|| anyhow!("key not found"))?; + let jmt_root = self.root_hash().await?; - let jmt_commitment_proof = ics23::CommitmentProof { - proof: Some(ics23::commitment_proof::Proof::Exist(jmt_proof)), - }; let root_proof = ics23::CommitmentProof { proof: Some(ics23::commitment_proof::Proof::Exist( ics23::ExistenceProof { @@ -108,7 +113,7 @@ impl AppHashRead for Snapshot { Ok(( value, MerkleProof { - proofs: vec![jmt_commitment_proof, root_proof], + proofs: vec![jmt_proof, root_proof], }, )) } diff --git a/crates/compact-block/Cargo.toml b/crates/compact-block/Cargo.toml index f29027ae1d..fa808ef6d6 100644 --- a/crates/compact-block/Cargo.toml +++ b/crates/compact-block/Cargo.toml @@ -33,7 +33,7 @@ serde = { version = "1", features = ["derive"] } tracing = "0.1" anyhow = "1" async-trait = "0.1.52" -tendermint = "0.29.0" +tendermint = "0.31.1" blake2b_simd = "0.5" bytes = "1" rand_core = { version = "0.6.3", features = ["getrandom"] } diff --git a/crates/component/Cargo.toml b/crates/component/Cargo.toml index 4870ef249f..46bf091148 100644 --- a/crates/component/Cargo.toml +++ b/crates/component/Cargo.toml @@ -9,4 +9,4 @@ edition = "2021" penumbra-storage = { path = "../../storage" } async-trait = "0.1.52" anyhow = "1" -tendermint = "0.29.0" +tendermint = "0.31.1" diff --git a/crates/component/src/component.rs b/crates/component/src/component.rs index 23fc6e89ff..368ea97bc7 100644 --- a/crates/component/src/component.rs +++ b/crates/component/src/component.rs @@ -4,7 +4,7 @@ use anyhow::Result; use async_trait::async_trait; use penumbra_storage::StateWrite; -use tendermint::abci; +use tendermint::v0_34::abci; /// A component of the Penumbra application. #[async_trait] diff --git a/crates/dao/Cargo.toml b/crates/dao/Cargo.toml index 89f5bb25b9..2dad985450 100644 --- a/crates/dao/Cargo.toml +++ b/crates/dao/Cargo.toml @@ -29,8 +29,8 @@ prost = "0.11" serde = { version = "1", features = ["derive"] } metrics = "0.19.0" pbjson-types = "0.5.1" -tendermint = "0.29.0" -tendermint-light-client-verifier = "0.29.0" +tendermint = "0.31.1" +tendermint-light-client-verifier = "0.31.1" sha2 = "0.10.6" once_cell = "1.17.1" base64 = "0.20" diff --git a/crates/distributions/Cargo.toml b/crates/distributions/Cargo.toml index 6e4704c270..016d8a6f21 100644 --- a/crates/distributions/Cargo.toml +++ b/crates/distributions/Cargo.toml @@ -24,6 +24,6 @@ penumbra-shielded-pool = { path = "../shielded-pool", default-features = false } async-trait = "0.1.52" anyhow = "1" tracing = "0.1" -tendermint = "0.29.0" +tendermint = "0.31.1" [dev-dependencies] diff --git a/crates/ibc/Cargo.toml b/crates/ibc/Cargo.toml index e5086146ce..a32c96768f 100644 --- a/crates/ibc/Cargo.toml +++ b/crates/ibc/Cargo.toml @@ -20,8 +20,12 @@ penumbra-crypto = { path = "../../crypto", default-features = false } penumbra-shielded-pool = { path = "../shielded-pool", default-features = false } # Penumbra dependencies -ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.1.x", version = "0.1.1" } -ibc-proto = { version = "0.26", default-features = false } +ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.2.x"} +ibc-proto = { git = "https://github.com/penumbra-zone/ibc-proto-rs", branch = "penumbra"} + +# Tendermint deps +tendermint = "0.31.1" +tendermint-light-client-verifier = "0.31.1" # Crates.io deps ark-ff = { version = "0.4", default_features = false } @@ -33,12 +37,10 @@ prost = "0.11" serde = { version = "1", features = ["derive"] } metrics = "0.19.0" pbjson-types = "0.5.1" -tendermint = "0.29.0" -tendermint-light-client-verifier = "0.29.0" sha2 = "0.10.6" once_cell = "1.17.1" base64 = "0.20" blake2b_simd = "0.5" [dev-dependencies] -tokio = {version = "1.3", features = ["full"]} +tokio = {version = "1.3", features = ["full"]} \ No newline at end of file diff --git a/crates/ibc/src/component/ibc_component.rs b/crates/ibc/src/component/ibc_component.rs index f4655551af..8c543cfd9e 100644 --- a/crates/ibc/src/component/ibc_component.rs +++ b/crates/ibc/src/component/ibc_component.rs @@ -8,7 +8,7 @@ use ibc_types::{ }; use penumbra_component::Component; use penumbra_storage::StateWrite; -use tendermint::abci; +use tendermint::v0_34::abci; use tracing::instrument; use crate::component::{client::StateWriteExt as _, client_counter::ClientCounter}; diff --git a/crates/ibc/src/ibc_action.rs b/crates/ibc/src/ibc_action.rs index c462e14410..af069460d7 100644 --- a/crates/ibc/src/ibc_action.rs +++ b/crates/ibc/src/ibc_action.rs @@ -205,63 +205,63 @@ impl From for pb::IbcAction { let raw_action = match value { IbcAction::CreateClient(msg) => pbjson_types::Any { type_url: CREATE_CLIENT.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::UpdateClient(msg) => pbjson_types::Any { type_url: UPDATE_CLIENT.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::ConnectionOpenInit(msg) => pbjson_types::Any { type_url: CONNECTION_OPEN_INIT.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::ConnectionOpenTry(msg) => pbjson_types::Any { type_url: CONNECTION_OPEN_TRY.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::ConnectionOpenAck(msg) => pbjson_types::Any { type_url: CONNECTION_OPEN_ACK.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::ConnectionOpenConfirm(msg) => pbjson_types::Any { type_url: CONNECTION_OPEN_CONFIRM.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::Acknowledgement(msg) => pbjson_types::Any { type_url: ACKNOWLEDGEMENT.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::ChannelOpenInit(msg) => pbjson_types::Any { type_url: CHANNEL_OPEN_INIT.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::ChannelOpenTry(msg) => pbjson_types::Any { type_url: CHANNEL_OPEN_TRY.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::ChannelOpenAck(msg) => pbjson_types::Any { type_url: CHANNEL_OPEN_ACK.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::ChannelOpenConfirm(msg) => pbjson_types::Any { type_url: CHANNEL_OPEN_CONFIRM.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::ChannelCloseInit(msg) => pbjson_types::Any { type_url: CHANNEL_CLOSE_INIT.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::ChannelCloseConfirm(msg) => pbjson_types::Any { type_url: CHANNEL_CLOSE_CONFIRM.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::RecvPacket(msg) => pbjson_types::Any { type_url: RECV_PACKET.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::Timeout(msg) => pbjson_types::Any { type_url: TIMEOUT.to_string(), - value: msg.encode_vec().unwrap().into(), + value: msg.encode_vec().into(), }, IbcAction::Unknown(raw_action) => raw_action, }; diff --git a/crates/sct/Cargo.toml b/crates/sct/Cargo.toml index d2d2591a07..f597305036 100644 --- a/crates/sct/Cargo.toml +++ b/crates/sct/Cargo.toml @@ -31,7 +31,7 @@ serde = { version = "1", features = ["derive"] } tracing = "0.1" anyhow = "1" async-trait = "0.1.52" -tendermint = "0.29.0" +tendermint = "0.31.1" blake2b_simd = "0.5" bytes = "1" rand_core = { version = "0.6.3", features = ["getrandom"] } diff --git a/crates/shielded-pool/Cargo.toml b/crates/shielded-pool/Cargo.toml index 570f853859..8c4959afaa 100644 --- a/crates/shielded-pool/Cargo.toml +++ b/crates/shielded-pool/Cargo.toml @@ -40,7 +40,7 @@ serde = { version = "1", features = ["derive"] } tracing = "0.1" anyhow = "1" async-trait = "0.1.52" -tendermint = "0.29.0" +tendermint = "0.31.1" blake2b_simd = "0.5" bytes = "1" rand_core = { version = "0.6.3", features = ["getrandom"] } diff --git a/crates/shielded-pool/src/component/shielded_pool.rs b/crates/shielded-pool/src/component/shielded_pool.rs index 9d42d3cf63..4e963e144b 100644 --- a/crates/shielded-pool/src/component/shielded_pool.rs +++ b/crates/shielded-pool/src/component/shielded_pool.rs @@ -10,7 +10,7 @@ use penumbra_crypto::{asset, Value}; use penumbra_proto::StateReadProto; use penumbra_storage::StateRead; use penumbra_storage::StateWrite; -use tendermint::abci; +use tendermint::v0_34::abci; use crate::state_key; diff --git a/crates/stake/Cargo.toml b/crates/stake/Cargo.toml index e684ba5638..b7c5708ae9 100644 --- a/crates/stake/Cargo.toml +++ b/crates/stake/Cargo.toml @@ -38,7 +38,7 @@ tokio = { version = "1.21.1", features = ["full", "tracing"], optional = true } im = { version = "15.1.0", optional = true } futures = { version = "0.3", optional = true } async-trait = { version = "0.1.52" } -tendermint = { version = "0.29.0" } +tendermint = { version = "0.31.1" } anyhow = "1" tracing = "0.1" serde = { version = "1", features = ["derive"] } diff --git a/crates/stake/src/component.rs b/crates/stake/src/component.rs index 36846f37bf..ce69932cfe 100644 --- a/crates/stake/src/component.rs +++ b/crates/stake/src/component.rs @@ -28,14 +28,11 @@ use penumbra_proto::{ use penumbra_shielded_pool::component::{NoteManager, SupplyRead, SupplyWrite}; use penumbra_storage::{StateRead, StateWrite}; use sha2::{Digest, Sha256}; +use tendermint::v0_34::abci; use tendermint::validator::Update; -use tendermint::{ - abci::{ - self, - types::{Evidence, LastCommitInfo}, - }, - block, PublicKey, -}; + +use tendermint::abci::types::Misbehavior; +use tendermint::{abci::types::CommitInfo, block, PublicKey}; use tokio::task::JoinSet; use tracing::{instrument, Instrument}; @@ -644,7 +641,7 @@ pub(crate) trait StakingImpl: StateWriteExt { } #[instrument(skip(self, last_commit_info))] - async fn track_uptime(&mut self, last_commit_info: &LastCommitInfo) -> Result<()> { + async fn track_uptime(&mut self, last_commit_info: &CommitInfo) -> Result<()> { // Note: this probably isn't the correct height for the LastCommitInfo, // which is about the *last* commit, but at least it'll be consistent, // which is all we need to count signatures. @@ -859,9 +856,11 @@ pub(crate) trait StakingImpl: StateWriteExt { Ok(()) } - async fn process_evidence(&mut self, evidence: &Evidence) -> Result<()> { + async fn process_misbehavior(&mut self, misbehavior: &Misbehavior) -> Result<()> { + // TODO(erwan): noticed during the tendermints-rs@0.31 upgrade that lightclient attack + // detection is WIP. let validator = self - .validator_by_tendermint_address(&evidence.validator.address) + .validator_by_tendermint_address(&misbehavior.validator.address) .await? .ok_or_else(|| anyhow::anyhow!("attempted to slash unknown validator"))?; @@ -944,7 +943,7 @@ impl Component for Staking { // For each validator identified as byzantine by tendermint, update its // state to be slashed for evidence in begin_block.byzantine_validators.iter() { - state.process_evidence(evidence).await.unwrap(); + state.process_misbehavior(evidence).await.unwrap(); } state diff --git a/narsil/Cargo.toml b/narsil/Cargo.toml index 693295aac6..cb4af17da0 100644 --- a/narsil/Cargo.toml +++ b/narsil/Cargo.toml @@ -21,7 +21,8 @@ penumbra-tower-trace = { path = "../tower-trace" } penumbra-tendermint-proxy = { path = "../tendermint-proxy" } # Penumbra dependencies -tower-abci = "0.5.0" +# TODO(erwan): switch with upstream MERGEBLOCK +tower-abci = { git = "https://github.com/penumbra-zone/tower-abci", branch = "tendermint-31" } tower-actor = "0.1.0" # External dependencies @@ -40,10 +41,10 @@ metrics-tracing-context = "0.11.0" metrics-util = "0.13" serde = { version = "1", features = ["derive"] } serde_json = "1" -tendermint-config = "0.29.0" -tendermint-proto = "0.29.0" -tendermint = "0.29.0" -tendermint-light-client-verifier = "0.29.0" +tendermint-config = "0.31.1" +tendermint-proto = "0.31.1" +tendermint = "0.31.1" +tendermint-light-client-verifier = "0.31.1" tokio = { version = "1.22", features = ["full"] } tokio-stream = "0.1" tokio-util = "0.7" @@ -52,7 +53,7 @@ tonic-web = "0.4.0" tower = { version = "0.4", features = ["full"] } tower-service = "0.3.2" tracing = "0.1" -tracing-subscriber = { version = "0.3", features = ["env-filter", "ansi"] } +tracing-subscriber = { version = "0.3.17", features = ["env-filter", "ansi"] } url = "2" atty = "0.2" diff --git a/narsil/src/bin/narsild.rs b/narsil/src/bin/narsild.rs index 64eeebd090..a0c3c9726a 100644 --- a/narsil/src/bin/narsild.rs +++ b/narsil/src/bin/narsild.rs @@ -160,7 +160,7 @@ async fn main() -> anyhow::Result<()> { let abci_server = tokio::task::Builder::new() .name("abci_server") .spawn( - tower_abci::Server::builder() + tower_abci::v034::Server::builder() .consensus(consensus) .snapshot(snapshot) .mempool(mempool) diff --git a/narsil/src/ledger/consensus.rs b/narsil/src/ledger/consensus.rs index c5d1cd0153..30ac880f33 100644 --- a/narsil/src/ledger/consensus.rs +++ b/narsil/src/ledger/consensus.rs @@ -78,6 +78,12 @@ impl Consensus { .await .expect("commit must succeed"), ), + Request::PrepareProposal(_) => { + unimplemented!("PrepareProposal unimplemented in Tendermint v0.34") + } + Request::ProcessProposal(_) => { + unimplemented!("ProcessProposal unimplemented in Tendermint v0.34") + } })); } Ok(()) diff --git a/narsil/src/ledger/mempool.rs b/narsil/src/ledger/mempool.rs index 501383a7b5..eb650787d9 100644 --- a/narsil/src/ledger/mempool.rs +++ b/narsil/src/ledger/mempool.rs @@ -1,10 +1,9 @@ use anyhow::Result; use penumbra_storage::{Snapshot, Storage}; - -use tendermint::abci::{ +use tendermint::abci::{MempoolRequest as Request, MempoolResponse as Response}; +use tendermint::v0_34::abci::{ request::CheckTx as CheckTxReq, request::CheckTxKind, response::CheckTx as CheckTxRsp, - MempoolRequest as Request, MempoolResponse as Response, }; use tokio::sync::{mpsc, watch}; use tower_actor::Message; diff --git a/narsil/src/ledger/mod.rs b/narsil/src/ledger/mod.rs index 11977bbffd..689505eea2 100644 --- a/narsil/src/ledger/mod.rs +++ b/narsil/src/ledger/mod.rs @@ -1,5 +1,6 @@ //! Logic for enabling `narsild` to interact with chain state. use penumbra_proto::narsil::v1alpha1::ledger::ledger_service_server::LedgerService; +use tendermint::v0_34::abci; use tonic::Status; use tracing::instrument; @@ -45,10 +46,11 @@ impl LedgerService for Info { ) -> Result, Status> { let info = self - .info(tendermint::abci::request::Info { + .info(abci::request::Info { version: request.get_ref().version.clone(), block_version: request.get_ref().block_version, p2p_version: request.get_ref().p2p_version, + abci_version: request.get_ref().abci_version.clone(), }) .await .map_err(|e| tonic::Status::unknown(format!("error getting ABCI info: {e}")))?; diff --git a/pcli/Cargo.toml b/pcli/Cargo.toml index d6a891bfae..afd10dd0a7 100644 --- a/pcli/Cargo.toml +++ b/pcli/Cargo.toml @@ -20,7 +20,7 @@ parallel = ["penumbra-proof-params/parallel", "decaf377/parallel", "penumbra-cry [dependencies] # Workspace dependencies -jmt = "0.3" +jmt = "0.5" penumbra-proto = { path = "../proto" } penumbra-chain = { path = "../chain" } penumbra-crypto = { path = "../crypto" } @@ -39,13 +39,14 @@ penumbra-compact-block = { path = "../crates/compact-block", default-features = penumbra-app = { path = "../app" } # Penumbra dependencies -decaf377 = { version = "0.4" } -tendermint = { version = "0.29.0", features = ["rust-crypto"] } +decaf377 = "0.4" -# External dependencies -ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.1.x", version = "0.1.1" } +# Tendermint deps +tendermint = { version = "0.31.1", features = ["rust-crypto"] } +ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.2.x" } +ibc-proto = { git = "https://github.com/penumbra-zone/ibc-proto-rs", branch = "penumbra" } -ibc-proto = "0.26" +# Misc ark-ff = { version = "0.4", default-features = false } ed25519-consensus = "2" futures = "0.3" diff --git a/pcli/src/command/query/chain.rs b/pcli/src/command/query/chain.rs index ac8c1d328a..9a57365420 100644 --- a/pcli/src/command/query/chain.rs +++ b/pcli/src/command/query/chain.rs @@ -113,6 +113,7 @@ impl ChainCmd { version: "".to_string(), block_version: 0, p2p_version: 0, + abci_version: "".to_string(), }) .await? .into_inner(); diff --git a/pclientd/Cargo.toml b/pclientd/Cargo.toml index 588972d632..541251b7be 100644 --- a/pclientd/Cargo.toml +++ b/pclientd/Cargo.toml @@ -50,7 +50,7 @@ parking_lot = "0.12" clap = { version = "3", features = ["derive", "env"] } camino = "1" async-trait = "0.1" -tendermint = "0.29.0" +tendermint = "0.31.0" sha2 = "0.10.1" toml = "0.5" ed25519-consensus = "2.1" @@ -60,9 +60,8 @@ atty = "0.2" tempfile = "3.3.0" assert_cmd = "2.0" base64 = "0.20" -ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.1.x", version = "0.1.1" } - -ibc-proto = "0.26" +ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.2.x" } +ibc-proto = { git = "https://github.com/penumbra-zone/ibc-proto-rs", branch = "penumbra" } [build-dependencies] vergen = "5" diff --git a/pclientd/tests/network_integration.rs b/pclientd/tests/network_integration.rs index 6a62dae2cd..7ac997431a 100644 --- a/pclientd/tests/network_integration.rs +++ b/pclientd/tests/network_integration.rs @@ -29,6 +29,8 @@ use tokio::process::Command as TokioCommand; #[ignore] #[tokio::test] async fn transaction_send_flow() -> anyhow::Result<()> { + use ibc_proto::protobuf::Protobuf; + tracing_subscriber::fmt::init(); // Create a tempdir for the pclientd instance to run in. let data_dir = tempdir().unwrap(); @@ -95,7 +97,6 @@ async fn transaction_send_flow() -> anyhow::Result<()> { include_str!("../../crates/ibc/src/component/test/create_client.msg").replace('\n', ""), ) .unwrap(); - use ibc_proto::protobuf::Protobuf; use ibc_types::core::ics02_client::msgs::create_client::MsgCreateClient; let msg_create_stargaze_client = MsgCreateClient::decode(msg_create_client_stargaze_raw.as_slice()).unwrap(); diff --git a/pd/Cargo.toml b/pd/Cargo.toml index 85b4dba210..83eb455a12 100644 --- a/pd/Cargo.toml +++ b/pd/Cargo.toml @@ -33,24 +33,20 @@ penumbra-ibc = { path = "../crates/ibc" } # Penumbra dependencies decaf377 = { version = "0.4", features = ["parallel"] } -tower-abci = "0.5.0" -jmt = "0.3" +tower-abci = "0.7.0" tower-actor = "0.1.0" +jmt = "0.5.0" # External dependencies -tendermint-config = "0.29.0" -tendermint-proto = "0.29.0" -tendermint = "0.29.0" -tendermint-light-client-verifier = "0.29.0" -ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.1.x", version = "0.1.1" } - -ibc-proto = { version = "0.26", features = ["server"] } +tendermint-config = "0.31.1" +tendermint-proto = "0.31.1" +tendermint = "0.31.1" +tendermint-light-client-verifier = "0.31.1" +ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.2.x" } +ibc-proto = { git = "https://github.com/penumbra-zone/ibc-proto-rs", branch = "penumbra" } prost = "0.11" toml = "0.5" -# We don't need this crate at all, but its upstream published a breaking change as -# 0.7.1 (also prost-related), and depending on an exact version here will exclude -# the bad update until it's yanked. -ics23 = "0.9.0" +ics23 = "0.10.0" pin-project-lite = "0.2.9" ark-ff = { version = "0.4" } @@ -95,7 +91,7 @@ http = "0.2" ed25519-consensus = "2" async-trait = "0.1.52" -tendermint-rpc = { version = "0.29.0", features = ["http-client"] } +tendermint-rpc = { version = "0.31.1", features = ["http-client"] } once_cell = "1.7.2" rocksdb = "0.19.0" tempfile = "3.3.0" diff --git a/pd/src/consensus.rs b/pd/src/consensus.rs index 18a0ccb354..356d379eaf 100644 --- a/pd/src/consensus.rs +++ b/pd/src/consensus.rs @@ -78,6 +78,12 @@ impl Consensus { .await .expect("commit must succeed"), ), + Request::PrepareProposal(_) => { + unimplemented!("PrepareProposal unimplemented in Tendermint v0.34.x") + } + Request::ProcessProposal(_) => { + unimplemented!("ProcessProposal unimplemented in Tendermint v0.34.x") + } })); } Ok(()) diff --git a/pd/src/info.rs b/pd/src/info.rs index a0365315c5..8057d75c6e 100644 --- a/pd/src/info.rs +++ b/pd/src/info.rs @@ -31,14 +31,14 @@ use penumbra_ibc::component::ChannelStateReadExt as _; use penumbra_ibc::component::ClientStateReadExt as _; use penumbra_ibc::component::ConnectionStateReadExt as _; use penumbra_storage::Storage; +use penumbra_tower_trace::RequestExt; use prost::Message; use std::str::FromStr; -use tendermint::abci::{self, response::Echo, InfoRequest, InfoResponse}; +use tendermint::abci::{InfoRequest, InfoResponse}; +use tendermint::v0_34::abci; use tower_abci::BoxError; use tracing::Instrument; -use penumbra_tower_trace::RequestExt; - mod oblivious; mod specific; @@ -575,7 +575,7 @@ impl tower_service::Service for Info { ..Default::default() })), }, - InfoRequest::Echo(echo) => Ok(InfoResponse::Echo(Echo { + InfoRequest::Echo(echo) => Ok(InfoResponse::Echo(abci::response::Echo { message: echo.message, })), InfoRequest::SetOption(_) => todo!(), diff --git a/pd/src/info/oblivious.rs b/pd/src/info/oblivious.rs index 942fbaeac1..48e3f2a340 100644 --- a/pd/src/info/oblivious.rs +++ b/pd/src/info/oblivious.rs @@ -15,7 +15,9 @@ use penumbra_proto::{ }, DomainType, }; + use penumbra_stake::{validator, StateReadExt as _}; +use tendermint::v0_34::abci; use tokio::sync::mpsc; use tonic::Status; use tracing::{instrument, Instrument}; @@ -85,10 +87,11 @@ impl ObliviousQueryService for Info { request: tonic::Request, ) -> Result, Status> { let info = self - .info(tendermint::abci::request::Info { + .info(abci::request::Info { version: request.get_ref().version.clone(), block_version: request.get_ref().block_version, p2p_version: request.get_ref().p2p_version, + abci_version: request.get_ref().abci_version.clone(), }) .await .map_err(|e| tonic::Status::unknown(format!("error getting ABCI info: {e}")))?; diff --git a/pd/src/info/specific.rs b/pd/src/info/specific.rs index 881a3bedad..d719002d49 100644 --- a/pd/src/info/specific.rs +++ b/pd/src/info/specific.rs @@ -553,7 +553,7 @@ impl SpecificQueryService for Info { return Err(Status::invalid_argument("key is empty")); } - // TODO: we are unconditionally generating the proof here; we shouldn't do that if the + // TODO(erwan): we are unconditionally generating the proof here; we shouldn't do that if the // request doesn't ask for it let (value, proof) = state .get_with_proof_to_apphash(request.key.into_bytes()) diff --git a/pd/src/main.rs b/pd/src/main.rs index 93171d26f6..df60068b48 100644 --- a/pd/src/main.rs +++ b/pd/src/main.rs @@ -268,7 +268,7 @@ async fn main() -> anyhow::Result<()> { let abci_server = tokio::task::Builder::new() .name("abci_server") .spawn( - tower_abci::Server::builder() + tower_abci::v034::Server::builder() .consensus(consensus) .snapshot(snapshot) .mempool(mempool) diff --git a/pd/src/mempool.rs b/pd/src/mempool.rs index e6ccdc6723..fdc7cb0c3f 100644 --- a/pd/src/mempool.rs +++ b/pd/src/mempool.rs @@ -2,9 +2,9 @@ use anyhow::Result; use penumbra_storage::{Snapshot, Storage}; -use tendermint::abci::{ +use tendermint::abci::{MempoolRequest as Request, MempoolResponse as Response}; +use tendermint::v0_34::abci::{ request::CheckTx as CheckTxReq, request::CheckTxKind, response::CheckTx as CheckTxRsp, - MempoolRequest as Request, MempoolResponse as Response, }; use tokio::sync::{mpsc, watch}; use tower_actor::Message; diff --git a/pd/src/testnet/generate.rs b/pd/src/testnet/generate.rs index 9f6b2f1936..3c4173926f 100644 --- a/pd/src/testnet/generate.rs +++ b/pd/src/testnet/generate.rs @@ -198,7 +198,7 @@ pub fn testnet_generate( validator: tendermint::consensus::params::ValidatorParams { pub_key_types: vec![Algorithm::Ed25519], }, - version: Some(tendermint::consensus::params::VersionParams { app_version: 0 }), + version: Some(tendermint::consensus::params::VersionParams { app: 0 }), }, // always empty in genesis json app_hash: tendermint::AppHash::default(), diff --git a/proto/Cargo.toml b/proto/Cargo.toml index c3a79d89b7..127df05d24 100644 --- a/proto/Cargo.toml +++ b/proto/Cargo.toml @@ -25,11 +25,11 @@ futures = "0.3" pbjson = "0.5" pbjson-types = "0.5" -ibc-proto = { version = "0.26", default-features = false, features = ["std"] } -ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.1.x", version = "0.1.1" } +ibc-proto = { git = "https://github.com/penumbra-zone/ibc-proto-rs", branch = "penumbra", default-features = false, features = ["parity-scale-codec", "borsh"] } +ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.2.x" } -ics23 = "0.9.0" -tendermint = "0.29.0" +ics23 = "0.10.1" +tendermint = "0.31.1" [build-dependencies] anyhow = "1" diff --git a/proto/proto/penumbra/client/v1alpha1/client.proto b/proto/proto/penumbra/client/v1alpha1/client.proto index eaee187f41..49a7d73d08 100644 --- a/proto/proto/penumbra/client/v1alpha1/client.proto +++ b/proto/proto/penumbra/client/v1alpha1/client.proto @@ -2,15 +2,14 @@ syntax = "proto3"; package penumbra.client.v1alpha1; +import "google/protobuf/timestamp.proto"; import "ibc/core/commitment/v1/commitment.proto"; import "penumbra/core/chain/v1alpha1/chain.proto"; import "penumbra/core/crypto/v1alpha1/crypto.proto"; import "penumbra/core/dex/v1alpha1/dex.proto"; import "penumbra/core/stake/v1alpha1/stake.proto"; - -import "google/protobuf/timestamp.proto"; -import "tendermint/p2p/types.proto"; import "tendermint/crypto/proof.proto"; +import "tendermint/p2p/types.proto"; import "tendermint/types/block.proto"; import "tendermint/types/types.proto"; import "tendermint/types/validator.proto"; @@ -38,20 +37,22 @@ message InfoRequest { uint64 block_version = 2; // The Tendermint p2p protocol version. uint64 p2p_version = 3; + // The ABCI semantic version. + string abci_version = 4; } // Contains information about the chain state as known by the node. message InfoResponse { - // Some arbitrary information. - bytes data = 1; - // The application software semantic version. - string version = 2; - // The application protocol version. - uint64 app_version = 3; - // The latest block for which the app has called [`Commit`](super::super::Request::Commit). - uint64 last_block_height = 4; - // The latest result of [`Commit`](super::super::Request::Commit). - bytes last_block_app_hash = 5; + // Some arbitrary information. + bytes data = 1; + // The application software semantic version. + string version = 2; + // The application protocol version. + uint64 app_version = 3; + // The latest block for which the app has called [`Commit`](super::super::Request::Commit). + uint64 last_block_height = 4; + // The latest result of [`Commit`](super::super::Request::Commit). + bytes last_block_app_hash = 5; } // Requests a range of compact block data. @@ -78,11 +79,11 @@ message ChainParametersRequest { } message EpochByHeightRequest { - uint64 height = 1; + uint64 height = 1; } message EpochByHeightResponse { - core.chain.v1alpha1.Epoch epoch = 1; + core.chain.v1alpha1.Epoch epoch = 1; } message ChainParametersResponse { @@ -325,48 +326,42 @@ message PrefixValueResponse { // Defines the gRPC query service for proxying requests to an upstream Tendermint RPC. service TendermintProxyService { // Status queries the current status. - rpc GetStatus(GetStatusRequest) returns (GetStatusResponse) { - } + rpc GetStatus(GetStatusRequest) returns (GetStatusResponse) {} // Broadcast a transaction asynchronously. - rpc BroadcastTxAsync(BroadcastTxAsyncRequest) returns (BroadcastTxAsyncResponse) { - } + rpc BroadcastTxAsync(BroadcastTxAsyncRequest) returns (BroadcastTxAsyncResponse) {} // Broadcast a transaction synchronously. - rpc BroadcastTxSync(BroadcastTxSyncRequest) returns (BroadcastTxSyncResponse) { - } + rpc BroadcastTxSync(BroadcastTxSyncRequest) returns (BroadcastTxSyncResponse) {} // Fetch a transaction by hash. - rpc GetTx(GetTxRequest) returns (GetTxResponse) { - } + rpc GetTx(GetTxRequest) returns (GetTxResponse) {} // ABCIQuery defines a query handler that supports ABCI queries directly to the // application, bypassing Tendermint completely. The ABCI query must contain // a valid and supported path, including app, custom, p2p, and store. - rpc ABCIQuery(ABCIQueryRequest) returns (ABCIQueryResponse) { - } + rpc ABCIQuery(ABCIQueryRequest) returns (ABCIQueryResponse) {} // GetBlockByHeight queries block for given height. - rpc GetBlockByHeight(GetBlockByHeightRequest) returns (GetBlockByHeightResponse) { - } + rpc GetBlockByHeight(GetBlockByHeightRequest) returns (GetBlockByHeightResponse) {} } // GetTxRequest is the request type for the GetTx RPC method. message GetTxRequest { - // Hash of transaction to retrieve - bytes hash = 1; - // Include proofs of the transaction's inclusion in the block - bool prove = 2; + // Hash of transaction to retrieve + bytes hash = 1; + // Include proofs of the transaction's inclusion in the block + bool prove = 2; } // GetTxResponse is the response type for the GetTx RPC method. message GetTxResponse { - // Hash of transaction - bytes hash = 1; - uint64 height = 2; - uint64 index = 3; - TxResult tx_result = 4; - bytes tx = 5; + // Hash of transaction + bytes hash = 1; + uint64 height = 2; + uint64 index = 3; + TxResult tx_result = 4; + bytes tx = 5; } message TxResult { @@ -384,35 +379,34 @@ message Tag { // BroadcastTxAsyncRequest is the request type for the BroadcastTxAsync RPC method. message BroadcastTxAsyncRequest { - bytes params = 1; - uint64 req_id = 2; + bytes params = 1; + uint64 req_id = 2; } // BroadcastTxAsyncResponse is the response type for the BroadcastTxAsync RPC method. message BroadcastTxAsyncResponse { - uint64 code = 1; - bytes data = 2; - string log = 3; - bytes hash = 4; + uint64 code = 1; + bytes data = 2; + string log = 3; + bytes hash = 4; } // BroadcastTxSyncRequest is the request type for the BroadcastTxSync RPC method. message BroadcastTxSyncRequest { - bytes params = 1; - uint64 req_id = 2; + bytes params = 1; + uint64 req_id = 2; } // BroadcastTxSyncResponse is the response type for the BroadcastTxSync RPC method. message BroadcastTxSyncResponse { - uint64 code = 1; - bytes data = 2; - string log = 3; - bytes hash = 4; + uint64 code = 1; + bytes data = 2; + string log = 3; + bytes hash = 4; } // GetStatusRequest is the request type for the Query/GetStatus RPC method. -message GetStatusRequest { -} +message GetStatusRequest {} // GetStatusResponse is the response type for the Query/GetStatus RPC method. message GetStatusResponse { @@ -422,25 +416,25 @@ message GetStatusResponse { } message SyncInfo { - bytes latest_block_hash = 1; - bytes latest_app_hash = 2; - uint64 latest_block_height = 3; - google.protobuf.Timestamp latest_block_time = 4; - // These are implemented in tendermint, but not - // in tendermint-rpc. - // bytes earliest_block_hash = 5; - // bytes earliest_app_hash = 6; - // uint64 earliest_block_height = 7; - // google.protobuf.Timestamp earliest_block_time = 8; - bool catching_up = 9; + bytes latest_block_hash = 1; + bytes latest_app_hash = 2; + uint64 latest_block_height = 3; + google.protobuf.Timestamp latest_block_time = 4; + // These are implemented in tendermint, but not + // in tendermint-rpc. + // bytes earliest_block_hash = 5; + // bytes earliest_app_hash = 6; + // uint64 earliest_block_height = 7; + // google.protobuf.Timestamp earliest_block_time = 8; + bool catching_up = 9; } // ABCIQueryRequest defines the request structure for the ABCIQuery gRPC query. message ABCIQueryRequest { - bytes data = 1; - string path = 2; - int64 height = 3; - bool prove = 4; + bytes data = 1; + string path = 2; + int64 height = 3; + bool prove = 4; } // ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query. @@ -451,14 +445,14 @@ message ABCIQueryResponse { uint32 code = 1; // DEPRECATED: use "value" instead reserved 2; - string log = 3; // nondeterministic - string info = 4; // nondeterministic - int64 index = 5; - bytes key = 6; - bytes value = 7; + string log = 3; // nondeterministic + string info = 4; // nondeterministic + int64 index = 5; + bytes key = 6; + bytes value = 7; .tendermint.crypto.ProofOps proof_ops = 8; - int64 height = 9; - string codespace = 10; + int64 height = 9; + string codespace = 10; } // GetBlockByHeightRequest is the request type for the Query/GetBlockByHeight RPC method. diff --git a/proto/proto/penumbra/narsil/ledger/v1alpha1/ledger.proto b/proto/proto/penumbra/narsil/ledger/v1alpha1/ledger.proto index e7f086c2b4..e5cdf7fe9f 100644 --- a/proto/proto/penumbra/narsil/ledger/v1alpha1/ledger.proto +++ b/proto/proto/penumbra/narsil/ledger/v1alpha1/ledger.proto @@ -19,54 +19,56 @@ message InfoRequest { uint64 block_version = 2; // The Tendermint p2p protocol version. uint64 p2p_version = 3; + // The Tendermint ABCI semantic version. + string abci_version = 4; } // Contains information about the chain state as known by the node. message InfoResponse { - // Some arbitrary information. - bytes data = 1; - // The application software semantic version. - string version = 2; - // The application protocol version. - uint64 app_version = 3; - // The latest block for which the app has called [`Commit`](super::super::Request::Commit). - uint64 last_block_height = 4; - // The latest result of [`Commit`](super::super::Request::Commit). - bytes last_block_app_hash = 5; + // Some arbitrary information. + bytes data = 1; + // The application software semantic version. + string version = 2; + // The application protocol version. + uint64 app_version = 3; + // The latest block for which the app has called [`Commit`](super::super::Request::Commit). + uint64 last_block_height = 4; + // The latest result of [`Commit`](super::super::Request::Commit). + bytes last_block_app_hash = 5; } // The root identity key material for a shard operator. message ShardIdentityKey { - // An Ed25519 key. - bytes inner = 1; + // An Ed25519 key. + bytes inner = 1; } // The key that Tendermint will use to identify a validator. message ConsensusKey { - // An Ed25519 key. - bytes inner = 1; + // An Ed25519 key. + bytes inner = 1; } // A subkey a shard uses to sign messages sent to the ledger. message ShardMessageKey { - // An Ed25519 key. - bytes inner = 1; + // An Ed25519 key. + bytes inner = 1; } // The threshold key share controlled by a shard operator. message ShardKey { - // A decaf377 scalar. - bytes inner = 1; + // A decaf377 scalar. + bytes inner = 1; } // A signature over a message sent to the ledger by a shard. message ShardMessageSignature { - // An Ed25519 signature. - bytes inner = 1; + // An Ed25519 signature. + bytes inner = 1; } // A description of one of the operators of a threshold key share (shard). -// +// // The `ShardOperator` message doesn't have the threshold key share itself, // because the workflow is that the set of operators is going to be configured // first, as part of the genesis / chain configuration, and then the shards @@ -74,103 +76,103 @@ message ShardMessageSignature { // the DKG messages. This means there's no interactive setup procedure for the // shard operators. message ShardDescription { - // The shard operator's offline identity key material which is the root of their authority. - ShardIdentityKey identity_key = 1; - // A subkey used for signing messages sent to the ledger. - ShardMessageKey message_key = 2; - // The validator's consensus pubkey for use in Tendermint (ed25519) - ConsensusKey consensus_key = 3; - // A label for the shard. - string label = 4; + // The shard operator's offline identity key material which is the root of their authority. + ShardIdentityKey identity_key = 1; + // A subkey used for signing messages sent to the ledger. + ShardMessageKey message_key = 2; + // The validator's consensus pubkey for use in Tendermint (ed25519) + ConsensusKey consensus_key = 3; + // A label for the shard. + string label = 4; } // A self-authenticating `ShardDescription`, signed with the `ShardIdentityKey`. message ShardOperator { - ShardDescription description = 1; - bytes sig = 2; + ShardDescription description = 1; + bytes sig = 2; } // The genesis data describing the set of shard operators who jointly control // the Narsil instance. -// +// // The genesis data does not specify the threshold key shares themselves, // because these will be computed as the ledger boots up and the shard operators // perform the DKG to generate the shared key, described by the `ShardInfo`. message GenesisData { - // The set of shard operators (implicitly specifying the `n` in `t-of-n`). - repeated ShardOperator operators = 1; - // The number of shards required to sign a message (the `t` in `t-of-n`). - uint32 threshold = 2; + // The set of shard operators (implicitly specifying the `n` in `t-of-n`). + repeated ShardOperator operators = 1; + // The number of shards required to sign a message (the `t` in `t-of-n`). + uint32 threshold = 2; } // Describes the Penumbra account group jointly controlled by the Narsil instance. message AccountGroupInfo { - // The full viewing key for the shared account. - // - // In the Penumbra key hierarchy, this is the highest-authority key below - // spend authority, and allows deriving all subkeys for all accounts in the - // account group. It is replicated across all shards. - // - // The spend verification key component is the `PK` in the FROST I-D. - core.crypto.v1alpha1.FullViewingKey full_viewing_key = 1; - // Describes the participants in the account group. - repeated ShardInfo participants = 2; + // The full viewing key for the shared account. + // + // In the Penumbra key hierarchy, this is the highest-authority key below + // spend authority, and allows deriving all subkeys for all accounts in the + // account group. It is replicated across all shards. + // + // The spend verification key component is the `PK` in the FROST I-D. + core.crypto.v1alpha1.FullViewingKey full_viewing_key = 1; + // Describes the participants in the account group. + repeated ShardInfo participants = 2; } // Describes a single shard of the Narsil instance. message ShardInfo { - // The index of the shard, used for FROST accounting purposes. - uint32 index = 1; - // The shard verification key, corresponding to `PK_i` in the FROST I-D. - core.crypto.v1alpha1.SpendVerificationKey shard_verification_key = 2; - // The shard operator's identity key, used to identify the operator of this shard. - ShardIdentityKey identity_key = 3; + // The index of the shard, used for FROST accounting purposes. + uint32 index = 1; + // The shard verification key, corresponding to `PK_i` in the FROST I-D. + core.crypto.v1alpha1.SpendVerificationKey shard_verification_key = 2; + // The shard operator's identity key, used to identify the operator of this shard. + ShardIdentityKey identity_key = 3; } // Transaction authorization requests are identified by the proposed // transaction's effect hash. -// +// // This acts as a form of content addressing, providing a number of useful // behaviors: -// +// // - Multiple users can request authorization of the same `TransactionPlan`, and // the ledger can stack their pre-authorizations until some threshold is met. // - Rather than having to hold open a connection, clients can re-request // authorization of the same `TransactionPlan` after it has been signed, and the // ledger can immediately return the already-existing authorization data. message RequestIndex { - core.transaction.v1alpha1.EffectHash effect_hash = 1; + core.transaction.v1alpha1.EffectHash effect_hash = 1; } // Identifies a particular signing ceremony. -// +// // Ceremonies are identified first by request index and then by a sub-index for // the ceremony. This allows failed or timed-out ceremonies to be repeated. message CeremonyIndex { - RequestIndex request_index = 1; - uint64 ceremony_index = 2; + RequestIndex request_index = 1; + uint64 ceremony_index = 2; } // A committee of shards assigned to carry out a particular signing ceremony. message Committee { - CeremonyIndex ceremony = 1; - repeated ShardInfo participants = 2; + CeremonyIndex ceremony = 1; + repeated ShardInfo participants = 2; } // Records a failed ceremony and the reason why it failed. // // TODO: consider filling these in with structured info about the failure message CeremonyFailure { - message Timeout {} - message BadCommitment {} - message BadShare {} - message Canceled {} - oneof failure { - Timeout timeout = 1; - BadCommitment bad_commitment = 2; - BadShare bad_share = 3; - Canceled canceled = 4; - } + message Timeout {} + message BadCommitment {} + message BadShare {} + message Canceled {} + oneof failure { + Timeout timeout = 1; + BadCommitment bad_commitment = 2; + BadShare bad_share = 3; + Canceled canceled = 4; + } } // The data recorded on-chain about the current state of a signing ceremony. @@ -191,68 +193,68 @@ message CeremonyFailure { // The ceremony steps are described in the FROST I-D: // https://www.ietf.org/archive/id/draft-irtf-cfrg-frost-11.html message CeremonyState { - // A ceremony that has not yet started. - // - // For instance, a request could be queued until sufficient pre-authorizations were recorded on the ledger. - message Pending { } - // A ceremony that has started round 1. - // - // The committee has been chosen and the ledger is waiting to record round 1 contributions from all committee members. - message StartedRound1 { - // The committee performing the ceremony. - Committee committee = 1; - // A list of commitment messages received so far (begins empty). - repeated AuthorizeCommitment commitments = 2; - } - // A ceremony that has started round 2. - // - // The committee has been chosen, all round 1 commitments have been recorded, and the ledger is waiting to record round 1 contributions from all committee members. - message StartedRound2 { - // The committee performing the ceremony. - Committee committee = 1; - // A list of commitment messages received in round 1. - repeated AuthorizeCommitment commitments = 2; - // A list of authorization share messages received so far (begins empty). - repeated AuthorizeShare shares = 3; - } - // A ceremony that has successfully finished. - // - // The transcript of the ceremony is recorded along with the resulting `AuthorizationData`. - message Finished { - // The committee performing the ceremony. - Committee committee = 1; - // A list of commitment messages received in round 1. - repeated AuthorizeCommitment commitments = 2; - // A list of authorization share messages received in round 2. - repeated AuthorizeShare shares = 3; - // The authorization data resulting from the ceremony. - core.transaction.v1alpha1.AuthorizationData auth_data = 4; - } - // A ceremony that failed. - // - // The transcript of the ceremony is recorded along with the reason for the failure. - message Failed { - // The committee performing the ceremony. - Committee committee = 1; - // A list of commitment messages received in round 1, if any. - repeated AuthorizeCommitment commitments = 2; - // A list of authorization share messages received in round 2, if any. - repeated AuthorizeShare shares = 3; - // A description of the failure. - CeremonyFailure failure = 4; - } + // A ceremony that has not yet started. + // + // For instance, a request could be queued until sufficient pre-authorizations were recorded on the ledger. + message Pending {} + // A ceremony that has started round 1. + // + // The committee has been chosen and the ledger is waiting to record round 1 contributions from all committee members. + message StartedRound1 { + // The committee performing the ceremony. + Committee committee = 1; + // A list of commitment messages received so far (begins empty). + repeated AuthorizeCommitment commitments = 2; + } + // A ceremony that has started round 2. + // + // The committee has been chosen, all round 1 commitments have been recorded, and the ledger is waiting to record round 1 contributions from all committee members. + message StartedRound2 { + // The committee performing the ceremony. + Committee committee = 1; + // A list of commitment messages received in round 1. + repeated AuthorizeCommitment commitments = 2; + // A list of authorization share messages received so far (begins empty). + repeated AuthorizeShare shares = 3; + } + // A ceremony that has successfully finished. + // + // The transcript of the ceremony is recorded along with the resulting `AuthorizationData`. + message Finished { + // The committee performing the ceremony. + Committee committee = 1; + // A list of commitment messages received in round 1. + repeated AuthorizeCommitment commitments = 2; + // A list of authorization share messages received in round 2. + repeated AuthorizeShare shares = 3; + // The authorization data resulting from the ceremony. + core.transaction.v1alpha1.AuthorizationData auth_data = 4; + } + // A ceremony that failed. + // + // The transcript of the ceremony is recorded along with the reason for the failure. + message Failed { + // The committee performing the ceremony. + Committee committee = 1; + // A list of commitment messages received in round 1, if any. + repeated AuthorizeCommitment commitments = 2; + // A list of authorization share messages received in round 2, if any. + repeated AuthorizeShare shares = 3; + // A description of the failure. + CeremonyFailure failure = 4; + } - oneof state { - Pending pending = 1; - StartedRound1 started_round_1 = 2; - StartedRound2 started_round_2 = 3; - Finished finished = 4; - Failed failed = 5; - } + oneof state { + Pending pending = 1; + StartedRound1 started_round_1 = 2; + StartedRound2 started_round_2 = 3; + Finished finished = 4; + Failed failed = 5; + } } // A packet of data sent to the Narsil ledger. -// +// // This structure is what Narsil uses as a Tendermint transaction. However, we // use the word "packet" rather than "transaction" here so that it's always // unambiguous whether we're referring to data posted to the Penumbra chain or @@ -280,84 +282,84 @@ message NarsilPacket { // A wrapper around the FROST commitment message, exchanged in round 1 of the // signing protocol for a single signature. message FrostCommitment { - bytes payload = 1; + bytes payload = 1; } // A wrapper around the FROST signature share, exchanged in round 2 of the // signing protocol for a single signature. message FrostSignatureShare { - bytes payload = 1; + bytes payload = 1; } // A Narsil shard's commitment message for a single ceremony, which may perform // multiple signatures (one for each spend in the `AuthorizeRequest`'s // `TransactionPlan`). -// +// // This bundle of messages is signed with the shard's `ShardMessageKey` to // prevent tampering (e.g., reordering of the internal FROST messages, etc). message AuthorizeCommitment { - message Body { - CeremonyIndex ceremony_index = 1; - repeated FrostCommitment commitments = 2; - } - Body body = 1; - ShardMessageKey signer = 2; - ShardMessageSignature signature = 3; + message Body { + CeremonyIndex ceremony_index = 1; + repeated FrostCommitment commitments = 2; + } + Body body = 1; + ShardMessageKey signer = 2; + ShardMessageSignature signature = 3; } // A Narsil shard's signature share message for a single ceremony, which may perform // multiple signatures (one for each spend in the `AuthorizeRequest`'s // `TransactionPlan`). -// +// // This bundle of messages is signed with the shard's `ShardMessageKey` to // prevent tampering (e.g., reordering of the internal FROST messages, etc). message AuthorizeShare { - message Body { - CeremonyIndex ceremony_index = 1; - repeated FrostCommitment commitments = 2; - } - Body body = 1; - ShardMessageKey signer = 2; - ShardMessageSignature signature = 3; + message Body { + CeremonyIndex ceremony_index = 1; + repeated FrostCommitment commitments = 2; + } + Body body = 1; + ShardMessageKey signer = 2; + ShardMessageSignature signature = 3; } // A shard operator's round 1 contribution to the DKG ceremony. message DkgRound1 { - bytes payload = 1; - ShardMessageKey signer = 2; - ShardMessageSignature signature = 3; + bytes payload = 1; + ShardMessageKey signer = 2; + ShardMessageSignature signature = 3; } // A shard operator's round 2 contribution to the DKG ceremony. message DkgRound2 { - bytes payload = 1; - ShardMessageKey signer = 2; - ShardMessageSignature signature = 3; + bytes payload = 1; + ShardMessageKey signer = 2; + ShardMessageSignature signature = 3; } // The data recorded on-chain about the current state of the DKG ceremony. message DkgState { - // The DKG has started round 1, and the ledger is waiting to record contributions from shard operators. - message StartedRound1 { - // A list of round 1 messages received so far (begins empty). - repeated DkgRound1 round_1_messages = 1; - } - // The DKG has started round 2, and the ledger is waiting to record contributions from shard operators. - message StartedRound2 { - // A list of messages received during round 1. - repeated DkgRound1 round_1_messages = 1; - // A list of round 2 messages received so far (begins empty). - repeated DkgRound2 round_2_messages = 2; - } - // The DKG has finished successfully, producing the jointly-controlled `AccountGroupInfo`. - // - // Unlike the signing ceremony, we don't record a failure case here: if the DKG fails, we abort the entire ledger. - message Finished { - // A list of messages received during round 1. - repeated DkgRound1 round_1_messages = 1; - // A list of messages received during round 2. - repeated DkgRound2 round_2_messages = 2; - // The jointly-controlled `AccountGroupInfo` resulting from the DKG. - AccountGroupInfo account_group_info = 3; - } -} \ No newline at end of file + // The DKG has started round 1, and the ledger is waiting to record contributions from shard operators. + message StartedRound1 { + // A list of round 1 messages received so far (begins empty). + repeated DkgRound1 round_1_messages = 1; + } + // The DKG has started round 2, and the ledger is waiting to record contributions from shard operators. + message StartedRound2 { + // A list of messages received during round 1. + repeated DkgRound1 round_1_messages = 1; + // A list of round 2 messages received so far (begins empty). + repeated DkgRound2 round_2_messages = 2; + } + // The DKG has finished successfully, producing the jointly-controlled `AccountGroupInfo`. + // + // Unlike the signing ceremony, we don't record a failure case here: if the DKG fails, we abort the entire ledger. + message Finished { + // A list of messages received during round 1. + repeated DkgRound1 round_1_messages = 1; + // A list of messages received during round 2. + repeated DkgRound2 round_2_messages = 2; + // The jointly-controlled `AccountGroupInfo` resulting from the DKG. + AccountGroupInfo account_group_info = 3; + } +} diff --git a/proto/src/gen/penumbra.client.v1alpha1.rs b/proto/src/gen/penumbra.client.v1alpha1.rs index bd015bdaa0..afbc771254 100644 --- a/proto/src/gen/penumbra.client.v1alpha1.rs +++ b/proto/src/gen/penumbra.client.v1alpha1.rs @@ -11,6 +11,9 @@ pub struct InfoRequest { /// The Tendermint p2p protocol version. #[prost(uint64, tag = "3")] pub p2p_version: u64, + /// The ABCI semantic version. + #[prost(string, tag = "4")] + pub abci_version: ::prost::alloc::string::String, } /// Contains information about the chain state as known by the node. #[allow(clippy::derive_partial_eq_without_eq)] diff --git a/proto/src/gen/penumbra.client.v1alpha1.serde.rs b/proto/src/gen/penumbra.client.v1alpha1.serde.rs index f247266966..155a6c9f0a 100644 --- a/proto/src/gen/penumbra.client.v1alpha1.serde.rs +++ b/proto/src/gen/penumbra.client.v1alpha1.serde.rs @@ -2156,6 +2156,9 @@ impl serde::Serialize for InfoRequest { if self.p2p_version != 0 { len += 1; } + if !self.abci_version.is_empty() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("penumbra.client.v1alpha1.InfoRequest", len)?; if !self.version.is_empty() { struct_ser.serialize_field("version", &self.version)?; @@ -2166,6 +2169,9 @@ impl serde::Serialize for InfoRequest { if self.p2p_version != 0 { struct_ser.serialize_field("p2pVersion", ToString::to_string(&self.p2p_version).as_str())?; } + if !self.abci_version.is_empty() { + struct_ser.serialize_field("abciVersion", &self.abci_version)?; + } struct_ser.end() } } @@ -2181,6 +2187,8 @@ impl<'de> serde::Deserialize<'de> for InfoRequest { "blockVersion", "p2p_version", "p2pVersion", + "abci_version", + "abciVersion", ]; #[allow(clippy::enum_variant_names)] @@ -2188,6 +2196,7 @@ impl<'de> serde::Deserialize<'de> for InfoRequest { Version, BlockVersion, P2pVersion, + AbciVersion, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2212,6 +2221,7 @@ impl<'de> serde::Deserialize<'de> for InfoRequest { "version" => Ok(GeneratedField::Version), "blockVersion" | "block_version" => Ok(GeneratedField::BlockVersion), "p2pVersion" | "p2p_version" => Ok(GeneratedField::P2pVersion), + "abciVersion" | "abci_version" => Ok(GeneratedField::AbciVersion), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -2234,6 +2244,7 @@ impl<'de> serde::Deserialize<'de> for InfoRequest { let mut version__ = None; let mut block_version__ = None; let mut p2p_version__ = None; + let mut abci_version__ = None; while let Some(k) = map.next_key()? { match k { GeneratedField::Version => { @@ -2258,12 +2269,19 @@ impl<'de> serde::Deserialize<'de> for InfoRequest { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::AbciVersion => { + if abci_version__.is_some() { + return Err(serde::de::Error::duplicate_field("abciVersion")); + } + abci_version__ = Some(map.next_value()?); + } } } Ok(InfoRequest { version: version__.unwrap_or_default(), block_version: block_version__.unwrap_or_default(), p2p_version: p2p_version__.unwrap_or_default(), + abci_version: abci_version__.unwrap_or_default(), }) } } diff --git a/proto/src/gen/penumbra.narsil.ledger.v1alpha1.rs b/proto/src/gen/penumbra.narsil.ledger.v1alpha1.rs index 5ad2547e3e..9890ba67f7 100644 --- a/proto/src/gen/penumbra.narsil.ledger.v1alpha1.rs +++ b/proto/src/gen/penumbra.narsil.ledger.v1alpha1.rs @@ -11,6 +11,9 @@ pub struct InfoRequest { /// The Tendermint p2p protocol version. #[prost(uint64, tag = "3")] pub p2p_version: u64, + /// The Tendermint ABCI semantic version. + #[prost(string, tag = "4")] + pub abci_version: ::prost::alloc::string::String, } /// Contains information about the chain state as known by the node. #[allow(clippy::derive_partial_eq_without_eq)] diff --git a/proto/src/gen/penumbra.narsil.ledger.v1alpha1.serde.rs b/proto/src/gen/penumbra.narsil.ledger.v1alpha1.serde.rs index 2009642a10..20788c13cd 100644 --- a/proto/src/gen/penumbra.narsil.ledger.v1alpha1.serde.rs +++ b/proto/src/gen/penumbra.narsil.ledger.v1alpha1.serde.rs @@ -3016,6 +3016,9 @@ impl serde::Serialize for InfoRequest { if self.p2p_version != 0 { len += 1; } + if !self.abci_version.is_empty() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("penumbra.narsil.ledger.v1alpha1.InfoRequest", len)?; if !self.version.is_empty() { struct_ser.serialize_field("version", &self.version)?; @@ -3026,6 +3029,9 @@ impl serde::Serialize for InfoRequest { if self.p2p_version != 0 { struct_ser.serialize_field("p2pVersion", ToString::to_string(&self.p2p_version).as_str())?; } + if !self.abci_version.is_empty() { + struct_ser.serialize_field("abciVersion", &self.abci_version)?; + } struct_ser.end() } } @@ -3041,6 +3047,8 @@ impl<'de> serde::Deserialize<'de> for InfoRequest { "blockVersion", "p2p_version", "p2pVersion", + "abci_version", + "abciVersion", ]; #[allow(clippy::enum_variant_names)] @@ -3048,6 +3056,7 @@ impl<'de> serde::Deserialize<'de> for InfoRequest { Version, BlockVersion, P2pVersion, + AbciVersion, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -3072,6 +3081,7 @@ impl<'de> serde::Deserialize<'de> for InfoRequest { "version" => Ok(GeneratedField::Version), "blockVersion" | "block_version" => Ok(GeneratedField::BlockVersion), "p2pVersion" | "p2p_version" => Ok(GeneratedField::P2pVersion), + "abciVersion" | "abci_version" => Ok(GeneratedField::AbciVersion), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -3094,6 +3104,7 @@ impl<'de> serde::Deserialize<'de> for InfoRequest { let mut version__ = None; let mut block_version__ = None; let mut p2p_version__ = None; + let mut abci_version__ = None; while let Some(k) = map.next_key()? { match k { GeneratedField::Version => { @@ -3118,12 +3129,19 @@ impl<'de> serde::Deserialize<'de> for InfoRequest { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::AbciVersion => { + if abci_version__.is_some() { + return Err(serde::de::Error::duplicate_field("abciVersion")); + } + abci_version__ = Some(map.next_value()?); + } } } Ok(InfoRequest { version: version__.unwrap_or_default(), block_version: block_version__.unwrap_or_default(), p2p_version: p2p_version__.unwrap_or_default(), + abci_version: abci_version__.unwrap_or_default(), }) } } diff --git a/proto/src/gen/proto_descriptor.bin b/proto/src/gen/proto_descriptor.bin index 3b66bb8770..019d367dfb 100644 --- a/proto/src/gen/proto_descriptor.bin +++ b/proto/src/gen/proto_descriptor.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ff388391695f81475f3ac660535c4b4e17c3677d26d6427e43c2aa0034a9ec2 -size 336667 +oid sha256:1b2463a679b7f0545be1418ec1b5c78e9bd8541f0626e3cc40ee8f420f954435 +size 337670 diff --git a/storage/Cargo.toml b/storage/Cargo.toml index ff09246a0a..dbd6ab1a0e 100644 --- a/storage/Cargo.toml +++ b/storage/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -jmt = "0.3" +jmt = "0.5.0" tokio = { version = "1.21.1", features = ["full", "tracing"] } tokio-stream = { version = "0.1.11" } tempfile = "3.3.0" @@ -22,8 +22,10 @@ pin-project = "1.0.12" smallvec = { version = "1.10" , features = ["union" , "const_generics"] } # Tendermint/IBC crates -ics23 = "0.9.0" -tendermint = { version = "0.29.0", default-features = false } +ics23 = "0.10.0" +tendermint = { version = "0.31.0", default-features = false } +sha2 = "0.10.6" +borsh = "0.10.3" [dev-dependencies] tempfile = "3.3.0" diff --git a/storage/src/snapshot.rs b/storage/src/snapshot.rs index 047a557c5a..bb322ec007 100644 --- a/storage/src/snapshot.rs +++ b/storage/src/snapshot.rs @@ -1,12 +1,18 @@ use std::{any::Any, sync::Arc}; -use anyhow::Result; +use anyhow::{anyhow, Result}; use async_trait::async_trait; -use jmt::storage::{LeafNode, Node, NodeKey, TreeReader}; +use borsh::{ser::BorshSerialize, BorshDeserialize}; +use jmt::{ + storage::{HasPreimage, LeafNode, Node, NodeKey, TreeReader}, + KeyHash, OwnedValue, Sha256Jmt, +}; +use rocksdb::{IteratorMode, ReadOptions}; +use sha2::Sha256; use tokio::sync::mpsc; use tracing::Span; -use crate::{metrics, StateRead}; +use crate::{metrics, storage::VersionedKey, StateRead}; mod rocks_wrapper; use rocks_wrapper::RocksDbSnapshot; @@ -51,12 +57,12 @@ impl Snapshot { self.0.version } - /// Gets a value by key alongside an ICS23 existence proof of that value. - /// - /// Errors if the key is not present. - /// TODO: change return type to `Option>` and an - /// existence-or-nonexistence proof. - pub async fn get_with_proof(&self, key: Vec) -> Result<(Vec, ics23::ExistenceProof)> { + /// Gets a value by key alongside an ICS23 existence proof of that value, returns + /// a non-existence proof if the key was not present. + pub async fn get_with_proof( + &self, + key: Vec, + ) -> Result<(Option>, ics23::CommitmentProof)> { let span = Span::current(); let snapshot = self.clone(); @@ -64,9 +70,9 @@ impl Snapshot { .name("State::get_with_proof") .spawn_blocking(move || { span.in_scope(|| { - let tree = jmt::JellyfishMerkleTree::new(&*snapshot.0); - let proof = tree.get_with_ics23_proof(key, snapshot.version())?; - Ok((proof.value.clone(), proof)) + let tree: Sha256Jmt<_> = jmt::JellyfishMerkleTree::new(&*snapshot.0); + let (value, proof) = tree.get_with_ics23_proof(key, snapshot.version())?; + Ok((value, proof)) }) })? .await? @@ -86,7 +92,7 @@ impl Snapshot { .name("State::root_hash") .spawn_blocking(move || { span.in_scope(|| { - let tree = jmt::JellyfishMerkleTree::new(&*snapshot.0); + let tree: Sha256Jmt<_> = jmt::JellyfishMerkleTree::new(&*snapshot.0); let root = tree .get_root_hash_option(snapshot.version())? .unwrap_or(crate::RootHash([0; 32])); @@ -102,7 +108,7 @@ impl Snapshot { /// special-cases the empty tree case so that reads on an empty tree just /// return None. fn get_jmt(&self, key: jmt::KeyHash) -> Result>> { - let tree = jmt::JellyfishMerkleTree::new(&*self.0); + let tree: Sha256Jmt<_> = jmt::JellyfishMerkleTree::new(&*self.0); match tree.get(key, self.0.version) { Ok(Some(value)) => { tracing::trace!(version = ?self.0.version, ?key, value = ?hex::encode(&value), "read from tree"); @@ -140,7 +146,7 @@ impl StateRead for Snapshot { /// Fetch a key from the JMT column family. fn get_raw(&self, key: &str) -> Self::GetRawFut { let span = Span::current(); - let key_hash = jmt::KeyHash::from(key); + let key_hash = jmt::KeyHash::with::(key); let self2 = self.clone(); crate::future::SnapshotFuture( tokio::task::Builder::new() @@ -215,8 +221,9 @@ impl StateRead for Snapshot { let k = std::str::from_utf8(key_preimage.as_ref()) .expect("saved jmt keys are utf-8 strings") .to_string(); + let v = self2 - .get_jmt(k.as_bytes().into())? + .get_jmt(KeyHash::with::(k.clone()))? .expect("keys in jmt_keys should have a corresponding value in jmt"); tracing::debug!(%k, "prefix_raw"); tx.blocking_send(Ok((k, v)))?; @@ -312,9 +319,110 @@ impl StateRead for Snapshot { } } -/// A reader interface for rocksdb. NOTE: it is up to the caller to ensure consistency between the -/// rocksdb::DB handle and any write batches that may be applied through the writer interface. +impl HasPreimage for Inner { + fn preimage(&self, key_hash: KeyHash) -> Result>> { + let jmt_keys_by_keyhash = self + .db + .cf_handle("jmt_keys_by_keyhash") + .expect("jmt_values column family not found"); + + Ok(self.snapshot.get_cf(jmt_keys_by_keyhash, key_hash.0)?) + } +} + +pub(crate) struct JmtValueEntry { + pub dirty: bool, + pub entry: Vec, +} + +impl JmtValueEntry { + pub fn new(value: Vec) -> Self { + Self { + dirty: false, + entry: value, + } + } + + pub fn set_dirty(mut self) -> Self { + Self { + dirty: true, + entry: self.entry, + } + } + + pub fn to_bytes(&self) -> Vec { + let mut bytes = Vec::with_capacity(self.entry.len() + 1); + bytes.push(self.dirty as u8); + bytes.extend_from_slice(&self.entry); + bytes + } + + fn from_bytes>(entry: T) -> Self { + let dirty_flag: bool = entry.as_ref()[0] != 0u8; + let value = &entry.as_ref()[1..]; + Self { + dirty: dirty_flag, + entry: value.to_vec(), + } + } +} + +/// A Reader interface for RocksDB. +/// +/// Note that it is up to the caller to ensure consistency between the [`rocksdb::DB`] handle, +/// and any write batches that may be applied through the writer interface. impl TreeReader for Inner { + /// Gets a value by identifier, returning the newest value whose version is *less than or + /// equal to* the specified version. Returns None if the value does not exist. + fn get_value_option( + &self, + max_version: jmt::Version, + key_hash: KeyHash, + ) -> Result> { + let jmt_values_cf = self + .db + .cf_handle("jmt_values") + .expect("jmt_values column family not found"); + + // Prefix ranges exclude the upper bound in the iterator result. + // This means that when requesting the largest possible version, there + // is no way to specify a range that is inclusive of `u64::MAX`. + if max_version == u64::MAX { + let k = VersionedKey { + version: u64::MAX, + key_hash, + }; + + if let Some(v) = self.snapshot.get_cf(jmt_values_cf, k.encode())? { + let v = JmtValueEntry::from_bytes(v); + return Ok(if v.dirty { None } else { Some(v.entry) }); + } + } + + let mut lower_bound = key_hash.0.to_vec(); + lower_bound.extend_from_slice(&0u64.to_be_bytes()); + + let mut upper_bound = key_hash.0.to_vec(); + // The upper bound is excluded from the iteration results. + upper_bound.extend_from_slice(&(max_version.saturating_add(1)).to_be_bytes()); + + let mut readopts = ReadOptions::default(); + readopts.set_iterate_lower_bound(lower_bound); + readopts.set_iterate_upper_bound(upper_bound); + let mut iterator = + self.snapshot + .iterator_cf_opt(jmt_values_cf, readopts, IteratorMode::End); + + let Some(tuple) = iterator.next() else { + return Ok(None) + }; + + let (_key, value) = tuple?; + let value = JmtValueEntry::from_bytes(value); + + return Ok(if value.dirty { None } else { Some(value.entry) }); + } + /// Gets node given a node key. Returns `None` if the node does not exist. fn get_node_option(&self, node_key: &NodeKey) -> Result> { let node_key = node_key; @@ -324,10 +432,11 @@ impl TreeReader for Inner { .db .cf_handle("jmt") .expect("jmt column family not found"); + let value = self .snapshot - .get_cf(jmt_cf, node_key.encode()?)? - .map(|db_slice| Node::decode(&db_slice)) + .get_cf(jmt_cf, node_key.try_to_vec()?)? + .map(|db_slice| Node::try_from_slice(&db_slice)) .transpose()?; tracing::trace!(?node_key, ?value); @@ -343,8 +452,8 @@ impl TreeReader for Inner { iter.seek_to_last(); if iter.valid() { - let node_key = NodeKey::decode(iter.key().unwrap())?; - let node = Node::decode(iter.value().unwrap())?; + let node_key = NodeKey::try_from_slice(iter.key().unwrap())?; + let node: Node = Node::try_from_slice(iter.value().unwrap())?; if let Node::Leaf(leaf_node) = node { return Ok(Some((node_key, leaf_node))); diff --git a/storage/src/storage.rs b/storage/src/storage.rs index 2543022221..e20fbbea7c 100644 --- a/storage/src/storage.rs +++ b/storage/src/storage.rs @@ -1,16 +1,22 @@ use std::{path::PathBuf, sync::Arc}; -use anyhow::Result; +use anyhow::{anyhow, Result}; +use borsh::{BorshDeserialize, BorshSerialize}; use jmt::{ storage::{LeafNode, Node, NodeBatch, NodeKey, TreeWriter}, - JellyfishMerkleTree, KeyHash, + KeyHash, Sha256Jmt, }; use parking_lot::RwLock; use rocksdb::{Options, DB}; +use sha2::Sha256; use tokio::sync::watch; use tracing::Span; -use crate::{cache::Cache, snapshot::Snapshot, EscapedByteSlice}; +use crate::{ + cache::Cache, + snapshot::{JmtValueEntry, Snapshot}, + EscapedByteSlice, +}; use crate::{snapshot_cache::SnapshotCache, StateDelta}; mod temp; @@ -51,7 +57,17 @@ impl Storage { let db = Arc::new(DB::open_cf( &opts, path, - ["jmt", "nonconsensus", "jmt_keys"], + [ + // Maps `NodeKey` -> `Node` + "jmt", + // Maps: `KeyHash` || BE(Version) => value + "jmt_values", + // Maps: Key -> KeyHash + "jmt_keys", + // Maps: KeyHash -> Key + "jmt_keys_by_keyhash", + "nonconsensus", + ], )?); // Note: for compatibility reasons with Tendermint, we set the "pre-genesis" @@ -115,41 +131,88 @@ impl Storage { .spawn_blocking(move || { span.in_scope(|| { let snap = inner.snapshots.read().latest(); - let jmt = JellyfishMerkleTree::new(&*snap.0); - + let jmt = Sha256Jmt::new(&*snap.0); + tracing::debug!("collecting unwritten changes"); let unwritten_changes: Vec<_> = cache .unwritten_changes .into_iter() - // Pre-calculate all KeyHashes for later storage in `jmt_keys` - .map(|x| (KeyHash::from(&x.0), x.0, x.1)) + .map(|(key, value)| (KeyHash::with::(&key), key, value)) .collect(); - // Write the JMT key lookups to RocksDB + // Maintain a two-way index of the JMT keys and their hashes in RocksDB. + // The `jmt_keys` column family maps a JMT `key` to its `keyhash`. + // The `jmt_keys_by_keyhash` column family maps a JMT `keyhash` to its preimage. let jmt_keys_cf = inner .db .cf_handle("jmt_keys") .expect("jmt_keys column family not found"); + + let jmt_keys_by_keyhash_cf = inner + .db + .cf_handle("jmt_keys_by_keyhash") + .expect("jmt_keys_by_keyhash family not found"); + + tracing::debug!("iterating over key hashes and preimages"); + + /* Update the indexes */ for (keyhash, key_preimage, v) in unwritten_changes.iter() { + tracing::debug!(?keyhash, key_preimage, value=?v); match v { - // Key still exists, so we need to store the key preimage - Some(_) => inner.db.put_cf(jmt_keys_cf, key_preimage, keyhash.0)?, - // Key was deleted, so delete the key preimage + // The entry exists, so we make sure to index its key and keyhash. + Some(_) => { + inner.db.put_cf(jmt_keys_cf, key_preimage, keyhash.0)?; + inner + .db + .put_cf(jmt_keys_by_keyhash_cf, keyhash.0, key_preimage)? + } + // The entry was deleted, so we deindex it. None => { inner.db.delete_cf(jmt_keys_cf, key_preimage)?; + inner.db.delete_cf(jmt_keys_by_keyhash_cf, keyhash.0)?; } }; } - // Write the unwritten changes from the state to the JMT. + tracing::debug!("apply the unwritten state changes to the JMT"); + + // Apply the unwritten state changes to the JMT. let (root_hash, batch) = jmt.put_value_set( - unwritten_changes.into_iter().map(|x| (x.0, x.2)), + unwritten_changes.into_iter().map(|(keyhash, _key, value)| (keyhash, value)), new_version, )?; - // Apply the JMT changes to the DB. + tracing::debug!("about to write node batch to backing store!"); + // Persist JMT structure changes to RocksDB. inner.write_node_batch(&batch.node_batch)?; tracing::trace!(?root_hash, "wrote node batch to backing store"); + tracing::debug!("wrote node batch to backing store!"); + + // Record the node values in RocksDB: the value of jmt [`jmt::LeafNode`] must be + // persisted separately. + let jmt_values_cf = inner + .db + .cf_handle("jmt_values") + .expect("jmt_values column family not found"); + + tracing::debug!("iterate through the node batch values!"); + + for ((version, key_hash), some_value) in batch.node_batch.values() { + let value = match some_value { + Some(v) => JmtValueEntry::new(v.to_vec()), + None => JmtValueEntry::new(vec![]).set_dirty(), + }; + + let versioned_key = VersionedKey { + key_hash: key_hash.clone(), + version: *version, + }; + + inner + .db + .put_cf(jmt_values_cf, versioned_key.encode(), value.to_bytes())?; + } + // Write the unwritten changes from the nonconsensus to RocksDB. for (k, v) in cache.nonconsensus_changes.into_iter() { let nonconsensus_cf = inner @@ -212,22 +275,56 @@ impl Storage { } } +// TODO(erwan): move this somewhere? should this live in the jmt crate? +#[derive(Clone, Debug)] +pub struct VersionedKey { + pub key_hash: KeyHash, + pub version: jmt::Version, +} + +impl VersionedKey { + pub fn encode(&self) -> Vec { + let mut buf: Vec = self.key_hash.0.to_vec(); + buf.extend_from_slice(&self.version.to_be_bytes()); + buf + } + + pub fn decode(buf: Vec) -> Result { + if buf.len() != 40 { + Err(anyhow!( + "could not decode buffer into VersionedKey (invalid size)" + )) + } else { + let raw_key_hash: [u8; 32] = buf[0..32] + .try_into() + .expect("buffer is at least 40 bytes wide"); + let key_hash = KeyHash(raw_key_hash); + + let raw_version: [u8; 8] = buf[32..40] + .try_into() + .expect("buffer is at least 40 bytes wide"); + let version: u64 = u64::from_be_bytes(raw_version); + + Ok(VersionedKey { version, key_hash }) + } + } +} + impl TreeWriter for Inner { /// Writes a node batch into storage. - //TODO: Change JMT traits to accept owned NodeBatch + //TODO(erwan): Change JMT traits to accept owned NodeBatch fn write_node_batch(&self, node_batch: &NodeBatch) -> Result<()> { let node_batch = node_batch.clone(); - - for (node_key, node) in node_batch { - let key_bytes = &node_key.encode()?; - let value_bytes = &node.encode()?; - tracing::trace!(?key_bytes, value_bytes = ?hex::encode(value_bytes)); - - let jmt_cf = self - .db - .cf_handle("jmt") - .expect("jmt column family not found"); - self.db.put_cf(jmt_cf, key_bytes, value_bytes)?; + let jmt_cf = self + .db + .cf_handle("jmt") + .expect("jmt column family not found"); + + for (node_key, node) in node_batch.nodes() { + let key_bytes = &node_key.try_to_vec()?; + let node_bytes = &node.try_to_vec()?; + tracing::trace!(?key_bytes, node_bytes = ?hex::encode(node_bytes), "writing to jmt cf"); + self.db.put_cf(jmt_cf, key_bytes, node_bytes)?; } Ok(()) @@ -242,8 +339,8 @@ fn get_rightmost_leaf(db: &DB) -> Result> { iter.seek_to_last(); if iter.valid() { - let node_key = NodeKey::decode(iter.key().unwrap())?; - let node = Node::decode(iter.value().unwrap())?; + let node_key = NodeKey::try_from_slice(iter.key().unwrap())?; + let node = Node::try_from_slice(iter.value().unwrap())?; if let Node::Leaf(leaf_node) = node { ret = Some((node_key, leaf_node)); diff --git a/tendermint-proxy/Cargo.toml b/tendermint-proxy/Cargo.toml index e3b64c788e..fb288ef22d 100644 --- a/tendermint-proxy/Cargo.toml +++ b/tendermint-proxy/Cargo.toml @@ -21,11 +21,11 @@ pbjson-types = "0.5" pin-project = "1" pin-project-lite = "0.2.9" sha2 = "0.9" -tendermint = "0.29.0" -tendermint-config = "0.29.0" -tendermint-proto = "0.29.0" -tendermint-light-client-verifier = "0.29.0" -tendermint-rpc = { version = "0.29.0", features = ["http-client"] } +tendermint = "0.31.0" +tendermint-config = "0.31.0" +tendermint-proto = "0.31.0" +tendermint-light-client-verifier = "0.31.0" +tendermint-rpc = { version = "0.31.0", features = ["http-client"] } tokio = { version = "1.22", features = ["full"] } tokio-stream = "0.1" tokio-util = "0.7" diff --git a/tendermint-proxy/src/tendermint_proxy.rs b/tendermint-proxy/src/tendermint_proxy.rs index 1674a475f7..b212423002 100644 --- a/tendermint-proxy/src/tendermint_proxy.rs +++ b/tendermint-proxy/src/tendermint_proxy.rs @@ -419,9 +419,6 @@ impl TendermintProxyService for TendermintProxy { timestamp: None, total_voting_power: -1, }), - // This variant is described as not-implemented in tendermint-rs, - // and doesn't exist in the prost-generated protobuf types - tendermint::evidence::Evidence::ConflictingHeaders(_) => panic!("unimplemented"), }), }) .collect(), diff --git a/tools/proto-compiler/Cargo.lock b/tools/proto-compiler/Cargo.lock deleted file mode 100644 index 50a471b876..0000000000 --- a/tools/proto-compiler/Cargo.lock +++ /dev/null @@ -1,1308 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "anyhow" -version = "1.0.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" - -[[package]] -name = "async-stream" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e" -dependencies = [ - "async-stream-impl", - "futures-core", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "async-trait" -version = "0.1.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff18d764974428cf3a9328e23fc5c986f5fbed46e6cd4cdf42544df5d297ec1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "axum" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678c5130a507ae3a7c797f9a17393c14849300b8440eac47cdb90a5bdcb3a543" -dependencies = [ - "async-trait", - "axum-core", - "bitflags", - "bytes", - "futures-util", - "http", - "http-body", - "hyper", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper", - "tower", - "tower-http", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cae3e661676ffbacb30f1a824089a8c9150e71017f7e1e38f2aa32009188d34" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "mime", - "rustversion", - "tower-layer", - "tower-service", -] - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "block-buffer" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" -dependencies = [ - "generic-array", -] - -[[package]] -name = "bytes" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" -dependencies = [ - "serde", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "cpufeatures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" -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 = "digest" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" -dependencies = [ - "block-buffer", - "crypto-common", -] - -[[package]] -name = "either" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" - -[[package]] -name = "fastrand" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" -dependencies = [ - "instant", -] - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - -[[package]] -name = "flex-error" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b" -dependencies = [ - "paste", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "futures-channel" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" - -[[package]] -name = "futures-sink" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" - -[[package]] -name = "futures-task" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" - -[[package]] -name = "futures-util" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" -dependencies = [ - "futures-core", - "futures-task", - "pin-project-lite", - "pin-utils", -] - -[[package]] -name = "generic-array" -version = "0.14.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "h2" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "heck" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "http" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "http-range-header" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "hyper" -version = "0.14.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-timeout" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" -dependencies = [ - "hyper", - "pin-project-lite", - "tokio", - "tokio-io-timeout", -] - -[[package]] -name = "ibc-proto" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9303a1308c886aea769ef0667c5caa422a78b01e9f8177fea8b91b08a4ff50c" -dependencies = [ - "base64", - "bytes", - "flex-error", - "prost", - "serde", - "subtle-encoding", - "tendermint-proto", - "tonic", -] - -[[package]] -name = "ics23" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca44b684ce1859cff746ff46f5765ab72e12e3c06f76a8356db8f9a2ecf43f17" -dependencies = [ - "anyhow", - "bytes", - "hex", - "prost", - "ripemd", - "sha2", - "sha3", -] - -[[package]] -name = "indexmap" -version = "1.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" -dependencies = [ - "autocfg", - "hashbrown", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" - -[[package]] -name = "keccak" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" -dependencies = [ - "cpufeatures", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.139" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "matchit" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "mime" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" - -[[package]] -name = "mio" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys", -] - -[[package]] -name = "multimap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" - -[[package]] -name = "num-derive" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", -] - -[[package]] -name = "once_cell" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" - -[[package]] -name = "paste" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" - -[[package]] -name = "pbjson" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048f9ac93c1eab514f9470c4bc8d97ca2a0a236b84f45cc19d69a59fc11467f6" -dependencies = [ - "base64", - "serde", -] - -[[package]] -name = "pbjson-build" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdbb7b706f2afc610f3853550cdbbf6372fd324824a087806bd4480ea4996e24" -dependencies = [ - "heck", - "itertools", - "prost", - "prost-types", -] - -[[package]] -name = "pbjson-types" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a88c8d87f99a4ac14325e7a4c24af190fca261956e3b82dd7ed67e77e6c7043" -dependencies = [ - "bytes", - "chrono", - "pbjson", - "pbjson-build", - "prost", - "prost-build", - "serde", -] - -[[package]] -name = "penumbra-proto-compiler" -version = "0.1.0" -dependencies = [ - "ibc-proto", - "ics23", - "pbjson", - "pbjson-build", - "pbjson-types", - "prost", - "prost-build", - "prost-types", - "tempfile", - "tonic-build", -] - -[[package]] -name = "percent-encoding" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" - -[[package]] -name = "petgraph" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" -dependencies = [ - "fixedbitset", - "indexmap", -] - -[[package]] -name = "pin-project" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "prettyplease" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" -dependencies = [ - "proc-macro2", - "syn", -] - -[[package]] -name = "proc-macro2" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "prost" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-build" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e" -dependencies = [ - "bytes", - "heck", - "itertools", - "lazy_static", - "log", - "multimap", - "petgraph", - "prettyplease", - "prost", - "prost-types", - "regex", - "syn", - "tempfile", - "which", -] - -[[package]] -name = "prost-derive" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d" -dependencies = [ - "anyhow", - "itertools", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "prost-types" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788" -dependencies = [ - "bytes", - "prost", -] - -[[package]] -name = "quote" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "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" -dependencies = [ - "getrandom", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags", -] - -[[package]] -name = "regex" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" -dependencies = [ - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.6.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest", -] - -[[package]] -name = "rustversion" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" - -[[package]] -name = "serde" -version = "1.0.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_bytes" -version = "0.11.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718dc5fff5b36f99093fc49b280cfc96ce6fc824317783bff5a1fed0c7a64819" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sha2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha3" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" -dependencies = [ - "digest", - "keccak", -] - -[[package]] -name = "slab" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" -dependencies = [ - "autocfg", -] - -[[package]] -name = "socket2" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "subtle-encoding" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" -dependencies = [ - "zeroize", -] - -[[package]] -name = "syn" -version = "1.0.107" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8" - -[[package]] -name = "tempfile" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" -dependencies = [ - "cfg-if", - "fastrand", - "libc", - "redox_syscall", - "remove_dir_all", - "winapi", -] - -[[package]] -name = "tendermint-proto" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c2e8dc89de3ab71cf63adcc71eb76200fae5a9ba7afd659fee54e0810beac8f" -dependencies = [ - "bytes", - "flex-error", - "num-derive", - "num-traits", - "prost", - "prost-types", - "serde", - "serde_bytes", - "subtle-encoding", - "time", -] - -[[package]] -name = "time" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" -dependencies = [ - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" - -[[package]] -name = "time-macros" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" -dependencies = [ - "time-core", -] - -[[package]] -name = "tokio" -version = "1.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" -dependencies = [ - "autocfg", - "bytes", - "libc", - "memchr", - "mio", - "pin-project-lite", - "socket2", - "tokio-macros", - "windows-sys", -] - -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-macros" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-stream" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "tonic" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb" -dependencies = [ - "async-stream", - "async-trait", - "axum", - "base64", - "bytes", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-timeout", - "percent-encoding", - "pin-project", - "prost", - "prost-derive", - "tokio", - "tokio-stream", - "tokio-util", - "tower", - "tower-layer", - "tower-service", - "tracing", - "tracing-futures", -] - -[[package]] -name = "tonic-build" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4" -dependencies = [ - "prettyplease", - "proc-macro2", - "prost-build", - "quote", - "syn", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "indexmap", - "pin-project", - "pin-project-lite", - "rand", - "slab", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-http" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" -dependencies = [ - "bitflags", - "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-range-header", - "pin-project-lite", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-layer" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" -dependencies = [ - "cfg-if", - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-core" -version = "0.1.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" -dependencies = [ - "once_cell", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - -[[package]] -name = "try-lock" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" - -[[package]] -name = "typenum" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" - -[[package]] -name = "unicode-ident" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "which" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" -dependencies = [ - "either", - "libc", - "once_cell", -] - -[[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.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" - -[[package]] -name = "zeroize" -version = "1.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/tools/proto-compiler/Cargo.toml b/tools/proto-compiler/Cargo.toml index 8e13a0b520..ee0491c2bd 100644 --- a/tools/proto-compiler/Cargo.toml +++ b/tools/proto-compiler/Cargo.toml @@ -15,4 +15,4 @@ pbjson-build = "0.5" tempfile = "3" ibc-proto = "0.26" -ics23 = "0.9.0" +ics23 = "0.10.0" diff --git a/tower-trace/Cargo.toml b/tower-trace/Cargo.toml index 3dcdb79604..4b9e2e7295 100644 --- a/tower-trace/Cargo.toml +++ b/tower-trace/Cargo.toml @@ -16,8 +16,8 @@ http = "0.2" pin-project = "1" pin-project-lite = "0.2.9" sha2 = "0.9" -tendermint = "0.29.0" -tendermint-proto = "0.29.0" +tendermint = "0.31.1" +tendermint-proto = "0.31.1" tokio = { version = "1.22", features = ["full"] } tokio-stream = "0.1" tokio-util = "0.7" diff --git a/tower-trace/src/request_ext.rs b/tower-trace/src/request_ext.rs index ef1127ab9f..42acc6c27e 100644 --- a/tower-trace/src/request_ext.rs +++ b/tower-trace/src/request_ext.rs @@ -1,7 +1,7 @@ use sha2::{Digest, Sha256}; -use tendermint::abci::{ - request::{BeginBlock, CheckTx, DeliverTx, EndBlock, InitChain, Query}, - ConsensusRequest, InfoRequest, MempoolRequest, Request, SnapshotRequest, +use tendermint::abci::{ConsensusRequest, InfoRequest, MempoolRequest, SnapshotRequest}; +use tendermint::v0_34::abci::request::{ + BeginBlock, CheckTx, DeliverTx, EndBlock, InitChain, Query, Request, }; use tracing::error_span; @@ -29,6 +29,12 @@ impl RequestExt for ConsensusRequest { ConsensusRequest::InitChain(InitChain { chain_id, .. }) => { error_span!(parent: &p, "InitChain", ?chain_id) } + ConsensusRequest::PrepareProposal(_) => { + unimplemented!("unimplemented in Tendermint v0.34.x") + } + ConsensusRequest::ProcessProposal(_) => { + unimplemented!("unimplemented in Tendermint v0.34.x") + } } } } diff --git a/transaction/Cargo.toml b/transaction/Cargo.toml index 59ca7edf6a..f4fc37ff51 100644 --- a/transaction/Cargo.toml +++ b/transaction/Cargo.toml @@ -23,9 +23,9 @@ penumbra-proof-params = { path = "../proof-params/", features = [ decaf377 = "0.4" decaf377-rdsa = { version = "0.6" } poseidon377 = { version = "0.4", features = ["r1cs"] } -ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.1.x", version = "0.1.1" } +ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.2.x" } -ibc-proto = { version = "0.26", default-features = false, features = ["std"] } +ibc-proto = { git = "https://github.com/penumbra-zone/ibc-proto-rs", branch = "penumbra" } # Crates.io deps base64 = "0.21" diff --git a/view/Cargo.toml b/view/Cargo.toml index b01e82b665..4a9c396846 100644 --- a/view/Cargo.toml +++ b/view/Cargo.toml @@ -33,7 +33,7 @@ penumbra-compact-block = { path = "../crates/compact-block", default-features = # TODO: replace by a penumbra-app penumbra-app = { path = "../app" } -ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.1.x", version = "0.1.1" } +ibc-types = { git = "https://github.com/penumbra-zone/ibc-types", branch = "0.2.x" } tokio = { version = "1.22", features = ["full"] } tokio-stream = { version = "0.1.8", features = ["sync"] } @@ -56,7 +56,7 @@ parking_lot = "0.12" clap = { version = "3", features = ["derive"] } camino = "1" async-trait = "0.1" -tendermint = "0.29.0" +tendermint = "0.31.0" sha2 = "0.10.1" ed25519-consensus = "2.1" r2d2 = "0.8"