Update Lighthouse Dependencies (#2818)

## Issue Addressed

Updates lighthouse dependencies to resolve audit issues in out-dated deps.
This commit is contained in:
Age Manning 2021-11-18 05:08:42 +00:00
parent e32c09bfda
commit e519af9012
27 changed files with 286 additions and 271 deletions

470
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -91,3 +91,4 @@ eth2_ssz_derive = { path = "consensus/ssz_derive" }
tree_hash = { path = "consensus/tree_hash" } tree_hash = { path = "consensus/tree_hash" }
tree_hash_derive = { path = "consensus/tree_hash_derive" } tree_hash_derive = { path = "consensus/tree_hash_derive" }
fixed-hash = { git = "https://github.com/paritytech/parity-common", rev="df638ab0885293d21d656dc300d39236b69ce57d" } fixed-hash = { git = "https://github.com/paritytech/parity-common", rev="df638ab0885293d21d656dc300d39236b69ce57d" }
warp = { git = "https://github.com/macladson/warp", rev ="7e75acc" }

View File

@ -15,7 +15,7 @@ directory = { path = "../common/directory" }
eth2_wallet = { path = "../crypto/eth2_wallet" } eth2_wallet = { path = "../crypto/eth2_wallet" }
eth2_wallet_manager = { path = "../common/eth2_wallet_manager" } eth2_wallet_manager = { path = "../common/eth2_wallet_manager" }
validator_dir = { path = "../common/validator_dir" } validator_dir = { path = "../common/validator_dir" }
tokio = { version = "1.10.0", features = ["full"] } tokio = { version = "1.14.0", features = ["full"] }
eth2_keystore = { path = "../crypto/eth2_keystore" } eth2_keystore = { path = "../crypto/eth2_keystore" }
account_utils = { path = "../common/account_utils" } account_utils = { path = "../common/account_utils" }
slashing_protection = { path = "../validator_client/slashing_protection" } slashing_protection = { path = "../validator_client/slashing_protection" }

View File

@ -35,7 +35,7 @@ eth2_ssz_derive = "0.3.0"
state_processing = { path = "../../consensus/state_processing" } state_processing = { path = "../../consensus/state_processing" }
tree_hash = "0.4.0" tree_hash = "0.4.0"
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }
tokio = "1.10.0" tokio = "1.14.0"
eth1 = { path = "../eth1" } eth1 = { path = "../eth1" }
futures = "0.3.7" futures = "0.3.7"
genesis = { path = "../genesis" } genesis = { path = "../genesis" }

View File

@ -21,7 +21,7 @@ serde = "1.0.116"
serde_derive = "1.0.116" serde_derive = "1.0.116"
error-chain = "0.12.4" error-chain = "0.12.4"
slog = { version = "2.5.2", features = ["max_level_trace"] } slog = { version = "2.5.2", features = ["max_level_trace"] }
tokio = "1.10.0" tokio = "1.14.0"
dirs = "3.0.1" dirs = "3.0.1"
eth1 = { path = "../eth1" } eth1 = { path = "../eth1" }
eth2 = { path = "../../common/eth2" } eth2 = { path = "../../common/eth2" }

View File

@ -24,7 +24,7 @@ eth2_ssz_derive = "0.3.0"
tree_hash = "0.4.0" tree_hash = "0.4.0"
parking_lot = "0.11.0" parking_lot = "0.11.0"
slog = "2.5.2" slog = "2.5.2"
tokio = { version = "1.10.0", features = ["full"] } tokio = { version = "1.14.0", features = ["full"] }
state_processing = { path = "../../consensus/state_processing" } state_processing = { path = "../../consensus/state_processing" }
lighthouse_metrics = { path = "../../common/lighthouse_metrics"} lighthouse_metrics = { path = "../../common/lighthouse_metrics"}
lazy_static = "1.4.0" lazy_static = "1.4.0"

View File

