diff --git a/Cargo.lock b/Cargo.lock index b9dcb7d..05af522 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -61,7 +61,7 @@ dependencies = [ "async-stream", "async-trait", "auto_impl", - "block-padding 0.3.1", + "block-padding 0.3.2", "byte-unit", "byteorder", "bytes", @@ -70,7 +70,7 @@ dependencies = [ "chrono", "cidr", "cipher", - "clap 3.1.0", + "clap 3.1.6", "criterion", "croaring", "crossterm", @@ -170,9 +170,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.54" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a99269dff3bc004caa411f38845c20303f1e393ca2bd6581576fa3a7f59577d" +checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" [[package]] name = "array-init" @@ -203,17 +203,6 @@ dependencies = [ "serde", ] -[[package]] -name = "async-channel" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - [[package]] name = "async-recursion" version = "1.0.0" @@ -227,9 +216,9 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "171374e7e3b2504e0e5236e3b59260560f9fe94bfe9ac39ba5e4e929c5590625" +checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e" dependencies = [ "async-stream-impl", "futures-core", @@ -237,9 +226,9 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "648ed8c8d2ce5409ccd57453d9d1b214b342a0d69376a6feda1fd6cae3299308" +checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27" dependencies = [ "proc-macro2", "quote", @@ -416,9 +405,9 @@ checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" [[package]] name = "block-padding" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5808df4b2412175c4db3afb115c83d8d0cd26ca4f30a042026cddef8580e526a" +checksum = "0a90ec2df9600c28a01c56c4784c9207a96d2451833aeceb8cc97e4c9548bb78" dependencies = [ "generic-array", ] @@ -455,24 +444,24 @@ checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" [[package]] name = "byte-slice-cast" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d30c751592b77c499e7bce34d99d67c2c11bdc0574e9a488ddade14150a4698" +checksum = "87c5fdd0166095e1d463fc6cc01aa8ce547ad77a4e84d42eb6762b084e28067e" [[package]] name = "byte-unit" -version = "4.0.13" +version = "4.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ffc5b0ec7d7a6949e3f21fd63ba5af4cffdc2ba1e0b7bf62b481458c4ae7f" +checksum = "95ebf10dda65f19ff0f42ea15572a359ed60d7fc74fdc984d90310937be0014b" dependencies = [ "utf8-width", ] [[package]] name = "bytemuck" -version = "1.7.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439989e6b8c38d1b6570a384ef1e49c8848128f5a97f3914baef02920842712f" +checksum = "0e851ca7c24871e7336801608a4797d7376545b6928a10d32d75685687141ead" [[package]] name = "byteorder" @@ -504,12 +493,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" -[[package]] -name = "cache-padded" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" - [[package]] name = "cast" version = "0.2.7" @@ -552,7 +535,7 @@ dependencies = [ "libc", "num-integer", "num-traits", - "time", + "time 0.1.43", "winapi", ] @@ -564,9 +547,9 @@ checksum = "300bccc729b1ada84523246038aad61fead689ac362bb9d44beea6f6a188c34b" [[package]] name = "cipher" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "035bd298db1557b73a277e9c599c5a50e0d2e6ee9dcac78f3f951cb2f7d88d8c" +checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" dependencies = [ "crypto-common", "inout", @@ -596,9 +579,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.1.0" +version = "3.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5f1fea81f183005ced9e59cdb01737ef2423956dac5a6d731b06b2ecfaa3467" +checksum = "d8c93436c21e4698bacadf42917db28b23017027a4deccb35dbe47a7e7840123" dependencies = [ "atty", "bitflags", @@ -608,14 +591,14 @@ dependencies = [ "os_str_bytes", "strsim", "termcolor", - "textwrap 0.14.2", + "textwrap 0.15.0", ] [[package]] name = "clap_derive" -version = "3.1.0" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd1122e63869df2cb309f449da1ad54a7c6dfeb7c7e6ccd8e0825d9eb93bb72" +checksum = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16" dependencies = [ "heck 0.4.0", "proc-macro-error", @@ -642,15 +625,6 @@ dependencies = [ "cc", ] -[[package]] -name = "concurrent-queue" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" -dependencies = [ - "cache-padded", -] - [[package]] name = "convert_case" version = "0.4.0" @@ -748,9 +722,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa" +checksum = "fdbfe11fe19ff083c48923cf179540e8cd0535903dc35e178a1fdeeb59aef51f" dependencies = [ "cfg-if", "crossbeam-utils", @@ -769,10 +743,11 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00d6d2ea26e8b151d99093005cb442fb9a37aeaca582a03ec70946f49ab5ed9" +checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c" dependencies = [ + "autocfg 1.1.0", "cfg-if", "crossbeam-utils", "lazy_static", @@ -782,9 +757,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6" +checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" dependencies = [ "cfg-if", "lazy_static", @@ -792,9 +767,9 @@ dependencies = [ [[package]] name = "crossterm" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77b75a27dc8d220f1f8521ea69cd55a34d720a200ebb3a624d9aa19193d3b432" +checksum = "f1fd7173631a4e9e2ca8b32ae2fad58aab9843ea5aaf56642661937d87e28a3e" dependencies = [ "bitflags", "crossterm_winapi", @@ -967,9 +942,9 @@ dependencies = [ [[package]] name = "educe" -version = "0.4.18" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86b50932a01e7ec5c06160492ab660fb19b6bb2a7878030dd6cd68d21df9d4d" +checksum = "c07b7cc9cd8c08d10db74fca3b20949b9b6199725c04a0cce6d543496098fcac" dependencies = [ "enum-ordinalize", "proc-macro2", @@ -986,7 +961,7 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "enr" version = "0.5.1" -source = "git+https://github.com/rust-ethereum/enr?branch=vorot93/update-deps#169acfb9124538833f04a434743c19472790ec42" +source = "git+https://github.com/rust-ethereum/enr?branch=vorot93/update-deps#c1f770fc21d8ee2dc0709fdb244ee1b059a2f250" dependencies = [ "base64", "bs58", @@ -1002,11 +977,11 @@ dependencies = [ [[package]] name = "enum-as-inner" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595" +checksum = "21cdad81446a7f7dc43f6a77409efeb9733d2fa65553efef6018ef257c959b73" dependencies = [ - "heck 0.3.3", + "heck 0.4.0", "proc-macro2", "quote", "syn", @@ -1034,14 +1009,15 @@ dependencies = [ [[package]] name = "enum-ordinalize" -version = "3.1.10" +version = "3.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b166c9e378360dd5a6666a9604bb4f54ae0cac39023ffbac425e917a2a04fef" +checksum = "2170fc0efee383079a8bdd05d6ea2a184d2a0f07a1c1dcabdb2fd5e9f24bc36c" dependencies = [ "num-bigint", "num-traits", "proc-macro2", "quote", + "rustc_version", "syn", ] @@ -1101,7 +1077,7 @@ dependencies = [ [[package]] name = "ethereum-interfaces" version = "0.1.0" -source = "git+https://github.com/ledgerwatch/interfaces#64d81c261c821b4357f3a96e0ea22a5496100442" +source = "git+https://github.com/ledgerwatch/interfaces#6a68d77a39811c732d3f4f91f5c7dde348f1ee19" dependencies = [ "arrayref", "ethereum-types", @@ -1149,12 +1125,6 @@ dependencies = [ "cc", ] -[[package]] -name = "event-listener" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71" - [[package]] name = "fastrand" version = "1.7.0" @@ -1349,13 +1319,13 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c" +checksum = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77" dependencies = [ "cfg-if", "libc", - "wasi", + "wasi 0.10.2+wasi-snapshot-preview1", ] [[package]] @@ -1378,9 +1348,9 @@ checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" [[package]] name = "git2" -version = "0.13.25" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29229cc1b24c0e6062f6e742aa3e256492a5323365e5ed3413599f8a5eff7d6" +checksum = "3826a6e0e2215d7a41c2bfc7c9244123969273f3476b939a226aac0ab56e9e3c" dependencies = [ "bitflags", "libc", @@ -1410,9 +1380,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f1f717ddc7b2ba36df7e871fd88db79326551d3d6f1fc406fbfd28b582ff8e" +checksum = "62eeb471aa3e3c9197aa4bfeabfe02982f6dc96f750486c0bb0009ac58b26d2b" dependencies = [ "bytes", "fnv", @@ -1564,7 +1534,7 @@ dependencies = [ "httpdate", "itoa 1.0.1", "pin-project-lite", - "socket2 0.4.4", + "socket2", "tokio", "tower-service", "tracing", @@ -1694,9 +1664,9 @@ dependencies = [ [[package]] name = "inferno" -version = "0.10.12" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3886428c6400486522cf44b8626e7b94ad794c14390290f2a274dcf728a58f" +checksum = "26143de514661e4241e71840e4f82029b5d8b55e57b25be63b5126869794df57" dependencies = [ "ahash", "atty", @@ -1716,7 +1686,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1f03d4ab4d5dc9ec2d219f86c15d2a15fc08239d1cd3b2d6a19717c0a2f443" dependencies = [ - "block-padding 0.3.1", + "block-padding 0.3.2", "generic-array", ] @@ -1731,11 +1701,11 @@ dependencies = [ [[package]] name = "ipconfig" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" +checksum = "723519edce41262b05d4143ceb95050e4c614f483e78e9fd9e39a8275a84ad98" dependencies = [ - "socket2 0.3.19", + "socket2", "widestring", "winapi", "winreg", @@ -1743,9 +1713,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" +checksum = "35e70ee094dc02fd9c13fdad4940090f22dbd6ac7c9e7094a46cf0232a50bc7c" [[package]] name = "itertools" @@ -1789,7 +1759,7 @@ dependencies = [ [[package]] name = "jsonrpsee" version = "0.9.0" -source = "git+https://github.com/paritytech/jsonrpsee#721117de2abb49a50e16a6cec3261d2ba63d5aea" +source = "git+https://github.com/paritytech/jsonrpsee#7c46458e4c5568c2c7a0352dd36ca89377f53d32" dependencies = [ "jsonrpsee-core", "jsonrpsee-http-server", @@ -1801,11 +1771,10 @@ dependencies = [ [[package]] name = "jsonrpsee-core" version = "0.9.0" -source = "git+https://github.com/paritytech/jsonrpsee#721117de2abb49a50e16a6cec3261d2ba63d5aea" +source = "git+https://github.com/paritytech/jsonrpsee#7c46458e4c5568c2c7a0352dd36ca89377f53d32" dependencies = [ "anyhow", "arrayvec 0.7.2", - "async-channel", "async-trait", "beef", "futures-channel", @@ -1826,7 +1795,7 @@ dependencies = [ [[package]] name = "jsonrpsee-http-server" version = "0.9.0" -source = "git+https://github.com/paritytech/jsonrpsee#721117de2abb49a50e16a6cec3261d2ba63d5aea" +source = "git+https://github.com/paritytech/jsonrpsee#7c46458e4c5568c2c7a0352dd36ca89377f53d32" dependencies = [ "futures-channel", "futures-util", @@ -1836,7 +1805,7 @@ dependencies = [ "jsonrpsee-types", "lazy_static", "serde_json", - "socket2 0.4.4", + "socket2", "tokio", "tracing", "unicase", @@ -1845,7 +1814,7 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" version = "0.9.0" -source = "git+https://github.com/paritytech/jsonrpsee#721117de2abb49a50e16a6cec3261d2ba63d5aea" +source = "git+https://github.com/paritytech/jsonrpsee#7c46458e4c5568c2c7a0352dd36ca89377f53d32" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1856,7 +1825,7 @@ dependencies = [ [[package]] name = "jsonrpsee-types" version = "0.9.0" -source = "git+https://github.com/paritytech/jsonrpsee#721117de2abb49a50e16a6cec3261d2ba63d5aea" +source = "git+https://github.com/paritytech/jsonrpsee#7c46458e4c5568c2c7a0352dd36ca89377f53d32" dependencies = [ "anyhow", "beef", @@ -1869,9 +1838,8 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-server" version = "0.9.0" -source = "git+https://github.com/paritytech/jsonrpsee#721117de2abb49a50e16a6cec3261d2ba63d5aea" +source = "git+https://github.com/paritytech/jsonrpsee#7c46458e4c5568c2c7a0352dd36ca89377f53d32" dependencies = [ - "async-channel", "futures-channel", "futures-util", "jsonrpsee-core", @@ -1906,15 +1874,15 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.119" +version = "0.2.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4" +checksum = "ad5c14e80759d0939d013e6ca49930e59fc53dd8e5009132f76240c179380c09" [[package]] name = "libgit2-sys" -version = "0.12.26+1.3.0" +version = "0.13.2+1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e1c899248e606fbfe68dcb31d8b0176ebab833b103824af31bddf4b7457494" +checksum = "3a42de9a51a5c12e00fc0e4ca6bc2ea43582fc6418488e8f615e905d886f258b" dependencies = [ "cc", "libc", @@ -1950,9 +1918,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66" +checksum = "6f35facd4a5673cb5a48822be2be1d4236c1c99cb4113cab7061ac720d5bf859" dependencies = [ "cc", "libc", @@ -1986,9 +1954,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "274353858935c992b13c0ca408752e2121da852d07dec7ce5f108c77dfa14d1f" +checksum = "fcb87f3080f6d1d69e8c564c0fcfde1d7aa8cc451ce40cae89479111f03bc0eb" dependencies = [ "hashbrown", ] @@ -2096,14 +2064,15 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba272f85fa0b41fc91872be579b3bbe0f56b792aa361a380eb669469f68dafb2" +checksum = "7ba42135c6a5917b9db9cd7b293e5409e1c6b041e6f9825e92e55a894c63b6f8" dependencies = [ "libc", "log", "miow", "ntapi", + "wasi 0.11.0+wasi-snapshot-preview1", "winapi", ] @@ -2164,13 +2133,12 @@ checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" [[package]] name = "nom" -version = "7.1.0" +version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109" +checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" dependencies = [ "memchr", "minimal-lexical", - "version_check", ] [[package]] @@ -2232,6 +2200,15 @@ dependencies = [ "libc", ] +[[package]] +name = "num_threads" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c539a50b93a303167eded6e8dff5220cd39447409fb659f4cd24b1f72fe4f133" +dependencies = [ + "libc", +] + [[package]] name = "object" version = "0.27.1" @@ -2243,9 +2220,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" +checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9" [[package]] name = "oorandom" @@ -2270,9 +2247,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a7f3fcf5e45fc28b84dcdab6b983e77f197ec01f325a33f404ba6855afd1070" +checksum = "8483b84fb12de1dc23bf95d26030d16cea56391d136db0db37f749508104e3e6" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -2285,9 +2262,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6e626dc84025ff56bf1476ed0e30d10c84d7f89a475ef46ebabee1095a8fba" +checksum = "7259388ceb4c23bc09caef272c9e7a732b3b8f9fbd0b41f0009a91d6548cc1d9" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2433,19 +2410,19 @@ dependencies = [ [[package]] name = "pprof" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55f35f865aa964be21fcde114cbd1cfbd9bf8a471460ed965b0f84f96c711401" +checksum = "c090facb9ab04a4fb15fe27f8861059f195dd0847e6f1042016244e129eddeb2" dependencies = [ "backtrace", "cfg-if", "findshlibs", "inferno", - "lazy_static", "libc", "log", "nix", - "parking_lot 0.11.2", + "once_cell", + "parking_lot 0.12.0", "smallvec", "symbolic-demangle", "tempfile", @@ -2474,9 +2451,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dada8c9981fcf32929c3c0f0cd796a9284aca335565227ed88c83babb1d43dc" +checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ "thiserror", "toml", @@ -2805,9 +2782,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +checksum = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c" dependencies = [ "bitflags", ] @@ -2824,9 +2801,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.5.4" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" dependencies = [ "aho-corasick", "memchr", @@ -2869,9 +2846,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.31" +version = "0.8.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a374af9a0e5fdcdd98c1c7b64f05004f9ea2555b6c75f211daa81268a3c50f1" +checksum = "e74fdc210d8f24a7dbfedc13b04ba5764f5232754ccebfdf5fff1bad791ccbc6" dependencies = [ "bytemuck", ] @@ -2979,9 +2956,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d3b4d0b178e3af536f7988303bc73a0766c816de2138c08262015f8ec7be568" +checksum = "0563970d79bcbf3c537ce3ad36d859b30d36fc5b190efd227f1f7a84d7cf0d42" dependencies = [ "cfg-if", "derive_more", @@ -3009,9 +2986,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "secp256k1" -version = "0.21.2" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab7883017d5b21f011ef8040ea9c6c7ac90834c0df26a69e4c0b06276151f125" +checksum = "26947345339603ae8395f68e2f3d85a6b0a8ddfe6315818e80b8504415099db0" dependencies = [ "rand 0.6.5", "secp256k1-sys", @@ -3019,18 +2996,18 @@ dependencies = [ [[package]] name = "secp256k1-sys" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036" +checksum = "07b5b9d7322572e1f3aeed208668ce87789b3645dbb73082c5ce99a004103a35" dependencies = [ "cc", ] [[package]] name = "semver" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0486718e92ec9a68fbed73bb5ef687d71103b142595b406835649bebd33f72c7" +checksum = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d" [[package]] name = "serde" @@ -3205,17 +3182,6 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451" -[[package]] -name = "socket2" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" -dependencies = [ - "cfg-if", - "libc", - "winapi", -] - [[package]] name = "socket2" version = "0.4.4" @@ -3281,20 +3247,20 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strum" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb" +checksum = "e96acfc1b70604b8b2f1ffa4c57e59176c7dbb05d556c71ecd2f5498a1dee7f8" dependencies = [ "strum_macros", ] [[package]] name = "strum_macros" -version = "0.23.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38" +checksum = "6878079b17446e4d3eba6192bb0a2950d5b14f0ed8424b852310e5a94345d0ef" dependencies = [ - "heck 0.3.3", + "heck 0.4.0", "proc-macro2", "quote", "rustversion", @@ -3332,9 +3298,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "symbolic-common" -version = "8.6.0" +version = "8.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e92a52f07eed9afba3d6f883652cde7cd75fcf327dd44e84f210958379158737" +checksum = "52ca6f4079d985e79702d1cce708bdd03ac570e220bcf87105d86f5a8ebb26be" dependencies = [ "debugid", "memmap2", @@ -3344,9 +3310,9 @@ dependencies = [ [[package]] name = "symbolic-demangle" -version = "8.6.0" +version = "8.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9abc81544d9964975269165bfe5ad198d8b9e2e809c46527323f95588a57693" +checksum = "7bd7f5075d8bbe9b00eaa9cb47e788fe9405f3306f7497b617b62e5f65ec619a" dependencies = [ "cpp_demangle", "rustc-demangle", @@ -3355,9 +3321,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.86" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b" +checksum = "ebd69e719f31e88618baa1eaa6ee2de5c9a1c004f1e9ecdb58e8352a13f20a01" dependencies = [ "proc-macro2", "quote", @@ -3366,9 +3332,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.23.2" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d82ade9d6621d4ca052a00bb6ea9ed513d223cba75a84625c5e9c0698ab6f5" +checksum = "07fa4c84a5305909b0eedfcc8d1f2fafdbede645bb700a45ecaafe681a0ac5d6" dependencies = [ "cfg-if", "core-foundation-sys", @@ -3411,9 +3377,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" dependencies = [ "winapi-util", ] @@ -3429,9 +3395,9 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80" +checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" [[package]] name = "thiserror" @@ -3472,6 +3438,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "time" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "004cbc98f30fa233c61a38bc77e96a9106e65c88f2d3bef182ae952027e5753d" +dependencies = [ + "itoa 1.0.1", + "libc", + "num_threads", +] + [[package]] name = "tiny-keccak" version = "2.0.2" @@ -3515,13 +3492,13 @@ dependencies = [ "bytes", "libc", "memchr", - "mio 0.8.0", + "mio 0.8.1", "num_cpus", "once_cell", "parking_lot 0.12.0", "pin-project-lite", "signal-hook-registry", - "socket2 0.4.4", + "socket2", "tokio-macros", "winapi", ] @@ -3703,9 +3680,9 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] name = "tracing" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6c650a8ef0cd2dd93736f033d21cbd1224c5a967aa0c258d00fcf7dafef9b9f" +checksum = "4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f" dependencies = [ "cfg-if", "log", @@ -3716,9 +3693,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8276d9a4a3a558d7b7ad5303ad50b53d58264641b82914b7ada36bd762e7a716" +checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b" dependencies = [ "proc-macro2", "quote", @@ -3727,9 +3704,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03cfcb51380632a72d3111cb8d3447a8d908e577d31beeac006f836383d29a23" +checksum = "aa31669fa42c09c34d94d8165dd2012e8ff3c66aca50f3bb226b68f216f2706c" dependencies = [ "lazy_static", "valuable", @@ -3786,9 +3763,9 @@ dependencies = [ [[package]] name = "trust-dns-proto" -version = "0.20.4" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca94d4e9feb6a181c690c4040d7a24ef34018d8313ac5044a61d21222ae24e31" +checksum = "2861b3ed517888174d13909e675c4e94b3291867512068be59d76533e4d1270c" dependencies = [ "async-trait", "cfg-if", @@ -3811,9 +3788,9 @@ dependencies = [ [[package]] name = "trust-dns-resolver" -version = "0.20.4" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecae383baad9995efaa34ce8e57d12c3f305e545887472a492b838f4b5cfb77a" +checksum = "d9e737a252a617bd4774649e245dbf705e207275db0893b9fa824d49f074fc1c" dependencies = [ "cfg-if", "futures-util", @@ -3821,7 +3798,7 @@ dependencies = [ "lazy_static", "log", "lru-cache", - "parking_lot 0.11.2", + "parking_lot 0.12.0", "resolv-conf", "smallvec", "thiserror", @@ -3936,13 +3913,12 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vergen" -version = "6.0.2" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3893329bee75c101278e0234b646fa72221547d63f97fb66ac112a0569acd110" +checksum = "4db743914c971db162f35bf46601c5a63ec4452e61461937b4c1ab817a60c12e" dependencies = [ "anyhow", "cfg-if", - "chrono", "enum-iterator", "getset", "git2", @@ -3950,6 +3926,7 @@ dependencies = [ "rustversion", "sysinfo", "thiserror", + "time 0.3.7", ] [[package]] @@ -3994,6 +3971,12 @@ 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.79" @@ -4071,9 +4054,9 @@ dependencies = [ [[package]] name = "widestring" -version = "0.4.3" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" +checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" [[package]] name = "wildmatch" @@ -4157,9 +4140,9 @@ checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" [[package]] name = "winreg" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" +checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" dependencies = [ "winapi", ] @@ -4190,6 +4173,6 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c88870063c39ee00ec285a2f8d6a966e5b6fb2becc4e8dac77ed0d370ed6006" +checksum = "50344758e2f40e3a1fcfc8f6f91aa57b5f8ebd8d27919fe6451f15aaaf9ee608" diff --git a/Cargo.toml b/Cargo.toml index 244193e..769e92a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,7 @@ educe = { version = "0.4", features = ["Debug", "Default"] } enr = { version = "0.5", default-features = false, features = [ "rust-secp256k1", ] } -enum-as-inner = "0.3" +enum-as-inner = "0.4" enum-primitive-derive = "0.2" ethash = { git = "https://github.com/rust-ethereum/ethash", branch = "ethnum" } ethereum-forkid = "0.7.0" @@ -96,7 +96,11 @@ ripemd = "0.1" rlp = "0.5" rlp-derive = "0.1" ron = "0.7" -secp256k1 = { version = "0.21", features = ["global-context", "recovery"] } +secp256k1 = { version = "0.22", features = [ + "global-context", + "rand-std", + "recovery", +] } serde = "1" serde_json = "1" serde_with = "1" @@ -104,8 +108,8 @@ sha2 = "0.10" sha3 = "0.10" snap = "1" string = { git = "https://github.com/carllerche/string" } -strum = { version = "0.23", features = ["derive"] } -strum_macros = "0.23" +strum = { version = "0.24", features = ["derive"] } +strum_macros = "0.24" stubborn-io = "0.3" substrate-bn = "0.6" tempfile = "3" @@ -125,20 +129,20 @@ tracing = "0.1" tracing-futures = "0.2" tracing-subscriber = { version = "0.3", features = ["env-filter"] } triehash = "0.8" -trust-dns-resolver = "0.20" +trust-dns-resolver = "0.21" url = "2" uuid = { version = "0.8", features = ["v4"] } walkdir = "2" [build-dependencies] anyhow = "1" -vergen = "6" +vergen = "7" [dev-dependencies] bytes-literal = { git = "https://github.com/vorot93/bytes-literal" } criterion = { version = "0.3", default-features = false } include_dir = "0.7" -pprof = { version = "0.6", features = ["flamegraph"] } +pprof = { version = "0.7", features = ["flamegraph"] } proptest = "1.0.0" rand = { version = "0.8", features = ["std"] } tokio = { version = "1", features = ["full"] } diff --git a/src/crypto/mod.rs b/src/crypto/mod.rs index 71b25d2..156d8e0 100644 --- a/src/crypto/mod.rs +++ b/src/crypto/mod.rs @@ -1,9 +1,8 @@ use bytes::Bytes; -use ethereum_types::{Address, H256}; +use ethereum_types::H256; use hash256_std_hasher::Hash256StdHasher; use hash_db::Hasher; use hex_literal::hex; -use secp256k1::{PublicKey, SECP256K1}; use sha3::{Digest, Keccak256}; pub mod blake2; @@ -66,39 +65,6 @@ pub fn is_valid_signature(r: H256, s: H256) -> bool { true } -pub fn generate_key() -> secp256k1::SecretKey { - secp256k1::SecretKey::new(&mut secp256k1::rand::thread_rng()) -} - -pub fn to_pubkey(seckey: &secp256k1::SecretKey) -> PublicKey { - secp256k1::PublicKey::from_secret_key(SECP256K1, seckey) -} - -pub fn pubkey_to_address(pubkey: &secp256k1::PublicKey) -> Address { - Address::from_slice(&keccak256(&pubkey.serialize_uncompressed()[1..]).0[12..]) -} - pub fn keccak256(data: impl AsRef<[u8]>) -> H256 { H256::from_slice(&Keccak256::digest(data.as_ref())) } - -#[cfg(test)] -mod tests { - use super::*; - use hex_literal::hex; - use secp256k1::SECP256K1; - - #[test] - fn generate_address() { - assert_eq!( - pubkey_to_address(&secp256k1::PublicKey::from_secret_key( - SECP256K1, - &secp256k1::SecretKey::from_slice(&hex!( - "17bc08619f3b717b022728e84f5f39c3f2b3e2ad00cfecbb689e4c1f7965da5f" - )) - .unwrap() - )), - hex!("5D6C3f4c505385f4F99057C06F0e265FFc16E829").into() - ); - } -} diff --git a/src/sentry/devp2p/ecies/algorithm.rs b/src/sentry/devp2p/ecies/algorithm.rs index e5eb244..3fca061 100644 --- a/src/sentry/devp2p/ecies/algorithm.rs +++ b/src/sentry/devp2p/ecies/algorithm.rs @@ -25,10 +25,7 @@ use std::convert::TryFrom; const PROTOCOL_VERSION: usize = 4; fn ecdh_x(public_key: &PublicKey, secret_key: &SecretKey) -> H256 { - H256::from_slice( - &secp256k1::ecdh::SharedSecret::new_with_hash(public_key, secret_key, |x, _| x.into()) - [0..32], - ) + H256::from_slice(&secp256k1::ecdh::shared_secret_point(public_key, secret_key)[..32]) } fn kdf(secret: H256, s1: &[u8], dest: &mut [u8]) {