diff --git a/Cargo.lock b/Cargo.lock index 0bdb0eb88..393a9e364 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,7 +20,7 @@ dependencies = [ "eth2_wallet", "eth2_wallet_manager", "filesystem", - "futures 0.3.14", + "futures 0.3.15", "hex", "libc", "rand 0.7.3", @@ -33,7 +33,7 @@ dependencies = [ "slog-term", "slot_clock", "tempfile", - "tokio 1.5.0", + "tokio 1.6.0", "types", "validator_dir", ] @@ -60,9 +60,9 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.14.1" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7" +checksum = "03345e98af8f3d786b6d9f656ccfa6ac316d954e92bc4841f0bba20789d5fb5a" dependencies = [ "gimli", ] @@ -81,33 +81,23 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "aead" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" +checksum = "922b33332f54fc0ad13fa3e514601e8d30fb54e1f3eadc36643f6526db645621" dependencies = [ "generic-array 0.14.4", ] [[package]] name = "aes" -version = "0.5.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2bc6d3f370b5666245ff421e231cba4353df936e26986d2918e61a8fd6aef6" +checksum = "b2333ac5777aaa1beb8589f5374976ae7dc8aa4f09fd21ae3d8662ca97f5247d" dependencies = [ - "aes-soft 0.5.0", - "aesni 0.8.0", - "block-cipher", -] - -[[package]] -name = "aes" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" -dependencies = [ - "aes-soft 0.6.4", - "aesni 0.10.0", - "cipher", + "cfg-if 1.0.0", + "cipher 0.3.0", + "cpufeatures", + "opaque-debug 0.3.0", ] [[package]] @@ -116,67 +106,33 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7729c3cde54d67063be556aeac75a81330d802f0259500ca40cb52967f975763" dependencies = [ - "aes-soft 0.6.4", - "aesni 0.10.0", - "cipher", - "ctr", + "aes-soft", + "aesni", + "cipher 0.2.5", + "ctr 0.6.0", ] [[package]] name = "aes-gcm" -version = "0.7.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0301c9e9c443494d970a07885e8cf3e587bae8356a1d5abd0999068413f7205f" +checksum = "1ee2263805ba4537ccbb19db28525a7b1ebc7284c228eb5634c3124ca63eb03f" dependencies = [ "aead", - "aes 0.5.0", - "block-cipher", + "aes", + "cipher 0.3.0", + "ctr 0.7.0", "ghash", "subtle 2.4.0", ] -[[package]] -name = "aes-gcm" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" -dependencies = [ - "aead", - "aes 0.6.0", - "cipher", - "ctr", - "ghash", - "subtle 2.4.0", -] - -[[package]] -name = "aes-soft" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63dd91889c49327ad7ef3b500fd1109dbd3c509a03db0d4a9ce413b79f575cb6" -dependencies = [ - "block-cipher", - "byteorder", - "opaque-debug 0.3.0", -] - [[package]] name = "aes-soft" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" dependencies = [ - "cipher", - "opaque-debug 0.3.0", -] - -[[package]] -name = "aesni" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6fe808308bb07d393e2ea47780043ec47683fcf19cf5efc8ca51c50cc8c68a" -dependencies = [ - "block-cipher", + "cipher 0.2.5", "opaque-debug 0.3.0", ] @@ -186,7 +142,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" dependencies = [ - "cipher", + "cipher 0.2.5", "opaque-debug 0.3.0", ] @@ -245,9 +201,9 @@ dependencies = [ [[package]] name = "arc-swap" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d7d63395147b81a9e570bcc6243aaf71c017bd666d4909cfef0085bdda8d73" +checksum = "e906254e445520903e7fc9da4f709886c84ae4bc4ddaf0e093188d66df4dc820" [[package]] name = "arrayref" @@ -261,6 +217,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +[[package]] +name = "arrayvec" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a2f58b0bb10c380af2b26e57212856b8c9a59e0925b4c20f4a174a49734eaf7" + [[package]] name = "ascii-canvas" version = "2.0.0" @@ -272,22 +234,9 @@ dependencies = [ [[package]] name = "asn1_der" -version = "0.6.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fce6b6a0ffdafebd82c87e79e3f40e8d2c523e5fea5566ff6b90509bf98d638" -dependencies = [ - "asn1_der_derive", -] - -[[package]] -name = "asn1_der_derive" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0864d84b8e07b145449be9a8537db86bf9de5ce03b913214694643b4743502" -dependencies = [ - "quote", - "syn", -] +checksum = "9d6e24d2cce90c53b948c46271bfb053e4bdc2db9b5d3f65e20f8cf28a1b7fc3" [[package]] name = "assert-json-diff" @@ -525,9 +474,9 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.58" +version = "0.3.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88fb5a785d6b44fd9d6700935608639af1b8356de1e55d5f7c2740f4faa15d82" +checksum = "4717cfcbfaa661a0fd48f8453951837ae7e8f81e481fbb136e3202d72805a744" dependencies = [ "addr2line", "cc", @@ -590,7 +539,7 @@ dependencies = [ "eth2_ssz_types", "exit-future", "fork_choice", - "futures 0.3.14", + "futures 0.3.15", "genesis", "int_to_bytes", "integer-sqrt", @@ -623,7 +572,7 @@ dependencies = [ "strum", "task_executor", "tempfile", - "tokio 1.5.0", + "tokio 1.6.0", "tree_hash", "types", ] @@ -645,10 +594,10 @@ dependencies = [ "eth2_network_config", "eth2_ssz", "exit-future", - "futures 0.3.14", + "futures 0.3.15", "genesis", "hex", - "hyper 0.14.7", + "hyper 0.14.8", "lighthouse_version", "logging", "monitoring_api", @@ -662,7 +611,7 @@ dependencies = [ "slog-term", "store", "task_executor", - "tokio 1.5.0", + "tokio 1.6.0", "types", ] @@ -706,17 +655,6 @@ dependencies = [ "radium 0.3.0", ] -[[package]] -name = "bitvec" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98fcd36dda4e17b7d7abc64cb549bf0201f4ab71e00700c798ca7e62ed3761fa" -dependencies = [ - "funty", - "radium 0.3.0", - "wyz", -] - [[package]] name = "bitvec" version = "0.19.5" @@ -729,6 +667,18 @@ dependencies = [ "wyz", ] +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty", + "radium 0.6.2", + "tap", + "wyz", +] + [[package]] name = "blake2" version = "0.9.1" @@ -747,7 +697,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" dependencies = [ "arrayref", - "arrayvec", + "arrayvec 0.5.2", "constant_time_eq", ] @@ -773,15 +723,6 @@ dependencies = [ "generic-array 0.14.4", ] -[[package]] -name = "block-cipher" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f337a3e6da609650eb74e02bc9fac7b735049f7623ab12f2e4c719316fcc7e80" -dependencies = [ - "generic-array 0.14.4", -] - [[package]] name = "block-padding" version = "0.1.5" @@ -851,7 +792,7 @@ dependencies = [ "eth2_libp2p", "eth2_network_config", "eth2_ssz", - "futures 0.3.14", + "futures 0.3.15", "hex", "log", "logging", @@ -861,16 +802,10 @@ dependencies = [ "slog-stdlog", "slog-term", "sloggers", - "tokio 1.5.0", + "tokio 1.6.0", "types", ] -[[package]] -name = "bs58" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb" - [[package]] name = "bs58" version = "0.4.0" @@ -985,18 +920,18 @@ dependencies = [ [[package]] name = "cast" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc38c385bfd7e444464011bb24820f40dd1c76bcdfa1b78611cb7c2e5cafab75" +checksum = "57cdfa5d50aad6cb4d44dcab6101a7f79925bd59d82ca42f38a9856a28865374" dependencies = [ - "rustc_version 0.2.3", + "rustc_version 0.3.3", ] [[package]] name = "cc" -version = "1.0.67" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" +checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" [[package]] name = "cfg-if" @@ -1012,24 +947,26 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chacha20" -version = "0.5.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "244fbce0d47e97e8ef2f63b81d5e05882cb518c68531eb33194990d7b7e85845" +checksum = "fee7ad89dc1128635074c268ee661f90c3f7e83d9fd12910608c36b47d6c3412" dependencies = [ - "stream-cipher", + "cfg-if 1.0.0", + "cipher 0.3.0", + "cpufeatures", "zeroize", ] [[package]] name = "chacha20poly1305" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bf18d374d66df0c05cdddd528a7db98f78c28e2519b120855c4f84c5027b1f5" +checksum = "1580317203210c517b6d44794abfbe600698276db18127e37ad3e69bf5e848e5" dependencies = [ "aead", "chacha20", + "cipher 0.3.0", "poly1305", - "stream-cipher", "zeroize", ] @@ -1055,6 +992,15 @@ dependencies = [ "generic-array 0.14.4", ] +[[package]] +name = "cipher" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +dependencies = [ + "generic-array 0.14.4", +] + [[package]] name = "clap" version = "2.33.3" @@ -1095,7 +1041,7 @@ dependencies = [ "eth2_config", "eth2_libp2p", "eth2_ssz", - "futures 0.3.14", + "futures 0.3.15", "genesis", "http_api", "http_metrics", @@ -1119,7 +1065,7 @@ dependencies = [ "task_executor", "time 0.2.26", "timer", - "tokio 1.5.0", + "tokio 1.6.0", "toml", "tree_hash", "types", @@ -1182,15 +1128,15 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.4.5" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f6b64db6932c7e49332728e3a6bd82c6b7e16016607d20923b537c3bc4c0d5f" +checksum = "279bc8fc53f788a75c7804af68237d1fce02cde1e275a886a4b320604dc2aeda" [[package]] name = "const_fn" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402da840495de3f976eaefc3485b7f5eb5b0bf9761f9a47be27fe975b3b8c2ec" +checksum = "f92cfa0fd5690b3cf8c1ef2cabbd9b7ef22fa53cf5e1f92b05103f6d5d1cf6e7" [[package]] name = "constant_time_eq" @@ -1221,16 +1167,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" [[package]] -name = "cpuid-bool" -version = "0.1.2" +name = "cpufeatures" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" - -[[package]] -name = "cpuid-bool" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" +checksum = "ed00c67cb5d0a7d64a44f6ad2668db7e7530311dd53ea79bcd4fb022c64911c8" +dependencies = [ + "libc", +] [[package]] name = "crc32fast" @@ -1358,6 +1301,16 @@ dependencies = [ "subtle 2.4.0", ] +[[package]] +name = "crypto-mac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e" +dependencies = [ + "generic-array 0.14.4", + "subtle 2.4.0", +] + [[package]] name = "csv" version = "1.1.6" @@ -1396,7 +1349,16 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" dependencies = [ - "cipher", + "cipher 0.2.5", +] + +[[package]] +name = "ctr" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a232f92a03f37dd7d7dd2adc67166c77e9cd88de5b019b9a9eecfaeaf7bfd481" +dependencies = [ + "cipher 0.3.0", ] [[package]] @@ -1411,24 +1373,24 @@ dependencies = [ [[package]] name = "curl" -version = "0.4.35" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a872858e9cb9e3b96c80dd78774ad9e32e44d3b05dc31e142b858d14aebc82c" +checksum = "003cb79c1c6d1c93344c7e1201bb51c2148f24ec2bd9c253709d6b2efb796515" dependencies = [ "curl-sys", "libc", "openssl-probe", "openssl-sys", "schannel", - "socket2 0.3.19", + "socket2 0.4.0", "winapi 0.3.9", ] [[package]] name = "curl-sys" -version = "0.4.42+curl-7.76.0" +version = "0.4.44+curl-7.77.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4636d8d6109c842707018a104051436bffb8991ea20b2d1293db70b6e0ee4c7c" +checksum = "4b6d85e9322b193f117c966e79c2d6929ec08c02f339f950044aba12e20bbaf1" dependencies = [ "cc", "libc", @@ -1494,18 +1456,19 @@ dependencies = [ "hex", "reqwest", "serde_json", - "sha2 0.9.3", + "sha2 0.9.5", "tree_hash", "types", ] [[package]] name = "der" -version = "0.1.0" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51f59c66c30bb7445c8320a5f9233e437e3572368099f25532a59054328899b4" +checksum = "2eeb9d92785d1facb50567852ce75d0858630630e7eabea59cf7eb7474051087" dependencies = [ "const-oid", + "typenum", ] [[package]] @@ -1532,9 +1495,9 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.13" +version = "0.99.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82b1b72f1263f214c0f823371768776c4f5841b942c9883aa8e5ec584fd0ba6" +checksum = "5cc7b9cef1e351660e5443924e4f43ab25fbbed3e9a5f052df3677deb4d6b320" dependencies = [ "convert_case", "proc-macro2", @@ -1642,65 +1605,34 @@ checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" [[package]] name = "discv5" -version = "0.1.0-beta.3" +version = "0.1.0-beta.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f52d2228d51e8f868a37d5b5b25b82c13552b635d5b47c3a5d53855a6fc4f0" +checksum = "64398d706a4be74770d79f8445dadace705bb91d47496bfe5c6324982ef9ad4a" dependencies = [ "aes-ctr", - "aes-gcm 0.8.0", - "arrayvec", + "aes-gcm", + "arrayvec 0.7.0", "digest 0.9.0", "enr", "fnv", - "futures 0.3.14", + "futures 0.3.15", "hex", "hkdf", - "k256", - "lazy_static", - "lru_time_cache", - "parking_lot", - "rand 0.7.3", - "rlp 0.5.0", - "sha2 0.9.3", - "smallvec", - "tokio 1.5.0", - "tokio-stream", - "tokio-util 0.6.6", - "tracing", - "tracing-subscriber", - "uint", - "zeroize", -] - -[[package]] -name = "discv5" -version = "0.1.0-beta.3" -source = "git+https://github.com/sigp/discv5?rev=02d2c896c66f8dc2b848c3996fedcd98e1dfec69#02d2c896c66f8dc2b848c3996fedcd98e1dfec69" -dependencies = [ - "aes-ctr", - "aes-gcm 0.8.0", - "arrayvec", - "digest 0.9.0", - "enr", - "fnv", - "futures 0.3.14", - "hex", - "hkdf", - "k256", "lazy_static", "libp2p-core", + "lru", "lru_time_cache", "parking_lot", - "rand 0.7.3", + "rand 0.8.3", "rlp 0.5.0", - "sha2 0.9.3", + "sha2 0.9.5", "smallvec", - "tokio 1.5.0", + "tokio 1.6.0", "tokio-stream", - "tokio-util 0.6.6", + "tokio-util 0.6.7", "tracing", "tracing-subscriber", - "uint", + "uint 0.9.0", "zeroize", ] @@ -1712,12 +1644,13 @@ checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" [[package]] name = "ecdsa" -version = "0.10.2" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fbdb4ff710acb4db8ca29f93b897529ea6d6a45626d5183b47e012aa6ae7e4" +checksum = "34d33b390ab82f2e1481e331dbd0530895640179d2128ef9a79cc690b78d1eba" dependencies = [ + "der", "elliptic-curve", - "hmac 0.10.1", + "hmac 0.11.0", "signature", ] @@ -1740,7 +1673,7 @@ dependencies = [ "ed25519", "rand 0.7.3", "serde", - "sha2 0.9.3", + "sha2 0.9.5", "zeroize", ] @@ -1775,18 +1708,16 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.8.5" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2db227e61a43a34915680bdda462ec0e212095518020a88a1f91acd16092c39" +checksum = "c13e9b0c3c4170dcc2a12783746c4205d98e18957f57854251eea3f9750fe005" dependencies = [ - "bitvec 0.18.5", - "digest 0.9.0", + "bitvec 0.20.4", "ff", - "funty", "generic-array 0.14.4", "group", "pkcs8", - "rand_core 0.5.1", + "rand_core 0.6.2", "subtle 2.4.0", "zeroize", ] @@ -1811,24 +1742,36 @@ dependencies = [ [[package]] name = "enr" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "264237bc285638466aef78b954837d8a05371425cb21447d6e31db89d06d7a1b" +checksum = "809869a1328bfb586b48c9c0f87761c47c41793a85bcb06f66074a87cafc1bcd" dependencies = [ - "base64 0.12.3", - "bs58 0.3.1", + "base64 0.13.0", + "bs58", "bytes 1.0.1", "ed25519-dalek", "hex", "k256", "log", - "rand 0.7.3", + "rand 0.8.3", "rlp 0.5.0", "serde", "sha3", "zeroize", ] +[[package]] +name = "enum-as-inner" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "env_logger" version = "0.7.1" @@ -1860,7 +1803,7 @@ dependencies = [ "eth2_config", "eth2_network_config", "exit-future", - "futures 0.3.14", + "futures 0.3.15", "logging", "parking_lot", "slog", @@ -1869,7 +1812,7 @@ dependencies = [ "slog-term", "sloggers", "task_executor", - "tokio 1.5.0", + "tokio 1.6.0", "types", ] @@ -1894,7 +1837,7 @@ dependencies = [ "eth2_ssz", "eth2_ssz_derive", "fallback", - "futures 0.3.14", + "futures 0.3.15", "hex", "lazy_static", "libflate", @@ -1909,7 +1852,7 @@ dependencies = [ "sloggers", "state_processing", "task_executor", - "tokio 1.5.0", + "tokio 1.6.0", "tokio-compat-02", "toml", "tree_hash", @@ -1922,9 +1865,9 @@ name = "eth1_test_rig" version = "0.2.0" dependencies = [ "deposit_contract", - "futures 0.3.14", + "futures 0.3.15", "serde_json", - "tokio 1.5.0", + "tokio 1.6.0", "tokio-compat-02", "types", "web3", @@ -1940,7 +1883,7 @@ dependencies = [ "eth2_libp2p", "eth2_ssz", "eth2_ssz_derive", - "futures 0.3.14", + "futures 0.3.15", "futures-util", "hex", "libsecp256k1", @@ -1973,7 +1916,7 @@ dependencies = [ "lazy_static", "ring", "rustc-hex", - "sha2 0.9.3", + "sha2 0.9.5", "wasm-bindgen-test", ] @@ -2000,7 +1943,7 @@ dependencies = [ "hex", "num-bigint-dig", "ring", - "sha2 0.9.3", + "sha2 0.9.5", "zeroize", ] @@ -2020,7 +1963,7 @@ dependencies = [ "serde", "serde_json", "serde_repr", - "sha2 0.9.3", + "sha2 0.9.5", "tempfile", "unicode-normalization", "uuid", @@ -2034,14 +1977,14 @@ dependencies = [ "base64 0.13.0", "directory", "dirs 3.0.2", - "discv5 0.1.0-beta.3 (git+https://github.com/sigp/discv5?rev=02d2c896c66f8dc2b848c3996fedcd98e1dfec69)", + "discv5", "error-chain", "eth2_ssz", "eth2_ssz_derive", "eth2_ssz_types", "exit-future", "fnv", - "futures 0.3.14", + "futures 0.3.15", "futures-io", "hashset_delay", "hex", @@ -2055,7 +1998,7 @@ dependencies = [ "regex", "serde", "serde_derive", - "sha2 0.9.3", + "sha2 0.9.5", "slog", "slog-async", "slog-term", @@ -2065,9 +2008,9 @@ dependencies = [ "task_executor", "tempfile", "tiny-keccak 2.0.2", - "tokio 1.5.0", + "tokio 1.6.0", "tokio-io-timeout", - "tokio-util 0.6.6", + "tokio-util 0.6.7", "types", "unsigned-varint 0.6.0", "void", @@ -2156,7 +2099,7 @@ dependencies = [ "serde", "serde_json", "tiny-keccak 1.5.0", - "uint", + "uint 0.8.5", ] [[package]] @@ -2183,7 +2126,7 @@ dependencies = [ "impl-rlp", "impl-serde", "primitive-types", - "uint", + "uint 0.8.5", ] [[package]] @@ -2198,7 +2141,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5" dependencies = [ - "futures 0.3.14", + "futures 0.3.15", ] [[package]] @@ -2237,20 +2180,20 @@ dependencies = [ [[package]] name = "ff" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01646e077d4ebda82b73f1bca002ea1e91561a77df2431a9e79729bcc31950ef" +checksum = "72a4d941a5b7c2a75222e2d44fcdf634a67133d9db31e177ae5ff6ecda852bfe" dependencies = [ - "bitvec 0.18.5", - "rand_core 0.5.1", + "bitvec 0.20.4", + "rand_core 0.6.2", "subtle 2.4.0", ] [[package]] name = "field-offset" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf539fba70056b50f40a22e0da30639518a12ee18c35807858a63b158cb6dde7" +checksum = "1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92" dependencies = [ "memoffset", "rustc_version 0.3.3", @@ -2383,9 +2326,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d5813545e459ad3ca1bff9915e9ad7f1a47dc6a91b627ce321d5863b7dd253" +checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27" dependencies = [ "futures-channel", "futures-core", @@ -2398,9 +2341,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce79c6a52a299137a6013061e0cf0e688fce5d7f1bc60125f520912fdb29ec25" +checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2" dependencies = [ "futures-core", "futures-sink", @@ -2408,15 +2351,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "098cd1c6dda6ca01650f1a37a794245eb73181d0d4d4e955e2f3c37db7af1815" +checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" [[package]] name = "futures-executor" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f6cb7042eda00f0049b1d2080aa4b93442997ee507eb3828e8bd7577f94c9d" +checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79" dependencies = [ "futures-core", "futures-task", @@ -2426,9 +2369,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "365a1a1fb30ea1c03a830fdb2158f5236833ac81fa0ad12fe35b29cddc35cb04" +checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1" [[package]] name = "futures-lite" @@ -2447,10 +2390,11 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668c6733a182cd7deb4f1de7ba3bf2120823835b3bcfbeacf7d2c4a773c1bb8b" +checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" dependencies = [ + "autocfg 1.0.1", "proc-macro-hack", "proc-macro2", "quote", @@ -2470,15 +2414,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5629433c555de3d82861a7a4e3794a4c40040390907cfbfd7143a92a426c23" +checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282" [[package]] name = "futures-task" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba7aa51095076f3ba6d9a1f702f74bd05ec65f555d70d2033d55ba8d69f581bc" +checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" [[package]] name = "futures-timer" @@ -2488,10 +2432,11 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c144ad54d60f23927f0a6b6d816e4271278b64f005ad65e4e35291d2de9c025" +checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" dependencies = [ + "autocfg 1.0.1", "futures-channel", "futures-core", "futures-io", @@ -2535,7 +2480,7 @@ dependencies = [ "eth2_hashing", "eth2_ssz", "exit-future", - "futures 0.3.14", + "futures 0.3.15", "int_to_bytes", "merkle_proof", "parking_lot", @@ -2545,7 +2490,7 @@ dependencies = [ "serde_derive", "slog", "state_processing", - "tokio 1.5.0", + "tokio 1.6.0", "tokio-compat-02", "tree_hash", "types", @@ -2564,9 +2509,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" dependencies = [ "cfg-if 1.0.0", "libc", @@ -2575,9 +2520,9 @@ dependencies = [ [[package]] name = "ghash" -version = "0.3.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +checksum = "5f6fb2a26dd2ebd268a68bc8e9acc9e67e487952f33384055a1cbe697514c64e" dependencies = [ "opaque-debug 0.3.0", "polyval", @@ -2585,9 +2530,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce" +checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189" [[package]] name = "git-version" @@ -2632,12 +2577,12 @@ dependencies = [ [[package]] name = "group" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc11f9f5fbf1943b48ae7c2bf6846e7d827a512d1be4f23af708f5ca5d01dde1" +checksum = "61b3c1e8b4f1ca07e6605ea1be903a5f6956aec5c8a67fd44d56076631675ed8" dependencies = [ "ff", - "rand_core 0.5.1", + "rand_core 0.6.2", "subtle 2.4.0", ] @@ -2675,8 +2620,8 @@ dependencies = [ "http", "indexmap", "slab", - "tokio 1.5.0", - "tokio-util 0.6.6", + "tokio 1.6.0", + "tokio-util 0.6.7", "tracing", ] @@ -2708,9 +2653,9 @@ dependencies = [ name = "hashset_delay" version = "0.2.0" dependencies = [ - "futures 0.3.14", - "tokio 1.5.0", - "tokio-util 0.6.6", + "futures 0.3.15", + "tokio 1.6.0", + "tokio-util 0.6.7", ] [[package]] @@ -2770,12 +2715,12 @@ checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" [[package]] name = "hkdf" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51ab2f639c231793c5f6114bdb9bbe50a7dbbfcd7c7c6bd8475dec2d991e964f" +checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b" dependencies = [ "digest 0.9.0", - "hmac 0.10.1", + "hmac 0.11.0", ] [[package]] @@ -2808,6 +2753,16 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +dependencies = [ + "crypto-mac 0.11.0", + "digest 0.9.0", +] + [[package]] name = "hmac-drbg" version = "0.2.0" @@ -2819,6 +2774,17 @@ dependencies = [ "hmac 0.7.1", ] +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi 0.3.9", +] + [[package]] name = "http" version = "0.2.4" @@ -2842,9 +2808,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfb77c123b4e2f72a2069aeae0b4b4949cc7e966df277813fc16347e7549737" +checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9" dependencies = [ "bytes 1.0.1", "http", @@ -2856,15 +2822,14 @@ name = "http_api" version = "0.1.0" dependencies = [ "beacon_chain", - "bs58 0.4.0", - "discv5 0.1.0-beta.3 (git+https://github.com/sigp/discv5?rev=02d2c896c66f8dc2b848c3996fedcd98e1dfec69)", + "bs58", "environment", "eth1", "eth2", "eth2_libp2p", "eth2_ssz", "fork_choice", - "futures 0.3.14", + "futures 0.3.15", "hex", "lazy_static", "lighthouse_metrics", @@ -2877,9 +2842,9 @@ dependencies = [ "slot_clock", "state_processing", "store", - "tokio 1.5.0", + "tokio 1.6.0", "tokio-stream", - "tokio-util 0.6.6", + "tokio-util 0.6.7", "tree_hash", "types", "warp", @@ -2904,7 +2869,7 @@ dependencies = [ "slog", "slot_clock", "store", - "tokio 1.5.0", + "tokio 1.6.0", "types", "warp", "warp_utils", @@ -2912,9 +2877,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1ce40d6fc9764887c2fdc7305c3dcc429ba11ff981c1509416afd5697e4437" +checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" [[package]] name = "httpdate" @@ -2924,9 +2889,9 @@ checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47" [[package]] name = "httpdate" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05842d0d43232b23ccb7060ecb0f0626922c21f30012e97b767b30afd4a5d4b9" +checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" [[package]] name = "httpmock" @@ -2942,7 +2907,7 @@ dependencies = [ "crossbeam-utils", "difference", "futures-util", - "hyper 0.14.7", + "hyper 0.14.8", "isahc", "lazy_static", "levenshtein", @@ -2952,7 +2917,7 @@ dependencies = [ "serde", "serde_json", "serde_regex", - "tokio 1.5.0", + "tokio 1.6.0", ] [[package]] @@ -2987,9 +2952,9 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.7" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e5f105c494081baa3bf9e200b279e27ec1623895cd504c7dbef8d0b080fcf54" +checksum = "d3f71a7eea53a3f8257a7b4795373ff886397178cd634430ea94e12d7fe4fe34" dependencies = [ "bytes 1.0.1", "futures-channel", @@ -2997,13 +2962,13 @@ dependencies = [ "futures-util", "h2 0.3.3", "http", - "http-body 0.4.1", + "http-body 0.4.2", "httparse", - "httpdate 1.0.0", + "httpdate 1.0.1", "itoa", "pin-project 1.0.7", "socket2 0.4.0", - "tokio 1.5.0", + "tokio 1.6.0", "tower-service", "tracing", "want", @@ -3016,7 +2981,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f93ec5be69758dfc06b9b29efa9d6e9306e387c85eb362c603912eead2ad98c7" dependencies = [ "bytes 0.5.6", - "futures 0.3.14", + "futures 0.3.15", "http", "hyper 0.13.10", "hyper-tls 0.4.3", @@ -3047,9 +3012,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes 1.0.1", - "hyper 0.14.7", + "hyper 0.14.8", "native-tls", - "tokio 1.5.0", + "tokio 1.6.0", "tokio-native-tls", ] @@ -3085,22 +3050,6 @@ dependencies = [ "libc", ] -[[package]] -name = "if-watch" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b8538953a3f0d0d3868f0a706eb4273535e10d72acb5c82c1c23ae48835c85" -dependencies = [ - "async-io", - "futures 0.3.14", - "futures-lite", - "if-addrs", - "ipnet", - "libc", - "log", - "winapi 0.3.9", -] - [[package]] name = "igd" version = "0.11.1" @@ -3196,6 +3145,18 @@ dependencies = [ "libc", ] +[[package]] +name = "ipconfig" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" +dependencies = [ + "socket2 0.3.19", + "widestring", + "winapi 0.3.9", + "winreg 0.6.2", +] + [[package]] name = "ipnet" version = "2.3.0" @@ -3204,15 +3165,16 @@ checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135" [[package]] name = "isahc" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bd9294f1ecdda747b8a092b07873285e613adc14e9c9526205eacedcf3ecd2b" +checksum = "81c01404730bb4574bbacb59ca0855f969f8eabd688ca22866f2cc333f1a4f69" dependencies = [ "async-channel", "crossbeam-utils", "curl", "curl-sys", "encoding_rs", + "event-listener", "futures-lite", "http", "log", @@ -3253,9 +3215,9 @@ checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" [[package]] name = "js-sys" -version = "0.3.50" +version = "0.3.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d99f9e3e84b8f67f846ef5b4cbbc3b1c29f6c759fcbce6f01aa0e73d932a24c" +checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062" dependencies = [ "wasm-bindgen", ] @@ -3275,14 +3237,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.7.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4476a0808212a9e81ce802eb1a0cfc60e73aea296553bacc0fac7e1268bc572a" +checksum = "8c3e8e491ed22bc161583a1c77e42313672c483eba6bd9d7afec0f1131d0b9ce" dependencies = [ "cfg-if 1.0.0", "ecdsa", "elliptic-curve", - "sha2 0.9.3", + "sha2 0.9.5", ] [[package]] @@ -3369,7 +3331,7 @@ dependencies = [ "eth2_network_config", "eth2_ssz", "eth2_wallet", - "futures 0.3.14", + "futures 0.3.15", "genesis", "hex", "lighthouse_version", @@ -3381,7 +3343,7 @@ dependencies = [ "serde_yaml", "simple_logger", "state_processing", - "tokio 1.5.0", + "tokio 1.6.0", "tree_hash", "types", "validator_dir", @@ -3418,9 +3380,9 @@ checksum = "db13adb97ab515a3691f56e4dbab09283d0b86cb45abd991d8634a9d6f501760" [[package]] name = "libc" -version = "0.2.94" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e" +checksum = "789da6d93f1b866ffe175afc5322a4d76c038605a1c3319bb57b06967ca98a36" [[package]] name = "libflate" @@ -3460,13 +3422,13 @@ dependencies = [ [[package]] name = "libp2p" -version = "0.35.1" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc225a49973cf9ab10d0cdd6a4b8f0cda299df9b760824bbb623f15f8f0c95a" +checksum = "ebbb17eece4aec5bb970880c73825c16ca59ca05a4e41803751e68c7e5f0c618" dependencies = [ "atomic", "bytes 1.0.1", - "futures 0.3.14", + "futures 0.3.15", "lazy_static", "libp2p-core", "libp2p-dns", @@ -3488,16 +3450,16 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.27.1" +version = "0.28.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2d56aadc2c2bf22cd7797f86e56a65b5b3994a0136b65be3106938acae7a26" +checksum = "554d3e7e9e65f939d66b75fd6a4c67f258fe250da61b91f46c545fc4a89b51d9" dependencies = [ "asn1_der", - "bs58 0.4.0", + "bs58", "ed25519-dalek", "either", "fnv", - "futures 0.3.14", + "futures 0.3.15", "futures-timer", "lazy_static", "libsecp256k1", @@ -3512,7 +3474,7 @@ dependencies = [ "rand 0.7.3", "ring", "rw-stream-sink", - "sha2 0.9.3", + "sha2 0.9.5", "smallvec", "thiserror", "unsigned-varint 0.7.0", @@ -3522,27 +3484,29 @@ dependencies = [ [[package]] name = "libp2p-dns" -version = "0.27.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5153b6db68fd4baa3b304e377db744dd8fea8ff4e4504509ee636abcde88d3e3" +checksum = "62e63dab8b5ff35e0c101a3e51e843ba782c07bbb1682f5fd827622e0d02b98b" dependencies = [ - "futures 0.3.14", + "futures 0.3.15", "libp2p-core", "log", + "smallvec", + "trust-dns-resolver", ] [[package]] name = "libp2p-gossipsub" -version = "0.28.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "502dc5fcbfec4aa1c63ef3f7307ffe20e90c1a1387bf23ed0bec087f2dde58a1" +checksum = "e562308761818b0c52f2a81a0544b9c22d0cf56d7b2d928a0ff61382404498ce" dependencies = [ "asynchronous-codec", "base64 0.13.0", "byteorder", "bytes 1.0.1", "fnv", - "futures 0.3.14", + "futures 0.3.15", "hex_fmt", "libp2p-core", "libp2p-swarm", @@ -3551,7 +3515,7 @@ dependencies = [ "prost-build", "rand 0.7.3", "regex", - "sha2 0.9.3", + "sha2 0.9.5", "smallvec", "unsigned-varint 0.7.0", "wasm-timer", @@ -3559,11 +3523,11 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.27.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40fb36a059b7a8cce1514bd8b546fa612e006c9937caa7f5950cb20021fe91e" +checksum = "5f668f00efd9883e8b7bcc582eaf0164615792608f886f6577da18bcbeea0a46" dependencies = [ - "futures 0.3.14", + "futures 0.3.15", "libp2p-core", "libp2p-swarm", "log", @@ -3575,13 +3539,13 @@ dependencies = [ [[package]] name = "libp2p-mplex" -version = "0.27.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350ce8b3923594aedabd5d6e3f875d058435052a29c3f32df378bc70d10be464" +checksum = "85e9b544335d1ed30af71daa96edbefadef6f19c7a55f078b9fc92c87163105d" dependencies = [ "asynchronous-codec", "bytes 1.0.1", - "futures 0.3.14", + "futures 0.3.15", "libp2p-core", "log", "nohash-hasher", @@ -3593,20 +3557,20 @@ dependencies = [ [[package]] name = "libp2p-noise" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aca322b52a0c5136142a7c3971446fb1e9964923a526c9cc6ef3b7c94e57778" +checksum = "57a2aa6fc4e6855eaf9ea1941a14f7ec4df35636fb6b85951e17481df8dcecf6" dependencies = [ "bytes 1.0.1", "curve25519-dalek", - "futures 0.3.14", + "futures 0.3.15", "lazy_static", "libp2p-core", "log", "prost", "prost-build", - "rand 0.7.3", - "sha2 0.9.3", + "rand 0.8.3", + "sha2 0.9.5", "snow", "static_assertions", "x25519-dalek", @@ -3615,12 +3579,12 @@ dependencies = [ [[package]] name = "libp2p-swarm" -version = "0.27.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7955b973e1fd2bd61ffd43ce261c1223f61f4aacd5bae362a924993f9a25fd98" +checksum = "1e04d8e1eef675029ec728ba14e8d0da7975d84b6679b699b4ae91a1de9c3a92" dependencies = [ "either", - "futures 0.3.14", + "futures 0.3.15", "libp2p-core", "log", "rand 0.7.3", @@ -3631,9 +3595,9 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c564ebaa36a64839f51eaddb0243aaaa29ce64affb56129193cc3248b72af273" +checksum = "365b0a699fea5168676840567582a012ea297b1ca02eee467e58301b9c9c5eed" dependencies = [ "quote", "syn", @@ -3641,31 +3605,29 @@ dependencies = [ [[package]] name = "libp2p-tcp" -version = "0.27.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a5aef80e519a6cb8e2663605142f97baaaea1a252eecbf8756184765f7471b" +checksum = "2b1a27d21c477951799e99d5c105d78868258502ce092988040a808d5a19bbd9" dependencies = [ - "async-io", - "futures 0.3.14", + "futures 0.3.15", "futures-timer", "if-addrs", - "if-watch", "ipnet", "libc", "libp2p-core", "log", - "socket2 0.3.19", - "tokio 1.5.0", + "socket2 0.4.0", + "tokio 1.6.0", ] [[package]] name = "libp2p-websocket" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b1c6a3431045da8b925ed83384e4c5163e14b990572307fca9c507435d4d22" +checksum = "cace60995ef6f637e4752cccbb2590f6bc358e8741a0d066307636c69a4b3a74" dependencies = [ "either", - "futures 0.3.14", + "futures 0.3.15", "futures-rustls", "libp2p-core", "log", @@ -3678,11 +3640,11 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.30.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4819358c542a86ff95f6ae691efb4b94ddaf477079b01a686f5705b79bfc232a" +checksum = "f35da42cfc6d5cb0dcf3ad6881bc68d146cdf38f98655e09e33fbba4d13eabc4" dependencies = [ - "futures 0.3.14", + "futures 0.3.15", "libp2p-core", "parking_lot", "thiserror", @@ -3744,7 +3706,7 @@ dependencies = [ "environment", "eth2_libp2p", "eth2_network_config", - "futures 0.3.14", + "futures 0.3.15", "lazy_static", "lighthouse_metrics", "lighthouse_version", @@ -3759,7 +3721,7 @@ dependencies = [ "sloggers", "task_executor", "tempfile", - "tokio 1.5.0", + "tokio 1.6.0", "types", "validator_client", "validator_dir", @@ -3856,6 +3818,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "lru-cache" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +dependencies = [ + "linked-hash-map", +] + [[package]] name = "lru_cache" version = "0.1.0" @@ -3895,6 +3866,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + [[package]] name = "matchers" version = "0.0.1" @@ -3918,9 +3895,9 @@ checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" [[package]] name = "memoffset" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83fb6581e8ed1f85fd45c116db8405483899489e38406156c25eb743554361d" +checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" dependencies = [ "autocfg 1.0.1", ] @@ -4056,7 +4033,7 @@ name = "monitoring_api" version = "0.1.0" dependencies = [ "eth2", - "futures 0.3.14", + "futures 0.3.15", "lazy_static", "lighthouse_metrics", "lighthouse_version", @@ -4069,7 +4046,7 @@ dependencies = [ "slog", "store", "task_executor", - "tokio 1.5.0", + "tokio 1.6.0", ] [[package]] @@ -4081,15 +4058,15 @@ dependencies = [ "digest 0.9.0", "generic-array 0.14.4", "multihash-derive", - "sha2 0.9.3", + "sha2 0.9.5", "unsigned-varint 0.5.1", ] [[package]] name = "multihash-derive" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85ee3c48cb9d9b275ad967a0e96715badc13c6029adb92f34fa17b9ff28fd81f" +checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99" dependencies = [ "proc-macro-crate", "proc-macro-error", @@ -4130,7 +4107,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d91ec0a2440aaff5f78ec35631a7027d50386c6163aa975f7caa0d5da4b6ff8" dependencies = [ "bytes 1.0.1", - "futures 0.3.14", + "futures 0.3.15", "log", "pin-project 1.0.7", "smallvec", @@ -4171,7 +4148,6 @@ name = "network" version = "0.2.0" dependencies = [ "beacon_chain", - "discv5 0.1.0-beta.3 (registry+https://github.com/rust-lang/crates.io-index)", "environment", "error-chain", "eth2_libp2p", @@ -4179,7 +4155,7 @@ dependencies = [ "eth2_ssz_types", "exit-future", "fnv", - "futures 0.3.14", + "futures 0.3.15", "genesis", "hashset_delay", "hex", @@ -4206,9 +4182,9 @@ dependencies = [ "strum", "task_executor", "tempfile", - "tokio 1.5.0", + "tokio 1.6.0", "tokio-stream", - "tokio-util 0.6.6", + "tokio-util 0.6.7", "tree_hash", "types", ] @@ -4252,7 +4228,7 @@ dependencies = [ "environment", "eth2", "eth2_config", - "futures 0.3.14", + "futures 0.3.15", "genesis", "reqwest", "sensitive_url", @@ -4357,9 +4333,9 @@ dependencies = [ [[package]] name = "object" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4" +checksum = "1a5b3dd1c072ee7963717671d1ca129f1048fda25edea6b752bfc71ac8854170" [[package]] name = "once_cell" @@ -4404,9 +4380,9 @@ dependencies = [ [[package]] name = "openssl-probe" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" +checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" [[package]] name = "openssl-src" @@ -4419,9 +4395,9 @@ dependencies = [ [[package]] name = "openssl-sys" -version = "0.9.62" +version = "0.9.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52160d45fa2e7608d504b7c3a3355afed615e6d8b627a74458634ba21b69bd" +checksum = "b6b0d6fb7d80f877617dfcb014e605e2b5ab2fb0afdf27935219bb6bd984cb98" dependencies = [ "autocfg 1.0.1", "cc", @@ -4458,7 +4434,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58341485071825827b7f03cf7efd1cb21e6a709bea778fb50227fd45d2f361b4" dependencies = [ "arrayref", - "bs58 0.4.0", + "bs58", "byteorder", "data-encoding", "multihash", @@ -4475,7 +4451,7 @@ version = "1.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4b26b16c7687c3075982af47719e481815df30bc544f7a6690763a25ca16e9d" dependencies = [ - "arrayvec", + "arrayvec 0.5.2", "bitvec 0.17.4", "byte-slice-cast", "serde", @@ -4507,7 +4483,7 @@ dependencies = [ "cfg-if 1.0.0", "instant", "libc", - "redox_syscall 0.2.7", + "redox_syscall 0.2.8", "smallvec", "winapi 0.3.9", ] @@ -4630,11 +4606,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.3.3" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4839a901843f3942576e65857f0ebf2e190ef7024d3c62a94099ba3f819ad1d" +checksum = "c9c2f795bc591cb3384cb64082a578b89207ac92bb89c9d98c1ea2ace7cd8110" dependencies = [ "der", + "spki", ] [[package]] @@ -4651,9 +4628,9 @@ checksum = "feb3b2b1033b8a60b4da6ee470325f887758c95d5320f52f9ce0df055a55940e" [[package]] name = "plotters" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ca0ae5f169d0917a7c7f5a9c1a3d3d9598f18f529dd2b8373ed988efea307a" +checksum = "32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a" dependencies = [ "num-traits", "plotters-backend", @@ -4692,21 +4669,22 @@ dependencies = [ [[package]] name = "poly1305" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b7456bc1ad2d4cf82b3a016be4c2ac48daf11bf990c1603ebd447fe6f30fca8" +checksum = "4fe800695325da85083cd23b56826fccb2e2dc29b218e7811a6f33bc93f414be" dependencies = [ - "cpuid-bool 0.2.0", + "cpufeatures", + "opaque-debug 0.3.0", "universal-hash", ] [[package]] name = "polyval" -version = "0.4.5" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +checksum = "864231b0b86ce05168a8e6da0fea2e67275dacf25f75b00a62cfd341aab904a9" dependencies = [ - "cpuid-bool 0.2.0", + "cpufeatures", "opaque-debug 0.3.0", "universal-hash", ] @@ -4733,15 +4711,16 @@ dependencies = [ "impl-codec", "impl-rlp", "impl-serde", - "uint", + "uint 0.8.5", ] [[package]] name = "proc-macro-crate" -version = "0.1.5" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92" dependencies = [ + "thiserror", "toml", ] @@ -4783,9 +4762,9 @@ checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" [[package]] name = "proc-macro2" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" dependencies = [ "unicode-xid", ] @@ -4996,6 +4975,12 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8" +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + [[package]] name = "rand" version = "0.7.3" @@ -5056,7 +5041,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7" dependencies = [ - "getrandom 0.2.2", + "getrandom 0.2.3", ] [[package]] @@ -5088,9 +5073,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674" +checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" dependencies = [ "autocfg 1.0.1", "crossbeam-deque", @@ -5100,9 +5085,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a" +checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -5119,9 +5104,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_syscall" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85dd92e586f7355c633911e11f77f3d12f04b1b1bd76a198bd34ae3af8341ef2" +checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc" dependencies = [ "bitflags", ] @@ -5143,15 +5128,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" dependencies = [ - "getrandom 0.2.2", - "redox_syscall 0.2.7", + "getrandom 0.2.3", + "redox_syscall 0.2.8", ] [[package]] name = "regex" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce5f1ceb7f74abbce32601642fcf8e8508a8a8991e0621c7d750295b9095702b" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" dependencies = [ "aho-corasick", "memchr", @@ -5212,8 +5197,8 @@ version = "0.2.0" dependencies = [ "clap", "environment", - "futures 0.3.14", - "hyper 0.14.7", + "futures 0.3.15", + "hyper 0.14.8", "lazy_static", "regex", "remote_signer_backend", @@ -5233,7 +5218,7 @@ dependencies = [ "reqwest", "sensitive_url", "serde", - "tokio 1.5.0", + "tokio 1.6.0", "types", ] @@ -5252,7 +5237,7 @@ dependencies = [ "serde", "serde_json", "tempfile", - "tokio 1.5.0", + "tokio 1.6.0", "types", "winapi 0.3.9", "windows-acl", @@ -5279,8 +5264,8 @@ dependencies = [ "futures-core", "futures-util", "http", - "http-body 0.4.1", - "hyper 0.14.7", + "http-body 0.4.2", + "hyper 0.14.8", "hyper-tls 0.5.0", "ipnet", "js-sys", @@ -5293,13 +5278,23 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "tokio 1.5.0", + "tokio 1.6.0", "tokio-native-tls", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg", + "winreg 0.7.0", +] + +[[package]] +name = "resolv-conf" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" +dependencies = [ + "hostname", + "quick-error", ] [[package]] @@ -5430,9 +5425,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb5d2a036dc6d2d8fd16fde3498b04306e29bd193bf306a57427019b823d5acd" +checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088" [[package]] name = "rw-stream-sink" @@ -5440,7 +5435,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020" dependencies = [ - "futures 0.3.14", + "futures 0.3.15", "pin-project 0.4.28", "static_assertions", ] @@ -5467,7 +5462,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "399f290ffc409596022fce5ea5d4138184be4784f2b28c62c59f0d8389059a15" dependencies = [ - "cipher", + "cipher 0.2.5", ] [[package]] @@ -5519,7 +5514,7 @@ dependencies = [ "hmac 0.10.1", "pbkdf2 0.6.0", "salsa20", - "sha2 0.9.3", + "sha2 0.9.5", ] [[package]] @@ -5616,9 +5611,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.125" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171" +checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" dependencies = [ "serde_derive", ] @@ -5635,9 +5630,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.125" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d" +checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" dependencies = [ "proc-macro2", "quote", @@ -5667,9 +5662,9 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc6b7951b17b051f3210b063f12cc17320e2fe30ae05b0fe2a3abb068551c76" +checksum = "98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5" dependencies = [ "proc-macro2", "quote", @@ -5712,13 +5707,13 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.4" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfebf75d25bd900fd1e7d11501efab59bc846dbc76196839663e6637bba9f25f" +checksum = "8c4cfa741c5832d0ef7fab46cabed29c2aae926db0b11bb2069edd8db5e64e16" dependencies = [ "block-buffer 0.9.0", "cfg-if 1.0.0", - "cpuid-bool 0.1.2", + "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", ] @@ -5743,13 +5738,13 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa827a14b29ab7f44778d14a88d3cb76e949c45083f7dbfa507d0cb699dc12de" +checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ "block-buffer 0.9.0", "cfg-if 1.0.0", - "cpuid-bool 0.1.2", + "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", ] @@ -5796,12 +5791,12 @@ dependencies = [ [[package]] name = "signature" -version = "1.2.2" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29f060a7d147e33490ec10da418795238fd7545bba241504d6b31a409f2e6210" +checksum = "0f0242b8e50dd9accdd56170e94ca1ebd223b098eb9c83539a6e367d0f36ae68" dependencies = [ "digest 0.9.0", - "rand_core 0.5.1", + "rand_core 0.6.2", ] [[package]] @@ -5825,12 +5820,12 @@ dependencies = [ "env_logger 0.8.3", "eth1", "eth1_test_rig", - "futures 0.3.14", + "futures 0.3.15", "node_test_rig", "parking_lot", "rayon", "sensitive_url", - "tokio 1.5.0", + "tokio 1.6.0", "types", "validator_client", ] @@ -5889,7 +5884,7 @@ dependencies = [ "slot_clock", "state_processing", "task_executor", - "tokio 1.5.0", + "tokio 1.6.0", "tokio-stream", "types", ] @@ -6042,18 +6037,18 @@ checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451" [[package]] name = "snow" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "795dd7aeeee24468e5a32661f6d27f7b5cbed802031b2d7640c7b10f8fb2dd50" +checksum = "6142f7c25e94f6fd25a32c3348ec230df9109b463f59c8c7acc4bd34936babb7" dependencies = [ - "aes-gcm 0.7.0", + "aes-gcm", "blake2", "chacha20poly1305", - "rand 0.7.3", - "rand_core 0.5.1", + "rand 0.8.3", + "rand_core 0.6.2", "ring", - "rustc_version 0.2.3", - "sha2 0.9.3", + "rustc_version 0.3.3", + "sha2 0.9.5", "subtle 2.4.0", "x25519-dalek", ] @@ -6088,7 +6083,7 @@ dependencies = [ "base64 0.12.3", "bytes 0.5.6", "flate2", - "futures 0.3.14", + "futures 0.3.15", "httparse", "log", "rand 0.7.3", @@ -6101,6 +6096,15 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spki" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dae7e047abc519c96350e9484a96c6bf1492348af912fd3446dd2dc323f6268" +dependencies = [ + "der", +] + [[package]] name = "standback" version = "0.2.17" @@ -6227,16 +6231,6 @@ dependencies = [ "types", ] -[[package]] -name = "stream-cipher" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c80e15f898d8d8f25db24c253ea615cc14acf418ff307822995814e7d42cfa89" -dependencies = [ - "block-cipher", - "generic-array 0.14.4", -] - [[package]] name = "string_cache" version = "0.8.1" @@ -6299,9 +6293,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad184cc9470f9117b2ac6817bfe297307418819ba40552f9b3846f05c33d5373" +checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82" dependencies = [ "proc-macro2", "quote", @@ -6343,11 +6337,11 @@ name = "task_executor" version = "0.1.0" dependencies = [ "exit-future", - "futures 0.3.14", + "futures 0.3.15", "lazy_static", "lighthouse_metrics", "slog", - "tokio 1.5.0", + "tokio 1.6.0", ] [[package]] @@ -6359,7 +6353,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "rand 0.8.3", - "redox_syscall 0.2.7", + "redox_syscall 0.2.8", "remove_dir_all", "winapi 0.3.9", ] @@ -6414,18 +6408,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e" +checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0" +checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" dependencies = [ "proc-macro2", "quote", @@ -6503,12 +6497,12 @@ name = "timer" version = "0.2.0" dependencies = [ "beacon_chain", - "futures 0.3.14", + "futures 0.3.15", "parking_lot", "slog", "slot_clock", "task_executor", - "tokio 1.5.0", + "tokio 1.6.0", "types", ] @@ -6524,7 +6518,7 @@ dependencies = [ "pbkdf2 0.4.0", "rand 0.7.3", "rustc-hash", - "sha2 0.9.3", + "sha2 0.9.5", "thiserror", "unicode-normalization", "zeroize", @@ -6610,9 +6604,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83f0c8e7c0addab50b663055baf787d0af7f413a46e6e7fb9559a4e4db7137a5" +checksum = "bd3076b5c8cc18138b8f8814895c11eb4de37114a5d127bafdc5e55798ceef37" dependencies = [ "autocfg 1.0.1", "bytes 1.0.1", @@ -6624,7 +6618,7 @@ dependencies = [ "parking_lot", "pin-project-lite 0.2.6", "signal-hook-registry", - "tokio-macros 1.1.0", + "tokio-macros 1.2.0", "winapi 0.3.9", ] @@ -6648,7 +6642,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90c49f106be240de154571dd31fbe48acb10ba6c6dd6f6517ad603abffa42de9" dependencies = [ "pin-project-lite 0.2.6", - "tokio 1.5.0", + "tokio 1.6.0", ] [[package]] @@ -6664,9 +6658,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf7b11a536f46a809a8a9f0bb4237020f70ecbf115b842360afb127ea2fda57" +checksum = "c49e3df43841dafb86046472506755d8501c5615673955f6aa17181125d13c37" dependencies = [ "proc-macro2", "quote", @@ -6680,19 +6674,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" dependencies = [ "native-tls", - "tokio 1.5.0", + "tokio 1.6.0", ] [[package]] name = "tokio-stream" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e177a5d8c3bf36de9ebe6d58537d8879e964332f93fb3339e43f618c81361af0" +checksum = "f8864d706fdb3cc0843a49647ac892720dac98a6eeb818b77190592cf4994066" dependencies = [ "futures-core", "pin-project-lite 0.2.6", - "tokio 1.5.0", - "tokio-util 0.6.6", + "tokio 1.6.0", + "tokio-util 0.6.7", ] [[package]] @@ -6714,7 +6708,7 @@ dependencies = [ "futures-util", "log", "pin-project 1.0.7", - "tokio 1.5.0", + "tokio 1.6.0", "tungstenite", ] @@ -6749,9 +6743,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "940a12c99365c31ea8dd9ba04ec1be183ffe4920102bb7122c2f515437601e8e" +checksum = "1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592" dependencies = [ "bytes 1.0.1", "futures-core", @@ -6760,7 +6754,7 @@ dependencies = [ "log", "pin-project-lite 0.2.6", "slab", - "tokio 1.5.0", + "tokio 1.6.0", ] [[package]] @@ -6905,6 +6899,51 @@ dependencies = [ "syn", ] +[[package]] +name = "trust-dns-proto" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0d7f5db438199a6e2609debe3f69f808d074e0a2888ee0bccb45fe234d03f4" +dependencies = [ + "async-trait", + "cfg-if 1.0.0", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna", + "ipnet", + "lazy_static", + "log", + "rand 0.8.3", + "smallvec", + "thiserror", + "tinyvec", + "tokio 1.6.0", + "url", +] + +[[package]] +name = "trust-dns-resolver" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ad17b608a64bd0735e67bde16b0636f8aa8591f831a25d18443ed00a699770" +dependencies = [ + "cfg-if 1.0.0", + "futures-util", + "ipconfig", + "lazy_static", + "log", + "lru-cache", + "parking_lot", + "resolv-conf", + "smallvec", + "thiserror", + "tokio 1.6.0", + "trust-dns-proto", +] + [[package]] name = "try-lock" version = "0.2.3" @@ -7018,6 +7057,18 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "uint" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e11fe9a9348741cf134085ad57c249508345fe16411b3d7fb4ff2da2f1d6382e" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + [[package]] name = "unescape" version = "0.1.0" @@ -7092,7 +7143,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35581ff83d4101e58b582e607120c7f5ffb17e632a980b1f38334d76b36908b2" dependencies = [ "bytes 1.0.1", - "tokio-util 0.6.6", + "tokio-util 0.6.7", ] [[package]] @@ -7113,9 +7164,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" dependencies = [ "form_urlencoded", "idna", @@ -7135,7 +7186,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.2", + "getrandom 0.2.3", "serde", ] @@ -7161,9 +7212,9 @@ dependencies = [ "exit-future", "fallback", "filesystem", - "futures 0.3.14", + "futures 0.3.15", "hex", - "hyper 0.14.7", + "hyper 0.14.8", "lazy_static", "libc", "libsecp256k1", @@ -7190,7 +7241,7 @@ dependencies = [ "slog-term", "slot_clock", "tempfile", - "tokio 1.5.0", + "tokio 1.6.0", "tree_hash", "types", "validator_dir", @@ -7219,18 +7270,19 @@ dependencies = [ [[package]] name = "value-bag" -version = "1.0.0-alpha.6" +version = "1.0.0-alpha.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b676010e055c99033117c2343b33a40a30b91fecd6c49055ac9cd2d6c305ab1" +checksum = "dd320e1520f94261153e96f7534476ad869c14022aee1e59af7c778075d840ae" dependencies = [ "ctor", + "version_check", ] [[package]] name = "vcpkg" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbdbff6266a24120518560b5dc983096efb98462e51d0d68169895b237be3e5d" +checksum = "025ce40a007e1907e58d5bc1a594def78e5573bb0b1160bc389634e8f12e4faa" [[package]] name = "vec_map" @@ -7283,10 +7335,10 @@ version = "0.3.0" source = "git+https://github.com/paulhauner/warp?branch=cors-wildcard#1f7daf462e6286fe5fd1743f7b788227efd3fa5c" dependencies = [ "bytes 1.0.1", - "futures 0.3.14", + "futures 0.3.15", "headers", "http", - "hyper 0.14.7", + "hyper 0.14.8", "log", "mime", "mime_guess", @@ -7297,10 +7349,10 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "tokio 1.5.0", + "tokio 1.6.0", "tokio-stream", "tokio-tungstenite", - "tokio-util 0.6.6", + "tokio-util 0.6.7", "tower-service", "tracing", "tracing-futures", @@ -7318,7 +7370,7 @@ dependencies = [ "safe_arith", "serde", "state_processing", - "tokio 1.5.0", + "tokio 1.6.0", "types", "warp", ] @@ -7337,9 +7389,9 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasm-bindgen" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83240549659d187488f91f33c0f8547cbfef0b2088bc470c116d1d260ef623d9" +checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" dependencies = [ "cfg-if 1.0.0", "serde", @@ -7349,9 +7401,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae70622411ca953215ca6d06d3ebeb1e915f0f6613e3b495122878d7ebec7dae" +checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" dependencies = [ "bumpalo", "lazy_static", @@ -7364,9 +7416,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.23" +version = "0.4.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b8b767af23de6ac18bf2168b690bed2902743ddf0fb39252e36f9e2bfc63ea" +checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -7376,9 +7428,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e734d91443f177bfdb41969de821e15c516931c3c3db3d318fa1b68975d0f6f" +checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7386,9 +7438,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53739ff08c8a68b0fdbcd54c372b8ab800b1449ab3c9d706503bc7dd1621b2c" +checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" dependencies = [ "proc-macro2", "quote", @@ -7399,15 +7451,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9a543ae66aa233d14bb765ed9af4a33e81b8b58d1584cf1b47ff8cd0b9e4489" +checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" [[package]] name = "wasm-bindgen-test" -version = "0.3.23" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e972e914de63aa53bd84865e54f5c761bd274d48e5be3a6329a662c0386aa67a" +checksum = "8cab416a9b970464c2882ed92d55b0c33046b08e0bdc9d59b3b718acd4e1bae8" dependencies = [ "console_error_panic_hook", "js-sys", @@ -7419,9 +7471,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-test-macro" -version = "0.3.23" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6153a8f9bf24588e9f25c87223414fff124049f68d3a442a0f0eab4768a8b6" +checksum = "dd4543fc6cf3541ef0d98bf720104cc6bd856d7eba449fd2aa365ef4fed0e782" dependencies = [ "proc-macro2", "quote", @@ -7433,7 +7485,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" dependencies = [ - "futures 0.3.14", + "futures 0.3.15", "js-sys", "parking_lot", "pin-utils", @@ -7444,9 +7496,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.50" +version = "0.3.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a905d57e488fec8861446d3393670fb50d27a262344013181c2cdf9fff5481be" +checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582" dependencies = [ "js-sys", "wasm-bindgen", @@ -7458,13 +7510,13 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c736dcabf7a4d4b9e724ff6696914e205cb37f111a54903b17f76c20d59f7e6" dependencies = [ - "arrayvec", + "arrayvec 0.5.2", "async-native-tls", "base64 0.13.0", "derive_more", "ethabi", "ethereum-types", - "futures 0.3.14", + "futures 0.3.15", "futures-timer", "hex", "hyper 0.13.10", @@ -7586,6 +7638,15 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "winreg" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" +dependencies = [ + "winapi 0.3.9", +] + [[package]] name = "winreg" version = "0.7.0" @@ -7648,15 +7709,15 @@ dependencies = [ [[package]] name = "yamux" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cc7bd8c983209ed5d527f44b01c41b7dc146fd960c61cf9e1d25399841dc271" +checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107" dependencies = [ - "futures 0.3.14", + "futures 0.3.15", "log", "nohash-hasher", "parking_lot", - "rand 0.7.3", + "rand 0.8.3", "static_assertions", ] diff --git a/Dockerfile b/Dockerfile index bc4430779..74414bef4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM rust:1.50.0 AS builder +FROM rust:1.52.1 AS builder RUN apt-get update && apt-get install -y cmake COPY . lighthouse ARG PORTABLE diff --git a/beacon_node/eth2_libp2p/Cargo.toml b/beacon_node/eth2_libp2p/Cargo.toml index dfa2d634f..4411517c9 100644 --- a/beacon_node/eth2_libp2p/Cargo.toml +++ b/beacon_node/eth2_libp2p/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Sigma Prime "] edition = "2018" [dependencies] -discv5 = { git = "https://github.com/sigp/discv5 ", rev = "02d2c896c66f8dc2b848c3996fedcd98e1dfec69", features = ["libp2p"] } +discv5 = { version = "0.1.0-beta.4", features = ["libp2p"] } unsigned-varint = { version = "0.6.0", features = ["codec"] } types = { path = "../../consensus/types" } hashset_delay = { path = "../../common/hashset_delay" } @@ -42,9 +42,9 @@ regex = "1.3.9" strum = { version = "0.20", features = ["derive"] } [dependencies.libp2p] -version = "0.35.1" +version = "0.38.0" default-features = false -features = ["websocket", "identify", "mplex", "yamux", "noise", "gossipsub", "dns", "tcp-tokio"] +features = ["websocket", "identify", "mplex", "yamux", "noise", "gossipsub", "dns-tokio", "tcp-tokio"] [dev-dependencies] tokio = { version = "1.1.0", features = ["full"] } diff --git a/beacon_node/eth2_libp2p/src/behaviour/handler/delegate.rs b/beacon_node/eth2_libp2p/src/behaviour/handler/delegate.rs index f849114f3..62a01d8cb 100644 --- a/beacon_node/eth2_libp2p/src/behaviour/handler/delegate.rs +++ b/beacon_node/eth2_libp2p/src/behaviour/handler/delegate.rs @@ -56,7 +56,7 @@ impl DelegatingHandler { /// Wrapper around the `ProtocolsHandler::InEvent` types of the handlers. /// Simply delegated to the corresponding behaviour's handler. -#[derive(Debug, Clone)] +#[derive(Debug)] pub enum DelegateIn { Gossipsub(::InEvent), RPC( as ProtocolsHandler>::InEvent), @@ -141,8 +141,8 @@ impl ProtocolsHandler for DelegatingHandler { .max(identify_proto.timeout()); let select = SelectUpgrade::new( - gossip_proto.into_upgrade().1, - SelectUpgrade::new(rpc_proto.into_upgrade().1, identify_proto.into_upgrade().1), + gossip_proto.into_upgrade().0, + SelectUpgrade::new(rpc_proto.into_upgrade().0, identify_proto.into_upgrade().0), ); SubstreamProtocol::new(select, ()).with_timeout(timeout) @@ -202,7 +202,7 @@ impl ProtocolsHandler for DelegatingHandler { match event { DelegateIn::Gossipsub(ev) => self.gossip_handler.inject_event(ev), DelegateIn::RPC(ev) => self.rpc_handler.inject_event(ev), - DelegateIn::Identify(()) => self.identify_handler.inject_event(()), + DelegateIn::Identify(ev) => self.identify_handler.inject_event(ev), } } diff --git a/beacon_node/eth2_libp2p/src/behaviour/handler/mod.rs b/beacon_node/eth2_libp2p/src/behaviour/handler/mod.rs index 93a953e6a..9146d9121 100644 --- a/beacon_node/eth2_libp2p/src/behaviour/handler/mod.rs +++ b/beacon_node/eth2_libp2p/src/behaviour/handler/mod.rs @@ -34,7 +34,6 @@ impl BehaviourHandler { } } -#[derive(Clone)] pub enum BehaviourHandlerIn { Delegate(DelegateIn), /// Start the shutdown process. diff --git a/beacon_node/eth2_libp2p/src/behaviour/mod.rs b/beacon_node/eth2_libp2p/src/behaviour/mod.rs index 02468285a..a41fdf887 100644 --- a/beacon_node/eth2_libp2p/src/behaviour/mod.rs +++ b/beacon_node/eth2_libp2p/src/behaviour/mod.rs @@ -24,7 +24,7 @@ use libp2p::{ Gossipsub as BaseGossipsub, GossipsubEvent, IdentTopic as Topic, MessageAcceptance, MessageAuthenticity, MessageId, PeerScoreThresholds, }, - identify::{Identify, IdentifyEvent}, + identify::{Identify, IdentifyConfig, IdentifyEvent}, swarm::{ AddressScore, NetworkBehaviour, NetworkBehaviourAction as NBAction, NotifyHandler, PollParameters, ProtocolsHandler, @@ -151,18 +151,14 @@ impl Behaviour { ) -> error::Result { let behaviour_log = log.new(o!()); - let identify = if net_conf.private { - Identify::new( - "".into(), + let identify_config = if net_conf.private { + IdentifyConfig::new( "".into(), local_key.public(), // Still send legitimate public key ) } else { - Identify::new( - "lighthouse/libp2p".into(), - lighthouse_version::version_with_platform(), - local_key.public(), - ) + IdentifyConfig::new("eth2/1.0.0".into(), local_key.public()) + .with_agent_version(lighthouse_version::version_with_platform()) }; let enr_fork_id = network_globals @@ -221,7 +217,7 @@ impl Behaviour { Ok(Behaviour { eth2_rpc: RPC::new(log.clone()), gossipsub, - identify, + identify: Identify::new(identify_config), peer_manager: PeerManager::new(local_key, net_conf, network_globals.clone(), log) .await?, events: VecDeque::new(), @@ -902,11 +898,7 @@ impl Behaviour { fn on_identify_event(&mut self, event: IdentifyEvent) { match event { - IdentifyEvent::Received { - peer_id, - mut info, - observed_addr, - } => { + IdentifyEvent::Received { peer_id, mut info } => { if info.listen_addrs.len() > MAX_IDENTIFY_ADDRESSES { debug!( self.log, @@ -921,12 +913,13 @@ impl Behaviour { "protocol_version" => info.protocol_version, "agent_version" => info.agent_version, "listening_ addresses" => ?info.listen_addrs, - "observed_address" => ?observed_addr, + "observed_address" => ?info.observed_addr, "protocols" => ?info.protocols ); } IdentifyEvent::Sent { .. } => {} IdentifyEvent::Error { .. } => {} + IdentifyEvent::Pushed { .. } => {} } } @@ -1171,12 +1164,16 @@ impl NetworkBehaviour for Behaviour { delegate_to_behaviours!(self, inject_dial_failure, peer_id); } - fn inject_new_listen_addr(&mut self, addr: &Multiaddr) { - delegate_to_behaviours!(self, inject_new_listen_addr, addr); + fn inject_new_listener(&mut self, id: ListenerId) { + delegate_to_behaviours!(self, inject_new_listener, id); } - fn inject_expired_listen_addr(&mut self, addr: &Multiaddr) { - delegate_to_behaviours!(self, inject_expired_listen_addr, addr); + fn inject_new_listen_addr(&mut self, id: ListenerId, addr: &Multiaddr) { + delegate_to_behaviours!(self, inject_new_listen_addr, id, addr); + } + + fn inject_expired_listen_addr(&mut self, id: ListenerId, addr: &Multiaddr) { + delegate_to_behaviours!(self, inject_expired_listen_addr, id, addr); } fn inject_new_external_addr(&mut self, addr: &Multiaddr) { diff --git a/beacon_node/eth2_libp2p/src/config.rs b/beacon_node/eth2_libp2p/src/config.rs index 8b1979b4a..c21593118 100644 --- a/beacon_node/eth2_libp2p/src/config.rs +++ b/beacon_node/eth2_libp2p/src/config.rs @@ -163,6 +163,7 @@ impl Default for Config { .query_parallelism(5) .disable_report_discovered_peers() .ip_limit() // limits /24 IP's in buckets. + .incoming_bucket_limit(8) // half the bucket size .ping_interval(Duration::from_secs(300)) .build(); diff --git a/beacon_node/eth2_libp2p/src/service.rs b/beacon_node/eth2_libp2p/src/service.rs index 21c75836e..11b1070ac 100644 --- a/beacon_node/eth2_libp2p/src/service.rs +++ b/beacon_node/eth2_libp2p/src/service.rs @@ -221,7 +221,7 @@ impl Service { let mut subscribed_topics: Vec = vec![]; for topic_kind in &config.topics { - if swarm.subscribe_kind(topic_kind.clone()) { + if swarm.behaviour_mut().subscribe_kind(topic_kind.clone()) { subscribed_topics.push(topic_kind.clone()); } else { warn!(log, "Could not subscribe to topic"; "topic" => %topic_kind); @@ -244,7 +244,9 @@ impl Service { /// Sends a request to a peer, with a given Id. pub fn send_request(&mut self, peer_id: PeerId, request_id: RequestId, request: Request) { - self.swarm.send_request(peer_id, request_id, request); + self.swarm + .behaviour_mut() + .send_request(peer_id, request_id, request); } /// Informs the peer that their request failed. @@ -255,22 +257,30 @@ impl Service { error: RPCResponseErrorCode, reason: String, ) { - self.swarm._send_error_reponse(peer_id, id, error, reason); + self.swarm + .behaviour_mut() + ._send_error_reponse(peer_id, id, error, reason); } /// Report a peer's action. pub fn report_peer(&mut self, peer_id: &PeerId, action: PeerAction, source: ReportSource) { - self.swarm.report_peer(peer_id, action, source); + self.swarm + .behaviour_mut() + .report_peer(peer_id, action, source); } /// Disconnect and ban a peer, providing a reason. pub fn goodbye_peer(&mut self, peer_id: &PeerId, reason: GoodbyeReason, source: ReportSource) { - self.swarm.goodbye_peer(peer_id, reason, source); + self.swarm + .behaviour_mut() + .goodbye_peer(peer_id, reason, source); } /// Sends a response to a peer's request. pub fn send_response(&mut self, peer_id: PeerId, id: PeerRequestId, response: Response) { - self.swarm.send_successful_response(peer_id, id, response); + self.swarm + .behaviour_mut() + .send_successful_response(peer_id, id, response); } pub async fn next_event(&mut self) -> Libp2pEvent { @@ -350,8 +360,8 @@ type BoxedTransport = Boxed<(PeerId, StreamMuxerBox)>; fn build_transport( local_private_key: Keypair, ) -> std::io::Result<(BoxedTransport, Arc)> { - let transport = libp2p::tcp::TokioTcpConfig::new().nodelay(true); - let transport = libp2p::dns::DnsConfig::new(transport)?; + let tcp = libp2p::tcp::TokioTcpConfig::new().nodelay(true); + let transport = libp2p::dns::TokioDnsConfig::system(tcp)?; #[cfg(feature = "libp2p-websocket")] let transport = { let trans_clone = transport.clone(); diff --git a/beacon_node/eth2_libp2p/tests/common/mod.rs b/beacon_node/eth2_libp2p/tests/common/mod.rs index a09f800d0..a7ee22d8c 100644 --- a/beacon_node/eth2_libp2p/tests/common/mod.rs +++ b/beacon_node/eth2_libp2p/tests/common/mod.rs @@ -126,7 +126,7 @@ pub async fn build_libp2p_instance( #[allow(dead_code)] pub fn get_enr(node: &LibP2PService) -> Enr { - node.swarm.local_enr() + node.swarm.behaviour().local_enr() } // Returns `n` libp2p peers in fully connected topology. @@ -171,7 +171,7 @@ pub async fn build_node_pair( let mut sender = build_libp2p_instance(rt.clone(), vec![], sender_log).await; let mut receiver = build_libp2p_instance(rt, vec![], receiver_log).await; - let receiver_multiaddr = receiver.swarm.local_enr().multiaddr()[1].clone(); + let receiver_multiaddr = receiver.swarm.behaviour_mut().local_enr().multiaddr()[1].clone(); // let the two nodes set up listeners let sender_fut = async { diff --git a/beacon_node/eth2_libp2p/tests/rpc_tests.rs b/beacon_node/eth2_libp2p/tests/rpc_tests.rs index 43f054d27..8e00fba37 100644 --- a/beacon_node/eth2_libp2p/tests/rpc_tests.rs +++ b/beacon_node/eth2_libp2p/tests/rpc_tests.rs @@ -56,7 +56,7 @@ fn test_status_rpc() { Libp2pEvent::Behaviour(BehaviourEvent::PeerDialed(peer_id)) => { // Send a STATUS message debug!(log, "Sending RPC"); - sender.swarm.send_request( + sender.swarm.behaviour_mut().send_request( peer_id, RequestId::Sync(10), rpc_request.clone(), @@ -90,7 +90,7 @@ fn test_status_rpc() { if request == rpc_request { // send the response debug!(log, "Receiver Received"); - receiver.swarm.send_successful_response( + receiver.swarm.behaviour_mut().send_successful_response( peer_id, id, rpc_response.clone(), @@ -155,7 +155,7 @@ fn test_blocks_by_range_chunked_rpc() { Libp2pEvent::Behaviour(BehaviourEvent::PeerDialed(peer_id)) => { // Send a STATUS message debug!(log, "Sending RPC"); - sender.swarm.send_request( + sender.swarm.behaviour_mut().send_request( peer_id, RequestId::Sync(10), rpc_request.clone(), @@ -200,14 +200,14 @@ fn test_blocks_by_range_chunked_rpc() { // send the response warn!(log, "Receiver got request"); for _ in 1..=messages_to_send { - receiver.swarm.send_successful_response( + receiver.swarm.behaviour_mut().send_successful_response( peer_id, id, rpc_response.clone(), ); } // send the stream termination - receiver.swarm.send_successful_response( + receiver.swarm.behaviour_mut().send_successful_response( peer_id, id, Response::BlocksByRange(None), @@ -272,7 +272,7 @@ fn test_blocks_by_range_chunked_rpc_terminates_correctly() { Libp2pEvent::Behaviour(BehaviourEvent::PeerDialed(peer_id)) => { // Send a STATUS message debug!(log, "Sending RPC"); - sender.swarm.send_request( + sender.swarm.behaviour_mut().send_request( peer_id, RequestId::Sync(10), rpc_request.clone(), @@ -341,7 +341,7 @@ fn test_blocks_by_range_chunked_rpc_terminates_correctly() { if message_info.is_some() { messages_sent += 1; let (peer_id, stream_id) = message_info.as_ref().unwrap(); - receiver.swarm.send_successful_response( + receiver.swarm.behaviour_mut().send_successful_response( *peer_id, *stream_id, rpc_response.clone(), @@ -407,7 +407,7 @@ fn test_blocks_by_range_single_empty_rpc() { Libp2pEvent::Behaviour(BehaviourEvent::PeerDialed(peer_id)) => { // Send a STATUS message debug!(log, "Sending RPC"); - sender.swarm.send_request( + sender.swarm.behaviour_mut().send_request( peer_id, RequestId::Sync(10), rpc_request.clone(), @@ -450,14 +450,14 @@ fn test_blocks_by_range_single_empty_rpc() { warn!(log, "Receiver got request"); for _ in 1..=messages_to_send { - receiver.swarm.send_successful_response( + receiver.swarm.behaviour_mut().send_successful_response( peer_id, id, rpc_response.clone(), ); } // send the stream termination - receiver.swarm.send_successful_response( + receiver.swarm.behaviour_mut().send_successful_response( peer_id, id, Response::BlocksByRange(None), @@ -525,7 +525,7 @@ fn test_blocks_by_root_chunked_rpc() { Libp2pEvent::Behaviour(BehaviourEvent::PeerDialed(peer_id)) => { // Send a STATUS message debug!(log, "Sending RPC"); - sender.swarm.send_request( + sender.swarm.behaviour_mut().send_request( peer_id, RequestId::Sync(10), rpc_request.clone(), @@ -568,7 +568,7 @@ fn test_blocks_by_root_chunked_rpc() { debug!(log, "Receiver got request"); for _ in 1..=messages_to_send { - receiver.swarm.send_successful_response( + receiver.swarm.behaviour_mut().send_successful_response( peer_id, id, rpc_response.clone(), @@ -576,7 +576,7 @@ fn test_blocks_by_root_chunked_rpc() { debug!(log, "Sending message"); } // send the stream termination - receiver.swarm.send_successful_response( + receiver.swarm.behaviour_mut().send_successful_response( peer_id, id, Response::BlocksByRange(None), @@ -649,7 +649,7 @@ fn test_blocks_by_root_chunked_rpc_terminates_correctly() { Libp2pEvent::Behaviour(BehaviourEvent::PeerDialed(peer_id)) => { // Send a STATUS message debug!(log, "Sending RPC"); - sender.swarm.send_request( + sender.swarm.behaviour_mut().send_request( peer_id, RequestId::Sync(10), rpc_request.clone(), @@ -718,7 +718,7 @@ fn test_blocks_by_root_chunked_rpc_terminates_correctly() { if message_info.is_some() { messages_sent += 1; let (peer_id, stream_id) = message_info.as_ref().unwrap(); - receiver.swarm.send_successful_response( + receiver.swarm.behaviour_mut().send_successful_response( *peer_id, *stream_id, rpc_response.clone(), @@ -764,7 +764,7 @@ fn test_goodbye_rpc() { Libp2pEvent::Behaviour(BehaviourEvent::PeerDialed(peer_id)) => { // Send a goodbye and disconnect debug!(log, "Sending RPC"); - sender.swarm.goodbye_peer( + sender.swarm.behaviour_mut().goodbye_peer( &peer_id, GoodbyeReason::IrrelevantNetwork, ReportSource::SyncService, diff --git a/beacon_node/http_api/Cargo.toml b/beacon_node/http_api/Cargo.toml index 606fd7247..4efbfa7a1 100644 --- a/beacon_node/http_api/Cargo.toml +++ b/beacon_node/http_api/Cargo.toml @@ -34,5 +34,4 @@ futures = "0.3.8" store = { path = "../store" } environment = { path = "../../lighthouse/environment" } tree_hash = "0.1.1" -discv5 = { git = "https://github.com/sigp/discv5 ", rev = "02d2c896c66f8dc2b848c3996fedcd98e1dfec69", features = ["libp2p"] } sensitive_url = { path = "../../common/sensitive_url" } diff --git a/beacon_node/http_api/tests/tests.rs b/beacon_node/http_api/tests/tests.rs index 6d1dfbf55..fd284a7c1 100644 --- a/beacon_node/http_api/tests/tests.rs +++ b/beacon_node/http_api/tests/tests.rs @@ -4,11 +4,11 @@ use beacon_chain::{ test_utils::{AttestationStrategy, BeaconChainHarness, BlockStrategy, EphemeralHarnessType}, BeaconChain, StateSkipConfig, MAXIMUM_GOSSIP_CLOCK_DISPARITY, }; -use discv5::enr::{CombinedKey, EnrBuilder}; use environment::null_logger; use eth2::Error; use eth2::StatusCode; use eth2::{types::*, BeaconNodeHttpClient}; +use eth2_libp2p::discv5::enr::{CombinedKey, EnrBuilder}; use eth2_libp2p::{ rpc::methods::MetaData, types::{EnrBitfield, SyncState}, diff --git a/beacon_node/network/Cargo.toml b/beacon_node/network/Cargo.toml index 0f0fad35b..50c05c5a8 100644 --- a/beacon_node/network/Cargo.toml +++ b/beacon_node/network/Cargo.toml @@ -15,7 +15,6 @@ slog-term = "2.6.0" slog-async = "2.5.0" logging = { path = "../../common/logging" } environment = { path = "../../lighthouse/environment" } -discv5 = { version = "0.1.0-beta.3" } [dependencies] beacon_chain = { path = "../beacon_chain" } diff --git a/beacon_node/network/src/beacon_processor/tests.rs b/beacon_node/network/src/beacon_processor/tests.rs index 6549a0263..9cf610b66 100644 --- a/beacon_node/network/src/beacon_processor/tests.rs +++ b/beacon_node/network/src/beacon_processor/tests.rs @@ -7,8 +7,8 @@ use beacon_chain::{ test_utils::{AttestationStrategy, BeaconChainHarness, BlockStrategy, EphemeralHarnessType}, BeaconChain, MAXIMUM_GOSSIP_CLOCK_DISPARITY, }; -use discv5::enr::{CombinedKey, EnrBuilder}; use environment::{null_logger, Environment, EnvironmentBuilder}; +use eth2_libp2p::discv5::enr::{CombinedKey, EnrBuilder}; use eth2_libp2p::{rpc::methods::MetaData, types::EnrBitfield, MessageId, NetworkGlobals, PeerId}; use slot_clock::SlotClock; use std::cmp; diff --git a/beacon_node/network/src/persisted_dht.rs b/beacon_node/network/src/persisted_dht.rs index 59b0bd9ab..881be15a7 100644 --- a/beacon_node/network/src/persisted_dht.rs +++ b/beacon_node/network/src/persisted_dht.rs @@ -27,6 +27,13 @@ pub fn persist_dht, Cold: ItemStore>( store.put_item(&DHT_DB_KEY, &PersistedDht { enrs }) } +/// Attempts to clear any DHT entries. +pub fn clear_dht, Cold: ItemStore>( + store: Arc>, +) -> Result<(), store::Error> { + store.hot_db.delete::(&DHT_DB_KEY) +} + /// Wrapper around DHT for persistence to disk. pub struct PersistedDht { pub enrs: Vec, diff --git a/beacon_node/network/src/service.rs b/beacon_node/network/src/service.rs index 082c1353f..6ee3aa3e2 100644 --- a/beacon_node/network/src/service.rs +++ b/beacon_node/network/src/service.rs @@ -1,4 +1,4 @@ -use crate::persisted_dht::{load_dht, persist_dht}; +use crate::persisted_dht::{clear_dht, load_dht, persist_dht}; use crate::router::{Router, RouterMessage}; use crate::{ attestation_service::{AttServiceMessage, AttestationService}, @@ -178,7 +178,7 @@ impl NetworkService { "Loading peers into the routing table"; "peers" => enrs_to_load.len() ); for enr in enrs_to_load { - libp2p.swarm.add_enr(enr.clone()); + libp2p.swarm.behaviour_mut().add_enr(enr.clone()); } } @@ -251,7 +251,7 @@ fn spawn_service( .map(|gauge| gauge.reset()); } metrics::update_gossip_metrics::( - &service.libp2p.swarm.gs(), + &service.libp2p.swarm.behaviour_mut().gs(), &service.network_globals, ); // update sync metrics @@ -287,8 +287,7 @@ fn spawn_service( }) ) }).unwrap_or(None) { - if (*service.libp2p.swarm) - .update_gossipsub_parameters(active_validators, slot).is_err() { + if service.libp2p.swarm.behaviour_mut().update_gossipsub_parameters(active_validators, slot).is_err() { error!( service.log, "Failed to update gossipsub parameters"; @@ -314,7 +313,7 @@ fn spawn_service( service.upnp_mappings = (tcp_socket.map(|s| s.port()), udp_socket.map(|s| s.port())); // If there is an external TCP port update, modify our local ENR. if let Some(tcp_socket) = tcp_socket { - if let Err(e) = service.libp2p.swarm.peer_manager().discovery_mut().update_enr_tcp_port(tcp_socket.port()) { + if let Err(e) = service.libp2p.swarm.behaviour_mut().peer_manager().discovery_mut().update_enr_tcp_port(tcp_socket.port()) { warn!(service.log, "Failed to update ENR"; "error" => e); } } @@ -322,7 +321,7 @@ fn spawn_service( // UPnP mappings if !service.discovery_auto_update { if let Some(udp_socket) = udp_socket { - if let Err(e) = service.libp2p.swarm.peer_manager().discovery_mut().update_enr_udp_socket(udp_socket) { + if let Err(e) = service.libp2p.swarm.behaviour_mut().peer_manager().discovery_mut().update_enr_udp_socket(udp_socket) { warn!(service.log, "Failed to update ENR"; "error" => e); } } @@ -341,6 +340,7 @@ fn spawn_service( service .libp2p .swarm + .behaviour_mut() .report_message_validation_result( &propagation_source, message_id, validation_result ); @@ -359,7 +359,7 @@ fn spawn_service( "topics" => ?topic_kinds ); metrics::expose_publish_metrics(&messages); - service.libp2p.swarm.publish(messages); + service.libp2p.swarm.behaviour_mut().publish(messages); } NetworkMessage::ReportPeer { peer_id, action, source } => service.libp2p.report_peer(&peer_id, action, source), NetworkMessage::GoodbyePeer { peer_id, reason, source } => service.libp2p.goodbye_peer(&peer_id, reason, source), @@ -375,7 +375,7 @@ fn spawn_service( let already_subscribed = service.network_globals.gossipsub_subscriptions.read().clone(); let already_subscribed = already_subscribed.iter().map(|x| x.kind()).collect::>(); for topic_kind in eth2_libp2p::types::CORE_TOPICS.iter().filter(|topic| already_subscribed.get(topic).is_none()) { - if service.libp2p.swarm.subscribe_kind(topic_kind.clone()) { + if service.libp2p.swarm.behaviour_mut().subscribe_kind(topic_kind.clone()) { subscribed_topics.push(topic_kind.clone()); } else { warn!(service.log, "Could not subscribe to topic"; "topic" => %topic_kind); @@ -387,9 +387,9 @@ fn spawn_service( for subnet_id in 0..<::EthSpec as EthSpec>::SubnetBitfieldLength::to_u64() { let subnet_id = SubnetId::new(subnet_id); let topic_kind = eth2_libp2p::types::GossipKind::Attestation(subnet_id); - if service.libp2p.swarm.subscribe_kind(topic_kind.clone()) { + if service.libp2p.swarm.behaviour_mut().subscribe_kind(topic_kind.clone()) { // Update the ENR bitfield. - service.libp2p.swarm.update_enr_subnet(subnet_id, true); + service.libp2p.swarm.behaviour_mut().update_enr_subnet(subnet_id, true); subscribed_topics.push(topic_kind.clone()); } else { warn!(service.log, "Could not subscribe to topic"; "topic" => %topic_kind); @@ -407,19 +407,19 @@ fn spawn_service( Some(attestation_service_message) = service.attestation_service.next() => { match attestation_service_message { AttServiceMessage::Subscribe(subnet_id) => { - service.libp2p.swarm.subscribe_to_subnet(subnet_id); + service.libp2p.swarm.behaviour_mut().subscribe_to_subnet(subnet_id); } AttServiceMessage::Unsubscribe(subnet_id) => { - service.libp2p.swarm.unsubscribe_from_subnet(subnet_id); + service.libp2p.swarm.behaviour_mut().unsubscribe_from_subnet(subnet_id); } AttServiceMessage::EnrAdd(subnet_id) => { - service.libp2p.swarm.update_enr_subnet(subnet_id, true); + service.libp2p.swarm.behaviour_mut().update_enr_subnet(subnet_id, true); } AttServiceMessage::EnrRemove(subnet_id) => { - service.libp2p.swarm.update_enr_subnet(subnet_id, false); + service.libp2p.swarm.behaviour_mut().update_enr_subnet(subnet_id, false); } AttServiceMessage::DiscoverPeers(subnets_to_discover) => { - service.libp2p.swarm.discover_subnet_peers(subnets_to_discover); + service.libp2p.swarm.behaviour_mut().discover_subnet_peers(subnets_to_discover); } } } @@ -541,6 +541,7 @@ fn spawn_service( service .libp2p .swarm + .behaviour_mut() .update_fork_version(service.beacon_chain.enr_fork_id()); service.next_fork_update = next_fork_delay(&service.beacon_chain); } @@ -566,12 +567,16 @@ fn next_fork_delay( impl Drop for NetworkService { fn drop(&mut self) { // network thread is terminating - let enrs = self.libp2p.swarm.enr_entries(); + let enrs = self.libp2p.swarm.behaviour_mut().enr_entries(); debug!( self.log, "Persisting DHT to store"; "Number of peers" => enrs.len(), ); + if let Err(e) = clear_dht::(self.store.clone()) { + error!(self.log, "Failed to clear old DHT entries"; "error" => ?e); + } + // Still try to update new entries match persist_dht::(self.store.clone(), enrs) { Err(e) => error!( self.log, diff --git a/common/eth2_network_config/Cargo.toml b/common/eth2_network_config/Cargo.toml index b11f93672..bab813d19 100644 --- a/common/eth2_network_config/Cargo.toml +++ b/common/eth2_network_config/Cargo.toml @@ -19,4 +19,4 @@ serde_yaml = "0.8.13" types = { path = "../../consensus/types"} eth2_ssz = "0.1.2" eth2_config = { path = "../eth2_config"} -enr = { version = "0.5.0", features = ["ed25519", "k256"] } +enr = { version = "0.5.1", features = ["ed25519", "k256"] } diff --git a/common/remote_signer_consumer/tests/post.rs b/common/remote_signer_consumer/tests/post.rs index 543605fb5..1108980b1 100644 --- a/common/remote_signer_consumer/tests/post.rs +++ b/common/remote_signer_consumer/tests/post.rs @@ -121,7 +121,7 @@ mod post { testcase( "unix:/run/foo.socket", &format!( - "[Reqwest - Builder] Url {{ scheme: \"unix\", username: \"\", password: None, host: None, port: None, path: \"/run/foo.socket/sign/{}\", query: None, fragment: None }}", + "[Reqwest - Builder] Url {{ scheme: \"unix\", cannot_be_a_base: false, username: \"\", password: None, host: None, port: None, path: \"/run/foo.socket/sign/{}\", query: None, fragment: None }}", PUBLIC_KEY_1 ), ); @@ -129,7 +129,7 @@ mod post { testcase( "http://127.0.0.1:0", &format!( - "[Reqwest - Request] Url {{ scheme: \"http\", username: \"\", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(0), path: \"/sign/{}\", query: None, fragment: None }}", + "[Reqwest - Request] Url {{ scheme: \"http\", cannot_be_a_base: false, username: \"\", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(0), path: \"/sign/{}\", query: None, fragment: None }}", PUBLIC_KEY_1 ), );