@ -19,6 +19,6 @@ merkle_proof = { path = "../../consensus/merkle_proof" }
eth2_ssz = "0.4.0" eth2_ssz = "0.4.0"
eth2_hashing = "0.2.0" eth2_hashing = "0.2.0"
tree_hash = "0.4.0" tree_hash = "0.4.0"
tokio = { version = "1.10.0", features = ["full"] } tokio = { version = "1.14.0", features = ["full"] }
slog = "2.5.2" slog = "2.5.2"
int_to_bytes = { path = "../../consensus/int_to_bytes" } int_to_bytes = { path = "../../consensus/int_to_bytes" }

View File

@ -6,9 +6,9 @@ edition = "2018"
autotests = false # using a single test binary compiles faster autotests = false # using a single test binary compiles faster
[dependencies] [dependencies]
warp = { git = "https://github.com/macladson/warp", rev ="dfa259e", features = ["tls"] } warp = { version = "0.3.2", features = ["tls"] }
serde = { version = "1.0.116", features = ["derive"] } serde = { version = "1.0.116", features = ["derive"] }
tokio = { version = "1.10.0", features = ["macros","sync"] } tokio = { version = "1.14.0", features = ["macros","sync"] }
tokio-stream = { version = "0.1.3", features = ["sync"] } tokio-stream = { version = "0.1.3", features = ["sync"] }
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }
hex = "0.4.2" hex = "0.4.2"

View File

@ -7,7 +7,7 @@ edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
warp = { git = "https://github.com/macladson/warp", rev ="dfa259e" } warp = "0.3.2"
serde = { version = "1.0.116", features = ["derive"] } serde = { version = "1.0.116", features = ["derive"] }
slog = "2.5.2" slog = "2.5.2"
beacon_chain = { path = "../beacon_chain" } beacon_chain = { path = "../beacon_chain" }
@ -20,7 +20,7 @@ warp_utils = { path = "../../common/warp_utils" }
malloc_utils = { path = "../../common/malloc_utils" } malloc_utils = { path = "../../common/malloc_utils" }
[dev-dependencies] [dev-dependencies]
tokio = { version = "1.10.0", features = ["sync"] } tokio = { version = "1.14.0", features = ["sync"] }
reqwest = { version = "0.11.0", features = ["json"] } reqwest = { version = "0.11.0", features = ["json"] }
environment = { path = "../../lighthouse/environment" } environment = { path = "../../lighthouse/environment" }
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }

View File

@ -16,7 +16,7 @@ eth2_ssz = "0.4.0"
eth2_ssz_derive = "0.3.0" eth2_ssz_derive = "0.3.0"
slog = { version = "2.5.2", features = ["max_level_trace"] } slog = { version = "2.5.2", features = ["max_level_trace"] }
lighthouse_version = { path = "../../common/lighthouse_version" } lighthouse_version = { path = "../../common/lighthouse_version" }
tokio = { version = "1.10.0", features = ["time", "macros"] } tokio = { version = "1.14.0", features = ["time", "macros"] }
futures = "0.3.7" futures = "0.3.7"
error-chain = "0.12.4" error-chain = "0.12.4"
dirs = "3.0.1" dirs = "3.0.1"
@ -40,7 +40,7 @@ strum = { version = "0.21.0", features = ["derive"] }
superstruct = "0.2.0" superstruct = "0.2.0"
[dependencies.libp2p] [dependencies.libp2p]
version = "0.40.0-rc.3" version = "0.41.0"
default-features = false default-features = false
features = ["websocket", "identify", "mplex", "yamux", "noise", "gossipsub", "dns-tokio", "tcp-tokio"] features = ["websocket", "identify", "mplex", "yamux", "noise", "gossipsub", "dns-tokio", "tcp-tokio"]

View File

@ -26,7 +26,8 @@ use libp2p::{
}, },
identify::{Identify, IdentifyConfig, IdentifyEvent}, identify::{Identify, IdentifyConfig, IdentifyEvent},
swarm::{ swarm::{
AddressScore, DialPeerCondition, NetworkBehaviour, NetworkBehaviourAction as NBAction, dial_opts::{DialOpts, PeerCondition},
AddressScore, NetworkBehaviour, NetworkBehaviourAction as NBAction,
NetworkBehaviourEventProcess, PollParameters, NetworkBehaviourEventProcess, PollParameters,
}, },
NetworkBehaviour, PeerId, NetworkBehaviour, PeerId,
@ -232,6 +233,7 @@ impl<TSpec: EthSpec> Behaviour<TSpec> {
let mut gossipsub = Gossipsub::new_with_subscription_filter_and_transform( let mut gossipsub = Gossipsub::new_with_subscription_filter_and_transform(
MessageAuthenticity::Anonymous, MessageAuthenticity::Anonymous,
config.gs_config.clone(), config.gs_config.clone(),
None, // No metrics for the time being
filter, filter,
snappy_transform, snappy_transform,
) )
@ -1071,9 +1073,10 @@ impl<TSpec: EthSpec> Behaviour<TSpec> {
match event { match event {
InternalBehaviourMessage::DialPeer(peer_id) => { InternalBehaviourMessage::DialPeer(peer_id) => {
let handler = self.new_handler(); let handler = self.new_handler();
return Poll::Ready(NBAction::DialPeer { return Poll::Ready(NBAction::Dial {
peer_id, opts: DialOpts::peer_id(peer_id)
condition: DialPeerCondition::Disconnected, .condition(PeerCondition::Disconnected)
.build(),
handler, handler,
}); });
} }

View File

@ -185,10 +185,10 @@ impl<TSpec: EthSpec> Service<TSpec> {
}; };
// helper closure for dialing peers // helper closure for dialing peers
let mut dial_addr = |mut multiaddr: Multiaddr| { let mut dial = |mut multiaddr: Multiaddr| {
// strip the p2p protocol if it exists // strip the p2p protocol if it exists
strip_peer_id(&mut multiaddr); strip_peer_id(&mut multiaddr);
match Swarm::dial_addr(&mut swarm, multiaddr.clone()) { match Swarm::dial(&mut swarm, multiaddr.clone()) {
Ok(()) => debug!(log, "Dialing libp2p peer"; "address" => %multiaddr), Ok(()) => debug!(log, "Dialing libp2p peer"; "address" => %multiaddr),
Err(err) => debug!( Err(err) => debug!(
log, log,
@ -199,7 +199,7 @@ impl<TSpec: EthSpec> Service<TSpec> {
// attempt to connect to user-input libp2p nodes // attempt to connect to user-input libp2p nodes
for multiaddr in &config.libp2p_nodes { for multiaddr in &config.libp2p_nodes {
dial_addr(multiaddr.clone()); dial(multiaddr.clone());
} }
// attempt to connect to any specified boot-nodes // attempt to connect to any specified boot-nodes
@ -219,7 +219,7 @@ impl<TSpec: EthSpec> Service<TSpec> {
.read() .read()
.is_connected_or_dialing(&bootnode_enr.peer_id()) .is_connected_or_dialing(&bootnode_enr.peer_id())
{ {
dial_addr(multiaddr.clone()); dial(multiaddr.clone());
} }
} }
} }
@ -230,7 +230,7 @@ impl<TSpec: EthSpec> Service<TSpec> {
.iter() .iter()
.any(|proto| matches!(proto, Protocol::Tcp(_))) .any(|proto| matches!(proto, Protocol::Tcp(_)))
{ {
dial_addr(multiaddr.clone()); dial(multiaddr.clone());
} }
} }

View File

@ -160,7 +160,7 @@ pub async fn build_full_mesh(
for (i, node) in nodes.iter_mut().enumerate().take(n) { for (i, node) in nodes.iter_mut().enumerate().take(n) {
for (j, multiaddr) in multiaddrs.iter().enumerate().skip(i) { for (j, multiaddr) in multiaddrs.iter().enumerate().skip(i) {
if i != j { if i != j {
match libp2p::Swarm::dial_addr(&mut node.swarm, multiaddr.clone()) { match libp2p::Swarm::dial(&mut node.swarm, multiaddr.clone()) {
Ok(()) => debug!(log, "Connected"), Ok(()) => debug!(log, "Connected"),
Err(_) => error!(log, "Failed to connect"), Err(_) => error!(log, "Failed to connect"),
}; };
@ -209,7 +209,7 @@ pub async fn build_node_pair(
_ = joined => {} _ = joined => {}
} }
match libp2p::Swarm::dial_addr(&mut sender.swarm, receiver_multiaddr.clone()) { match libp2p::Swarm::dial(&mut sender.swarm, receiver_multiaddr.clone()) {
Ok(()) => { Ok(()) => {
debug!(log, "Sender dialed receiver"; "address" => format!("{:?}", receiver_multiaddr)) debug!(log, "Sender dialed receiver"; "address" => format!("{:?}", receiver_multiaddr))
} }
@ -231,7 +231,7 @@ pub async fn build_linear(rt: Weak<Runtime>, log: slog::Logger, n: usize) -> Vec
.map(|x| get_enr(x).multiaddr()[1].clone()) .map(|x| get_enr(x).multiaddr()[1].clone())
.collect(); .collect();
for i in 0..n - 1 { for i in 0..n - 1 {
match libp2p::Swarm::dial_addr(&mut nodes[i].swarm, multiaddrs[i + 1].clone()) { match libp2p::Swarm::dial(&mut nodes[i].swarm, multiaddrs[i + 1].clone()) {
Ok(()) => debug!(log, "Connected"), Ok(()) => debug!(log, "Connected"),
Err(_) => error!(log, "Failed to connect"), Err(_) => error!(log, "Failed to connect"),
}; };

View File

@ -27,7 +27,7 @@ eth2_ssz = "0.4.0"
eth2_ssz_types = "0.2.1" eth2_ssz_types = "0.2.1"
futures = "0.3.7" futures = "0.3.7"
error-chain = "0.12.4" error-chain = "0.12.4"
tokio = { version = "1.10.0", features = ["full"] } tokio = { version = "1.14.0", features = ["full"] }
tokio-stream = "0.1.3" tokio-stream = "0.1.3"
smallvec = "1.6.1" smallvec = "1.6.1"
rand = "0.7.3" rand = "0.7.3"

View File

@ -7,6 +7,6 @@ edition = "2018"
[dependencies] [dependencies]
beacon_chain = { path = "../beacon_chain" } beacon_chain = { path = "../beacon_chain" }
slot_clock = { path = "../../common/slot_clock" } slot_clock = { path = "../../common/slot_clock" }
tokio = { version = "1.10.0", features = ["full"] } tokio = { version = "1.14.0", features = ["full"] }
slog = "2.5.2" slog = "2.5.2"
task_executor = { path = "../../common/task_executor" } task_executor = { path = "../../common/task_executor" }

View File

@ -12,7 +12,7 @@ lighthouse_network = { path = "../beacon_node/lighthouse_network" }
types = { path = "../consensus/types" } types = { path = "../consensus/types" }
eth2_ssz = "0.4.0" eth2_ssz = "0.4.0"
slog = "2.5.2" slog = "2.5.2"
tokio = "1.10.0" tokio = "1.14.0"
log = "0.4.11" log = "0.4.11"
slog-term = "2.6.0" slog-term = "2.6.0"
logging = { path = "../common/logging" } logging = { path = "../common/logging" }

View File

@ -28,8 +28,9 @@ store = { path = "../../beacon_node/store", optional = true }
[target.'cfg(target_os = "linux")'.dependencies] [target.'cfg(target_os = "linux")'.dependencies]
# TODO: update psutil once fix is merged: https://github.com/rust-psutil/rust-psutil/pull/93 # TODO: update psutil once fix is merged: https://github.com/rust-psutil/rust-psutil/pull/93
# TODO: Even once the above PR is corrected, there are sub-dependencies that need to be updated.
# psutil = { version = "3.2.0", optional = true } # psutil = { version = "3.2.0", optional = true }
psutil = { git = "https://github.com/sigp/rust-psutil", rev = "3b42f01273b446128b572aa4fdb9b08f5da5f1d7", optional = true } psutil = { git = "https://github.com/sigp/rust-psutil", rev = "b3e44bc7ec5d545b8cb8ad4e3dffe074b6e6336b", optional = true }
procinfo = { version = "0.4.2", optional = true } procinfo = { version = "0.4.2", optional = true }
[features] [features]

View File

@ -9,4 +9,4 @@ futures = "0.3.7"
tokio-util = { version = "0.6.2", features = ["time"] } tokio-util = { version = "0.6.2", features = ["time"] }
[dev-dependencies] [dev-dependencies]
tokio = { version = "1.10.0", features = ["time", "rt-multi-thread", "macros"] } tokio = { version = "1.14.0", features = ["time", "rt-multi-thread", "macros"] }

View File

@ -9,7 +9,7 @@ edition = "2018"
[dependencies] [dependencies]
reqwest = { version = "0.11.0", features = ["json","stream"] } reqwest = { version = "0.11.0", features = ["json","stream"] }
task_executor = { path = "../task_executor" } task_executor = { path = "../task_executor" }
tokio = "1.10.0" tokio = "1.14.0"
eth2 = {path = "../eth2"} eth2 = {path = "../eth2"}
serde_json = "1.0.58" serde_json = "1.0.58"
serde = "1.0.116" serde = "1.0.116"

View File

@ -5,7 +5,7 @@ authors = ["Sigma Prime <contact@sigmaprime.io>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
tokio = { version = "1.10.0", features = ["rt"] } tokio = { version = "1.14.0", features = ["rt"] }
slog = "2.5.2" slog = "2.5.2"
futures = "0.3.7" futures = "0.3.7"
exit-future = "0.2.0" exit-future = "0.2.0"

View File

@ -7,14 +7,14 @@ edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
warp = { git = "https://github.com/macladson/warp", rev ="dfa259e" } warp = "0.3.2"
eth2 = { path = "../eth2" } eth2 = { path = "../eth2" }
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }
beacon_chain = { path = "../../beacon_node/beacon_chain" } beacon_chain = { path = "../../beacon_node/beacon_chain" }
state_processing = { path = "../../consensus/state_processing" } state_processing = { path = "../../consensus/state_processing" }
safe_arith = { path = "../../consensus/safe_arith" } safe_arith = { path = "../../consensus/safe_arith" }
serde = { version = "1.0.116", features = ["derive"] } serde = { version = "1.0.116", features = ["derive"] }
tokio = { version = "1.10.0", features = ["sync"] } tokio = { version = "1.14.0", features = ["sync"] }
headers = "0.3.2" headers = "0.3.2"
lighthouse_metrics = { path = "../lighthouse_metrics" } lighthouse_metrics = { path = "../lighthouse_metrics" }
lazy_static = "1.4.0" lazy_static = "1.4.0"

View File

@ -5,7 +5,7 @@ authors = ["Paul Hauner <paul@paulhauner.com>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
tokio = { version = "1.10.0", features = ["macros", "rt", "rt-multi-thread", "signal" ] } tokio = { version = "1.14.0", features = ["macros", "rt", "rt-multi-thread", "signal" ] }
slog = { version = "2.5.2", features = ["max_level_trace"] } slog = { version = "2.5.2", features = ["max_level_trace"] }
sloggers = "2.0.2" sloggers = "2.0.2"
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }

View File

@ -14,5 +14,5 @@ slog = "2.5.2"
slot_clock = { path = "../../common/slot_clock" } slot_clock = { path = "../../common/slot_clock" }
state_processing = { path = "../../consensus/state_processing" } state_processing = { path = "../../consensus/state_processing" }
task_executor = { path = "../../common/task_executor" } task_executor = { path = "../../common/task_executor" }
tokio = { version = "1.10.0", features = ["full"] } tokio = { version = "1.14.0", features = ["full"] }
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }

View File

@ -5,7 +5,7 @@ authors = ["Paul Hauner <paul@paulhauner.com>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
tokio = { version = "1.10.0", features = ["time"] } tokio = { version = "1.14.0", features = ["time"] }
web3 = { version = "0.17.0", default-features = false, features = ["http-tls", "signing", "ws-tls-tokio"] } web3 = { version = "0.17.0", default-features = false, features = ["http-tls", "signing", "ws-tls-tokio"] }
types = { path = "../../consensus/types"} types = { path = "../../consensus/types"}
serde_json = "1.0.58" serde_json = "1.0.58"

View File

@ -12,7 +12,7 @@ eth1 = {path = "../../beacon_node/eth1"}
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }
parking_lot = "0.11.0" parking_lot = "0.11.0"
futures = "0.3.7" futures = "0.3.7"
tokio = "1.10.0" tokio = "1.14.0"
eth1_test_rig = { path = "../eth1_test_rig" } eth1_test_rig = { path = "../eth1_test_rig" }
env_logger = "0.9.0" env_logger = "0.9.0"
clap = "2.33.3" clap = "2.33.3"

View File

@ -13,7 +13,7 @@ build = "build.rs"
eth2_keystore = { path = "../../crypto/eth2_keystore" } eth2_keystore = { path = "../../crypto/eth2_keystore" }
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }
tempfile = "3.1.0" tempfile = "3.1.0"
tokio = { version = "1.10.0", features = ["rt-multi-thread", "macros"] } tokio = { version = "1.14.0", features = ["rt-multi-thread", "macros"] }
reqwest = { version = "0.11.0", features = ["json","stream"] } reqwest = { version = "0.11.0", features = ["json","stream"] }
url = "2.2.2" url = "2.2.2"
validator_client = { path = "../../validator_client" } validator_client = { path = "../../validator_client" }
@ -29,7 +29,7 @@ serde_yaml = "0.8.13"
eth2_network_config = { path = "../../common/eth2_network_config" } eth2_network_config = { path = "../../common/eth2_network_config" }
[build-dependencies] [build-dependencies]
tokio = { version = "1.10.0", features = ["rt-multi-thread", "macros"] } tokio = { version = "1.14.0", features = ["rt-multi-thread", "macros"] }
reqwest = { version = "0.11.0", features = ["json","stream"] } reqwest = { version = "0.11.0", features = ["json","stream"] }
serde_json = "1.0.58" serde_json = "1.0.58"
zip = "0.5.13" zip = "0.5.13"

View File

@ -9,7 +9,7 @@ name = "validator_client"
path = "src/lib.rs" path = "src/lib.rs"
[dev-dependencies] [dev-dependencies]
tokio = { version = "1.10.0", features = ["time", "rt-multi-thread", "macros"] } tokio = { version = "1.14.0", features = ["time", "rt-multi-thread", "macros"] }
[dependencies] [dependencies]
tree_hash = "0.4.0" tree_hash = "0.4.0"
@ -23,7 +23,7 @@ serde_derive = "1.0.116"
bincode = "1.3.1" bincode = "1.3.1"
serde_json = "1.0.58" serde_json = "1.0.58"
slog = { version = "2.5.2", features = ["max_level_trace", "release_max_level_trace"] } slog = { version = "2.5.2", features = ["max_level_trace", "release_max_level_trace"] }
tokio = { version = "1.10.0", features = ["time"] } tokio = { version = "1.14.0", features = ["time"] }
futures = "0.3.7" futures = "0.3.7"
dirs = "3.0.1" dirs = "3.0.1"
directory = { path = "../common/directory" } directory = { path = "../common/directory" }
@ -43,7 +43,7 @@ eth2_keystore = { path = "../crypto/eth2_keystore" }
account_utils = { path = "../common/account_utils" } account_utils = { path = "../common/account_utils" }
lighthouse_version = { path = "../common/lighthouse_version" } lighthouse_version = { path = "../common/lighthouse_version" }
warp_utils = { path = "../common/warp_utils" } warp_utils = { path = "../common/warp_utils" }
warp = { git = "https://github.com/macladson/warp", rev ="dfa259e" } warp = "0.3.2"
hyper = "0.14.4" hyper = "0.14.4"
eth2_serde_utils = "0.1.0" eth2_serde_utils = "0.1.0"
libsecp256k1 = "0.6.0" libsecp256k1 = "0.6.0"