Upgrade dependencies (#2513)

## Proposed Changes

* Consolidate Tokio versions: everything now uses the latest v1.10.0, no more `tokio-compat`.
* Many semver-compatible changes via `cargo update`. Notably this upgrades from the yanked v0.8.0 version of crossbeam-deque which is present in v1.5.0-rc.0
* Many semver incompatible upgrades via `cargo upgrades` and `cargo upgrade --workspace pkg_name`. Notable ommissions:
    - Prometheus, to be handled separately: https://github.com/sigp/lighthouse/issues/2485
    - `rand`, `rand_xorshift`: the libsecp256k1 package requires 0.7.x, so we'll stick with that for now
    - `ethereum-types` is pinned at 0.11.0 because that's what `web3` is using and it seems nice to have just a single version
    
## Additional Info

We still have two versions of `libp2p-core` due to `discv5` depending on the v0.29.0 release rather than `master`. AFAIK it should be OK to release in this state (cc @AgeManning )
This commit is contained in:
Michael Sproul 2021-08-17 01:00:24 +00:00
parent d17350c0fa
commit c0a2f501d9
47 changed files with 468 additions and 542 deletions

727
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -27,7 +27,7 @@ eth2_wallet = { path = "../crypto/eth2_wallet" }
eth2_wallet_manager = { path = "../common/eth2_wallet_manager" } eth2_wallet_manager = { path = "../common/eth2_wallet_manager" }
rand = "0.7.3" rand = "0.7.3"
validator_dir = { path = "../common/validator_dir" } validator_dir = { path = "../common/validator_dir" }
tokio = { version = "1.7.1", features = ["full"] } tokio = { version = "1.10.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

@ -26,7 +26,7 @@ slog = { version = "2.5.2", features = ["max_level_trace", "release_max_level_tr
slog-term = "2.6.0" slog-term = "2.6.0"
slog-async = "2.5.0" slog-async = "2.5.0"
ctrlc = { version = "3.1.6", features = ["termination"] } ctrlc = { version = "3.1.6", features = ["termination"] }
tokio = { version = "1.7.1", features = ["time"] } tokio = { version = "1.10.0", features = ["time"] }
exit-future = "0.2.0" exit-future = "0.2.0"
dirs = "3.0.1" dirs = "3.0.1"
logging = { path = "../common/logging" } logging = { path = "../common/logging" }

View File

@ -40,7 +40,7 @@ eth2_ssz_derive = "0.1.0"
state_processing = { path = "../../consensus/state_processing" } state_processing = { path = "../../consensus/state_processing" }
tree_hash = "0.1.1" tree_hash = "0.1.1"
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }
tokio = "1.7.1" tokio = "1.10.0"
eth1 = { path = "../eth1" } eth1 = { path = "../eth1" }
futures = "0.3.7" futures = "0.3.7"
genesis = { path = "../genesis" } genesis = { path = "../genesis" }
@ -62,4 +62,4 @@ regex = "1.3.9"
exit-future = "0.2.0" exit-future = "0.2.0"
slasher = { path = "../../slasher" } slasher = { path = "../../slasher" }
eth2 = { path = "../../common/eth2" } eth2 = { path = "../../common/eth2" }
strum = { version = "0.20", features = ["derive"] } strum = { version = "0.21.0", features = ["derive"] }

View File

@ -26,7 +26,7 @@ error-chain = "0.12.4"
serde_yaml = "0.8.13" serde_yaml = "0.8.13"
slog = { version = "2.5.2", features = ["max_level_trace"] } slog = { version = "2.5.2", features = ["max_level_trace"] }
slog-async = "2.5.0" slog-async = "2.5.0"
tokio = "1.7.1" tokio = "1.10.0"
dirs = "3.0.1" dirs = "3.0.1"
futures = "0.3.7" futures = "0.3.7"
reqwest = { version = "0.11.0", features = ["native-tls-vendored"] } reqwest = { version = "0.11.0", features = ["native-tls-vendored"] }

View File

@ -7,10 +7,9 @@ edition = "2018"
[dev-dependencies] [dev-dependencies]
eth1_test_rig = { path = "../../testing/eth1_test_rig" } eth1_test_rig = { path = "../../testing/eth1_test_rig" }
toml = "0.5.6" toml = "0.5.6"
web3 = { version = "0.16.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"] }
sloggers = "1.0.1" sloggers = "1.0.1"
environment = { path = "../../lighthouse/environment" } environment = { path = "../../lighthouse/environment" }
tokio-compat-02 = "0.2.0"
[dependencies] [dependencies]
reqwest = { version = "0.11.0", features = ["native-tls-vendored"] } reqwest = { version = "0.11.0", features = ["native-tls-vendored"] }
@ -26,7 +25,7 @@ tree_hash = "0.1.1"
eth2_hashing = "0.1.0" eth2_hashing = "0.1.0"
parking_lot = "0.11.0" parking_lot = "0.11.0"
slog = "2.5.2" slog = "2.5.2"
tokio = { version = "1.7.1", features = ["full"] } tokio = { version = "1.10.0", features = ["full"] }
state_processing = { path = "../../consensus/state_processing" } state_processing = { path = "../../consensus/state_processing" }
libflate = "1.0.2" libflate = "1.0.2"
lighthouse_metrics = { path = "../../common/lighthouse_metrics"} lighthouse_metrics = { path = "../../common/lighthouse_metrics"}

View File

@ -10,7 +10,6 @@ use slog::Logger;
use sloggers::{null::NullLoggerBuilder, Build}; use sloggers::{null::NullLoggerBuilder, Build};
use std::ops::Range; use std::ops::Range;
use std::time::Duration; use std::time::Duration;
use tokio_compat_02::FutureExt;
use tree_hash::TreeHash; use tree_hash::TreeHash;
use types::{DepositData, EthSpec, Hash256, Keypair, MainnetEthSpec, MinimalEthSpec, Signature}; use types::{DepositData, EthSpec, Hash256, Keypair, MainnetEthSpec, MinimalEthSpec, Signature};
use web3::{transports::Http, Web3}; use web3::{transports::Http, Web3};
@ -90,7 +89,6 @@ async fn blocking_deposit_count(eth1: &GanacheEth1Instance, block_number: u64) -
async fn get_block_number(web3: &Web3<Http>) -> u64 { async fn get_block_number(web3: &Web3<Http>) -> u64 {
web3.eth() web3.eth()
.block_number() .block_number()
.compat()
.await .await
.map(|v| v.as_u64()) .map(|v| v.as_u64())
.expect("should get block number") .expect("should get block number")
@ -180,7 +178,6 @@ mod eth1_cache {
} }
} }
} }
.compat()
.await; .await;
} }
@ -235,7 +232,6 @@ mod eth1_cache {
"should not grow cache beyond target" "should not grow cache beyond target"
); );
} }
.compat()
.await; .await;
} }
@ -288,7 +284,6 @@ mod eth1_cache {
"should not grow cache beyond target" "should not grow cache beyond target"
); );
} }
.compat()
.await; .await;
} }
@ -335,7 +330,6 @@ mod eth1_cache {
assert!(service.block_cache_len() >= n, "should grow the cache"); assert!(service.block_cache_len() >= n, "should grow the cache");
} }
.compat()
.await; .await;
} }
} }
@ -420,7 +414,6 @@ mod deposit_tree {
); );
} }
} }
.compat()
.await; .await;
} }
@ -470,7 +463,6 @@ mod deposit_tree {
assert_eq!(service.deposit_cache_len(), n); assert_eq!(service.deposit_cache_len(), n);
} }
.compat()
.await; .await;
} }
@ -571,7 +563,6 @@ mod deposit_tree {
} }
} }
} }
.compat()
.await; .await;
} }
} }
@ -675,7 +666,6 @@ mod http {
); );
} }
} }
.compat()
.await; .await;
} }
} }
@ -756,7 +746,6 @@ mod fast {
); );
} }
} }
.compat()
.await; .await;
} }
} }
@ -838,7 +827,6 @@ mod persist {
"Should have equal cached deposits as before recovery" "Should have equal cached deposits as before recovery"
); );
} }
.compat()
.await; .await;
} }
} }
@ -918,7 +906,6 @@ mod fallbacks {
endpoint2_block_number endpoint2_block_number
); );
} }
.compat()
.await; .await;
} }
@ -988,7 +975,6 @@ mod fallbacks {
endpoint2_block_number endpoint2_block_number
); );
} }
.compat()
.await; .await;
} }
@ -1058,7 +1044,6 @@ mod fallbacks {
endpoint2_block_number endpoint2_block_number
); );
} }
.compat()
.await; .await;
} }
@ -1136,7 +1121,6 @@ mod fallbacks {
endpoint2_block_number endpoint2_block_number
); );
} }
.compat()
.await; .await;
} }
} }

View File

@ -16,7 +16,7 @@ eth2_ssz = "0.1.2"
eth2_ssz_derive = "0.1.0" eth2_ssz_derive = "0.1.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.7.1", features = ["time", "macros"] } tokio = { version = "1.10.0", features = ["time", "macros"] }
futures = "0.3.7" futures = "0.3.7"
futures-io = "0.3.7" futures-io = "0.3.7"
error-chain = "0.12.4" error-chain = "0.12.4"
@ -39,7 +39,7 @@ task_executor = { path = "../../common/task_executor" }
rand = "0.7.3" rand = "0.7.3"
directory = { path = "../../common/directory" } directory = { path = "../../common/directory" }
regex = "1.3.9" regex = "1.3.9"
strum = { version = "0.20", features = ["derive"] } strum = { version = "0.21.0", features = ["derive"] }
superstruct = "0.2.0" superstruct = "0.2.0"
# TODO: remove the rev-reference and go back to release versions once there is a release that # TODO: remove the rev-reference and go back to release versions once there is a release that
@ -54,7 +54,7 @@ rev = "ce23cbe76a0382b6fcb0e49f1b2612df86f6465d"
features = ["websocket", "identify", "mplex", "yamux", "noise", "gossipsub", "dns-tokio", "tcp-tokio"] features = ["websocket", "identify", "mplex", "yamux", "noise", "gossipsub", "dns-tokio", "tcp-tokio"]
[dev-dependencies] [dev-dependencies]
tokio = { version = "1.7.1", features = ["full"] } tokio = { version = "1.10.0", features = ["full"] }
slog-term = "2.6.0" slog-term = "2.6.0"
slog-async = "2.5.0" slog-async = "2.5.0"
tempfile = "3.1.0" tempfile = "3.1.0"

View File

@ -6,7 +6,6 @@ edition = "2018"
[dev-dependencies] [dev-dependencies]
eth1_test_rig = { path = "../../testing/eth1_test_rig" } eth1_test_rig = { path = "../../testing/eth1_test_rig" }
tokio-compat-02 = "0.2.0"
sensitive_url = { path = "../../common/sensitive_url" } sensitive_url = { path = "../../common/sensitive_url" }
[dependencies] [dependencies]
@ -20,7 +19,7 @@ merkle_proof = { path = "../../consensus/merkle_proof" }
eth2_ssz = "0.1.2" eth2_ssz = "0.1.2"
eth2_hashing = "0.1.0" eth2_hashing = "0.1.0"
tree_hash = "0.1.1" tree_hash = "0.1.1"
tokio = { version = "1.7.1", features = ["full"] } tokio = { version = "1.10.0", features = ["full"] }
parking_lot = "0.11.0" parking_lot = "0.11.0"
slog = "2.5.2" slog = "2.5.2"
exit-future = "0.2.0" exit-future = "0.2.0"

View File

@ -10,7 +10,6 @@ use genesis::{Eth1Config, Eth1GenesisService};
use sensitive_url::SensitiveUrl; use sensitive_url::SensitiveUrl;
use state_processing::is_valid_genesis_state; use state_processing::is_valid_genesis_state;
use std::time::Duration; use std::time::Duration;
use tokio_compat_02::FutureExt;
use types::{test_utils::generate_deterministic_keypair, Hash256, MinimalEthSpec}; use types::{test_utils::generate_deterministic_keypair, Hash256, MinimalEthSpec};
pub fn new_env() -> Environment<MinimalEthSpec> { pub fn new_env() -> Environment<MinimalEthSpec> {
@ -29,86 +28,82 @@ fn basic() {
let log = env.core_context().log().clone(); let log = env.core_context().log().clone();
let mut spec = env.eth2_config().spec.clone(); let mut spec = env.eth2_config().spec.clone();
env.runtime().block_on( env.runtime().block_on(async {
async { let eth1 = GanacheEth1Instance::new(DEFAULT_NETWORK_ID.into(), DEFAULT_CHAIN_ID.into())
let eth1 = GanacheEth1Instance::new(DEFAULT_NETWORK_ID.into(), DEFAULT_CHAIN_ID.into()) .await
.await .expect("should start eth1 environment");
.expect("should start eth1 environment"); let deposit_contract = &eth1.deposit_contract;
let deposit_contract = &eth1.deposit_contract; let web3 = eth1.web3();
let web3 = eth1.web3();
let now = web3 let now = web3
.eth() .eth()
.block_number() .block_number()
.compat() .await
.await .map(|v| v.as_u64())
.map(|v| v.as_u64()) .expect("should get block number");
.expect("should get block number");
let service = Eth1GenesisService::new( let service = Eth1GenesisService::new(
Eth1Config { Eth1Config {
endpoints: vec![SensitiveUrl::parse(eth1.endpoint().as_str()).unwrap()], endpoints: vec![SensitiveUrl::parse(eth1.endpoint().as_str()).unwrap()],
deposit_contract_address: deposit_contract.address(), deposit_contract_address: deposit_contract.address(),
deposit_contract_deploy_block: now, deposit_contract_deploy_block: now,
lowest_cached_block_number: now, lowest_cached_block_number: now,
follow_distance: 0, follow_distance: 0,
block_cache_truncation: None, block_cache_truncation: None,
..Eth1Config::default() ..Eth1Config::default()
}, },
log, log,
spec.clone(), spec.clone(),
); );
// NOTE: this test is sensitive to the response speed of the external web3 server. If // NOTE: this test is sensitive to the response speed of the external web3 server. If
// you're experiencing failures, try increasing the update_interval. // you're experiencing failures, try increasing the update_interval.
let update_interval = Duration::from_millis(500); let update_interval = Duration::from_millis(500);
spec.min_genesis_time = 0; spec.min_genesis_time = 0;
spec.min_genesis_active_validator_count = 8; spec.min_genesis_active_validator_count = 8;
let deposits = (0..spec.min_genesis_active_validator_count + 2) let deposits = (0..spec.min_genesis_active_validator_count + 2)
.map(|i| { .map(|i| {
deposit_contract.deposit_helper::<MinimalEthSpec>( deposit_contract.deposit_helper::<MinimalEthSpec>(
generate_deterministic_keypair(i as usize), generate_deterministic_keypair(i as usize),
Hash256::from_low_u64_le(i), Hash256::from_low_u64_le(i),
32_000_000_000, 32_000_000_000,
) )
}) })
.map(|deposit| DelayThenDeposit { .map(|deposit| DelayThenDeposit {
delay: Duration::from_secs(0), delay: Duration::from_secs(0),
deposit, deposit,
}) })
.collect::<Vec<_>>(); .collect::<Vec<_>>();
let deposit_future = deposit_contract.deposit_multiple(deposits); let deposit_future = deposit_contract.deposit_multiple(deposits);
let wait_future = let wait_future =
service.wait_for_genesis_state::<MinimalEthSpec>(update_interval, spec.clone()); service.wait_for_genesis_state::<MinimalEthSpec>(update_interval, spec.clone());
let state = futures::try_join!(deposit_future, wait_future) let state = futures::try_join!(deposit_future, wait_future)
.map(|(_, state)| state) .map(|(_, state)| state)
.expect("should finish waiting for genesis"); .expect("should finish waiting for genesis");
// Note: using ganache these deposits are 1-per-block, therefore we know there should only be // Note: using ganache these deposits are 1-per-block, therefore we know there should only be
// the minimum number of validators. // the minimum number of validators.
assert_eq!( assert_eq!(
state.validators().len(), state.validators().len(),
spec.min_genesis_active_validator_count as usize, spec.min_genesis_active_validator_count as usize,
"should have expected validator count" "should have expected validator count"
); );
assert!(state.genesis_time() > 0, "should have some genesis time"); assert!(state.genesis_time() > 0, "should have some genesis time");
assert!( assert!(
is_valid_genesis_state(&state, &spec), is_valid_genesis_state(&state, &spec),
"should be valid genesis state" "should be valid genesis state"
); );
assert!( assert!(
is_valid_genesis_state(&state, &spec), is_valid_genesis_state(&state, &spec),
"should be valid genesis state" "should be valid genesis state"
); );
} });
.compat(),
);
} }

View File

@ -8,7 +8,7 @@ autotests = false # using a single test binary compiles faster
[dependencies] [dependencies]
warp = { git = "https://github.com/paulhauner/warp ", branch = "cors-wildcard" } warp = { git = "https://github.com/paulhauner/warp ", branch = "cors-wildcard" }
serde = { version = "1.0.116", features = ["derive"] } serde = { version = "1.0.116", features = ["derive"] }
tokio = { version = "1.7.1", features = ["macros","sync"] } tokio = { version = "1.10.0", features = ["macros","sync"] }
tokio-stream = { version = "0.1.3", features = ["sync"] } tokio-stream = { version = "0.1.3", features = ["sync"] }
tokio-util = "0.6.3" tokio-util = "0.6.3"
parking_lot = "0.11.0" parking_lot = "0.11.0"

View File

@ -23,7 +23,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.7.1", features = ["sync"] } tokio = { version = "1.10.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

@ -31,7 +31,7 @@ eth2_ssz_types = { path = "../../consensus/ssz_types" }
tree_hash = "0.1.1" tree_hash = "0.1.1"
futures = "0.3.7" futures = "0.3.7"
error-chain = "0.12.4" error-chain = "0.12.4"
tokio = { version = "1.7.1", features = ["full"] } tokio = { version = "1.10.0", features = ["full"] }
tokio-stream = "0.1.3" tokio-stream = "0.1.3"
parking_lot = "0.11.0" parking_lot = "0.11.0"
smallvec = "1.6.1" smallvec = "1.6.1"
@ -46,5 +46,5 @@ itertools = "0.10.0"
num_cpus = "1.13.0" num_cpus = "1.13.0"
lru_cache = { path = "../../common/lru_cache" } lru_cache = { path = "../../common/lru_cache" }
if-addrs = "0.6.4" if-addrs = "0.6.4"
strum = { version = "0.20"} strum = "0.21.0"
tokio-util = { version = "0.6.3", features = ["time"] } tokio-util = { version = "0.6.3", features = ["time"] }

View File

@ -8,7 +8,7 @@ edition = "2018"
beacon_chain = { path = "../beacon_chain" } beacon_chain = { path = "../beacon_chain" }
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }
slot_clock = { path = "../../common/slot_clock" } slot_clock = { path = "../../common/slot_clock" }
tokio = { version = "1.7.1", features = ["full"] } tokio = { version = "1.10.0", features = ["full"] }
slog = "2.5.2" slog = "2.5.2"
parking_lot = "0.11.0" parking_lot = "0.11.0"
futures = "0.3.7" futures = "0.3.7"

View File

@ -13,7 +13,7 @@ eth2_network_config = { path = "../common/eth2_network_config" }
eth2_ssz = "0.1.2" eth2_ssz = "0.1.2"
slog = "2.5.2" slog = "2.5.2"
sloggers = "1.0.1" sloggers = "1.0.1"
tokio = "1.7.1" tokio = "1.10.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

@ -90,6 +90,7 @@ pub fn random_password() -> PlainText {
rand::thread_rng() rand::thread_rng()
.sample_iter(&Alphanumeric) .sample_iter(&Alphanumeric)
.take(DEFAULT_PASSWORD_LEN) .take(DEFAULT_PASSWORD_LEN)
.map(char::from)
.collect::<String>() .collect::<String>()
.into_bytes() .into_bytes()
.into() .into()

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.7.1", features = ["time", "rt-multi-thread", "macros"] } tokio = { version = "1.10.0", features = ["time", "rt-multi-thread", "macros"] }

View File

@ -10,7 +10,7 @@ edition = "2018"
reqwest = { version = "0.11.0", features = ["json","stream"] } reqwest = { version = "0.11.0", features = ["json","stream"] }
futures = "0.3.7" futures = "0.3.7"
task_executor = { path = "../task_executor" } task_executor = { path = "../task_executor" }
tokio = "1.7.1" tokio = "1.10.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

@ -11,6 +11,6 @@ remote_signer_test = { path = "../../testing/remote_signer_test" }
[dependencies] [dependencies]
reqwest = { version = "0.11.0", features = ["json"] } reqwest = { version = "0.11.0", features = ["json"] }
serde = { version = "1.0.116", features = ["derive"] } serde = { version = "1.0.116", features = ["derive"] }
tokio = { version = "1.7.1", features = ["time"] } tokio = { version = "1.10.0", features = ["time"] }
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }
sensitive_url = { path = "../sensitive_url" } sensitive_url = { path = "../sensitive_url" }

View File

@ -5,7 +5,7 @@ authors = ["Sigma Prime <contact@sigmaprime.io>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
tokio = { version = "1.7.1", features = ["rt"] } tokio = { version = "1.10.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

@ -294,6 +294,7 @@ fn random_keystore() -> Result<(Keystore, PlainText), Error> {
let password: PlainText = rand::thread_rng() let password: PlainText = rand::thread_rng()
.sample_iter(&Alphanumeric) .sample_iter(&Alphanumeric)
.take(DEFAULT_PASSWORD_LEN) .take(DEFAULT_PASSWORD_LEN)
.map(char::from)
.collect::<String>() .collect::<String>()
.into_bytes() .into_bytes()
.into(); .into();

View File

@ -14,7 +14,7 @@ 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.7.1", features = ["sync"] } tokio = { version = "1.10.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 = ["Michael Sproul <michael@sigmaprime.io>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ethereum-types = "0.9.2" ethereum-types = "0.11.0"
eth2_ssz_types = { path = "../ssz_types" } eth2_ssz_types = { path = "../ssz_types" }
eth2_hashing = "0.1.0" eth2_hashing = "0.1.0"
eth2_ssz_derive = "0.1.0" eth2_ssz_derive = "0.1.0"

View File

@ -5,7 +5,7 @@ authors = ["Michael Sproul <michael@sigmaprime.io>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ethereum-types = "0.9.2" ethereum-types = "0.11.0"
eth2_hashing = "0.1.0" eth2_hashing = "0.1.0"
lazy_static = "1.4.0" lazy_static = "1.4.0"
safe_arith = { path = "../safe_arith" } safe_arith = { path = "../safe_arith" }

View File

@ -13,7 +13,7 @@ name = "ssz"
eth2_ssz_derive = "0.1.0" eth2_ssz_derive = "0.1.0"
[dependencies] [dependencies]
ethereum-types = "0.9.2" ethereum-types = "0.11.0"
smallvec = "1.6.1" smallvec = "1.6.1"
[features] [features]

View File

@ -5,7 +5,7 @@ authors = ["Paul Hauner <paul@paulhauner.com>", "Michael Sproul <michael@sigmapr
edition = "2018" edition = "2018"
[dev-dependencies] [dev-dependencies]
env_logger = "0.8.2" env_logger = "0.9.0"
serde = "1.0.116" serde = "1.0.116"
serde_derive = "1.0.116" serde_derive = "1.0.116"
lazy_static = "1.4.0" lazy_static = "1.4.0"

View File

@ -13,7 +13,7 @@ criterion = "0.3.3"
[dependencies] [dependencies]
eth2_hashing = "0.1.0" eth2_hashing = "0.1.0"
ethereum-types = "0.9.2" ethereum-types = "0.11.0"
[features] [features]
arbitrary = ["ethereum-types/arbitrary"] arbitrary = ["ethereum-types/arbitrary"]

View File

@ -14,7 +14,7 @@ lazy_static = "1.4.0"
beacon_chain = { path = "../../beacon_node/beacon_chain" } beacon_chain = { path = "../../beacon_node/beacon_chain" }
[dependencies] [dependencies]
ethereum-types = "0.9.2" ethereum-types = "0.11.0"
eth2_hashing = "0.1.0" eth2_hashing = "0.1.0"
smallvec = "1.6.1" smallvec = "1.6.1"

View File

@ -13,7 +13,7 @@ bls = { path = "../../crypto/bls" }
compare_fields = { path = "../../common/compare_fields" } compare_fields = { path = "../../common/compare_fields" }
compare_fields_derive = { path = "../../common/compare_fields_derive" } compare_fields_derive = { path = "../../common/compare_fields_derive" }
eth2_interop_keypairs = { path = "../../common/eth2_interop_keypairs" } eth2_interop_keypairs = { path = "../../common/eth2_interop_keypairs" }
ethereum-types = "0.9.2" ethereum-types = "0.11.0"
eth2_hashing = "0.1.0" eth2_hashing = "0.1.0"
hex = "0.4.2" hex = "0.4.2"
int_to_bytes = { path = "../int_to_bytes" } int_to_bytes = { path = "../int_to_bytes" }
@ -37,7 +37,7 @@ cached_tree_hash = { path = "../cached_tree_hash" }
serde_yaml = "0.8.13" serde_yaml = "0.8.13"
tempfile = "3.1.0" tempfile = "3.1.0"
derivative = "2.1.1" derivative = "2.1.1"
rusqlite = { version = "0.24.0", features = ["bundled"], optional = true } rusqlite = { version = "0.25.3", features = ["bundled"], optional = true }
arbitrary = { version = "0.4.6", features = ["derive"], optional = true } arbitrary = { version = "0.4.6", features = ["derive"], optional = true }
serde_utils = { path = "../serde_utils" } serde_utils = { path = "../serde_utils" }
regex = "1.3.9" regex = "1.3.9"

View File

@ -14,7 +14,7 @@ serde_derive = "1.0.116"
serde_utils = { path = "../../consensus/serde_utils" } serde_utils = { path = "../../consensus/serde_utils" }
hex = "0.4.2" hex = "0.4.2"
eth2_hashing = "0.1.0" eth2_hashing = "0.1.0"
ethereum-types = "0.9.2" ethereum-types = "0.11.0"
arbitrary = { version = "0.4.6", features = ["derive"], optional = true } arbitrary = { version = "0.4.6", features = ["derive"], optional = true }
zeroize = { version = "1.1.1", features = ["zeroize_derive"] } zeroize = { version = "1.1.1", features = ["zeroize_derive"] }
blst = "0.3.3" blst = "0.3.3"

View File

@ -8,9 +8,9 @@ edition = "2018"
[dependencies] [dependencies]
rand = "0.7.3" rand = "0.7.3"
hmac = "0.10.1" hmac = "0.11.0"
pbkdf2 = { version = "0.6.0", default-features = false } pbkdf2 = { version = "0.8.0", default-features = false }
scrypt = { version = "0.5.0", default-features = false } scrypt = { version = "0.7.0", default-features = false }
sha2 = "0.9.1" sha2 = "0.9.1"
uuid = { version = "0.8.1", features = ["serde", "v4"] } uuid = { version = "0.8.1", features = ["serde", "v4"] }
zeroize = { version = "1.1.1", features = ["zeroize_derive"] } zeroize = { version = "1.1.1", features = ["zeroize_derive"] }

View File

@ -67,9 +67,8 @@ pub enum Prf {
impl Prf { impl Prf {
pub fn mac(&self, password: &[u8]) -> impl Mac { pub fn mac(&self, password: &[u8]) -> impl Mac {
match &self { match &self {
Prf::HmacSha256 => { Prf::HmacSha256 => Hmac::<Sha256>::new_from_slice(password)
Hmac::<Sha256>::new_varkey(password).expect("Could not derive HMAC using SHA256.") .expect("Could not derive HMAC using SHA256."),
}
} }
} }
} }

View File

@ -17,7 +17,7 @@ use pbkdf2::pbkdf2;
use rand::prelude::*; use rand::prelude::*;
use scrypt::{ use scrypt::{
errors::{InvalidOutputLen, InvalidParams}, errors::{InvalidOutputLen, InvalidParams},
scrypt, ScryptParams, scrypt, Params as ScryptParams,
}; };
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use sha2::{Digest, Sha256}; use sha2::{Digest, Sha256};

View File

@ -27,7 +27,7 @@ dirs = "3.0.1"
genesis = { path = "../beacon_node/genesis" } genesis = { path = "../beacon_node/genesis" }
deposit_contract = { path = "../common/deposit_contract" } deposit_contract = { path = "../common/deposit_contract" }
tree_hash = "0.1.1" tree_hash = "0.1.1"
tokio = { version = "1.7.1", features = ["full"] } tokio = { version = "1.10.0", features = ["full"] }
clap_utils = { path = "../common/clap_utils" } clap_utils = { path = "../common/clap_utils" }
eth2_libp2p = { path = "../beacon_node/eth2_libp2p" } eth2_libp2p = { path = "../beacon_node/eth2_libp2p" }
validator_dir = { path = "../common/validator_dir", features = ["insecure_keys"] } validator_dir = { path = "../common/validator_dir", features = ["insecure_keys"] }
@ -37,6 +37,6 @@ lighthouse_version = { path = "../common/lighthouse_version" }
directory = { path = "../common/directory" } directory = { path = "../common/directory" }
account_utils = { path = "../common/account_utils" } account_utils = { path = "../common/account_utils" }
eth2_wallet = { path = "../crypto/eth2_wallet" } eth2_wallet = { path = "../crypto/eth2_wallet" }
web3 = { version = "0.16.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"] }
eth1_test_rig = { path = "../testing/eth1_test_rig" } eth1_test_rig = { path = "../testing/eth1_test_rig" }
sensitive_url = { path = "../common/sensitive_url" } sensitive_url = { path = "../common/sensitive_url" }

View File

@ -19,14 +19,14 @@ spec-minimal = []
[dependencies] [dependencies]
beacon_node = { "path" = "../beacon_node" } beacon_node = { "path" = "../beacon_node" }
tokio = "1.7.1" tokio = "1.10.0"
slog = { version = "2.5.2", features = ["max_level_trace"] } slog = { version = "2.5.2", features = ["max_level_trace"] }
sloggers = "1.0.1" sloggers = "1.0.1"
types = { "path" = "../consensus/types" } types = { "path" = "../consensus/types" }
bls = { path = "../crypto/bls" } bls = { path = "../crypto/bls" }
eth2_hashing = "0.1.0" eth2_hashing = "0.1.0"
clap = "2.33.3" clap = "2.33.3"
env_logger = "0.8.2" env_logger = "0.9.0"
logging = { path = "../common/logging" } logging = { path = "../common/logging" }
slog-term = "2.6.0" slog-term = "2.6.0"
slog-async = "2.5.0" slog-async = "2.5.0"

View File

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

View File

@ -16,7 +16,7 @@ filesystem = { path = "../common/filesystem" }
lmdb = "0.8" lmdb = "0.8"
lmdb-sys = "0.8" lmdb-sys = "0.8"
parking_lot = "0.11.0" parking_lot = "0.11.0"
rand = "0.7" rand = "0.7.3"
safe_arith = { path = "../consensus/safe_arith" } safe_arith = { path = "../consensus/safe_arith" }
serde = "1.0" serde = "1.0"
serde_derive = "1.0" serde_derive = "1.0"

View File

@ -14,6 +14,6 @@ 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.7.1", features = ["full"] } tokio = { version = "1.10.0", features = ["full"] }
tokio-stream = "0.1.3" tokio-stream = "0.1.3"
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }

View File

@ -15,7 +15,7 @@ bls = { path = "../../crypto/bls", default-features = false }
compare_fields = { path = "../../common/compare_fields" } compare_fields = { path = "../../common/compare_fields" }
compare_fields_derive = { path = "../../common/compare_fields_derive" } compare_fields_derive = { path = "../../common/compare_fields_derive" }
derivative = "2.1.1" derivative = "2.1.1"
ethereum-types = "0.9.2" ethereum-types = "0.11.0"
hex = "0.4.2" hex = "0.4.2"
rayon = "1.4.1" rayon = "1.4.1"
serde = "1.0.116" serde = "1.0.116"

View File

@ -5,9 +5,8 @@ authors = ["Paul Hauner <paul@paulhauner.com>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
tokio = { version = "1.7.1", features = ["time"] } tokio = { version = "1.10.0", features = ["time"] }
tokio-compat-02 = "0.2.0" web3 = { version = "0.17.0", default-features = false, features = ["http-tls", "signing", "ws-tls-tokio"] }
web3 = { version = "0.16.0", default-features = false, features = ["http-tls", "signing", "ws-tls-tokio"] }
futures = "0.3.7" futures = "0.3.7"
types = { path = "../../consensus/types"} types = { path = "../../consensus/types"}
serde_json = "1.0.58" serde_json = "1.0.58"

View File

@ -4,7 +4,6 @@ use std::io::BufReader;
use std::net::TcpListener; use std::net::TcpListener;
use std::process::{Child, Command, Stdio}; use std::process::{Child, Command, Stdio};
use std::time::{Duration, Instant}; use std::time::{Duration, Instant};
use tokio_compat_02::FutureExt;
use web3::{transports::Http, Transport, Web3}; use web3::{transports::Http, Transport, Web3};
/// How long we will wait for ganache to indicate that it is ready. /// How long we will wait for ganache to indicate that it is ready.
@ -156,7 +155,6 @@ impl GanacheInstance {
self.web3 self.web3
.transport() .transport()
.execute("evm_increaseTime", vec![json!(increase_by)]) .execute("evm_increaseTime", vec![json!(increase_by)])
.compat()
.await .await
.map(|_json_value| ()) .map(|_json_value| ())
.map_err(|e| format!("Failed to increase time on EVM (is this ganache?): {:?}", e)) .map_err(|e| format!("Failed to increase time on EVM (is this ganache?): {:?}", e))
@ -167,7 +165,6 @@ impl GanacheInstance {
self.web3 self.web3
.eth() .eth()
.block_number() .block_number()
.compat()
.await .await
.map(|v| v.as_u64()) .map(|v| v.as_u64())
.map_err(|e| format!("Failed to get block number: {:?}", e)) .map_err(|e| format!("Failed to get block number: {:?}", e))
@ -178,7 +175,6 @@ impl GanacheInstance {
self.web3 self.web3
.transport() .transport()
.execute("evm_mine", vec![]) .execute("evm_mine", vec![])
.compat()
.await .await
.map(|_| ()) .map(|_| ())
.map_err(|_| { .map_err(|_| {

View File

@ -13,7 +13,6 @@ use deposit_contract::{
use ganache::GanacheInstance; use ganache::GanacheInstance;
use std::time::Duration; use std::time::Duration;
use tokio::time::sleep; use tokio::time::sleep;
use tokio_compat_02::FutureExt;
use types::DepositData; use types::DepositData;
use types::{test_utils::generate_deterministic_keypair, EthSpec, Hash256, Keypair, Signature}; use types::{test_utils::generate_deterministic_keypair, EthSpec, Hash256, Keypair, Signature};
use web3::contract::{Contract, Options}; use web3::contract::{Contract, Options};
@ -182,7 +181,6 @@ impl DepositContract {
.web3 .web3
.eth() .eth()
.accounts() .accounts()
.compat()
.await .await
.map_err(|e| format!("Failed to get accounts: {:?}", e)) .map_err(|e| format!("Failed to get accounts: {:?}", e))
.and_then(|accounts| { .and_then(|accounts| {
@ -213,7 +211,6 @@ impl DepositContract {
self.web3 self.web3
.eth() .eth()
.send_transaction(tx_request) .send_transaction(tx_request)
.compat()
.await .await
.map_err(|e| format!("Failed to call deposit fn: {:?}", e))?; .map_err(|e| format!("Failed to call deposit fn: {:?}", e))?;
Ok(()) Ok(())
@ -257,7 +254,6 @@ async fn deploy_deposit_contract(
let from_address = web3 let from_address = web3
.eth() .eth()
.accounts() .accounts()
.compat()
.await .await
.map_err(|e| format!("Failed to get accounts: {:?}", e)) .map_err(|e| format!("Failed to get accounts: {:?}", e))
.and_then(|accounts| { .and_then(|accounts| {
@ -271,7 +267,6 @@ async fn deploy_deposit_contract(
let result = web3 let result = web3
.personal() .personal()
.unlock_account(from_address, &password, None) .unlock_account(from_address, &password, None)
.compat()
.await; .await;
match result { match result {
Ok(true) => return Ok(from_address), Ok(true) => return Ok(from_address),
@ -292,7 +287,6 @@ async fn deploy_deposit_contract(
.execute(bytecode, (), deploy_address); .execute(bytecode, (), deploy_address);
pending_contract pending_contract
.compat()
.await .await
.map(|contract| contract.address()) .map(|contract| contract.address())
.map_err(|e| format!("Unable to resolve pending contract: {:?}", e)) .map_err(|e| format!("Unable to resolve pending contract: {:?}", e))

View File

@ -15,7 +15,7 @@ reqwest = { version = "0.11.0", features = ["blocking", "json"] }
serde = { version = "1.0.116", features = ["derive"] } serde = { version = "1.0.116", features = ["derive"] }
serde_json = "1.0.58" serde_json = "1.0.58"
tempfile = "3.1.0" tempfile = "3.1.0"
tokio = { version = "1.7.1", features = ["time"] } tokio = { version = "1.10.0", features = ["time"] }
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }
sensitive_url = { path = "../../common/sensitive_url" } sensitive_url = { path = "../../common/sensitive_url" }

View File

@ -13,9 +13,9 @@ types = { path = "../../consensus/types" }
validator_client = { path = "../../validator_client" } validator_client = { path = "../../validator_client" }
parking_lot = "0.11.0" parking_lot = "0.11.0"
futures = "0.3.7" futures = "0.3.7"
tokio = "1.7.1" tokio = "1.10.0"
eth1_test_rig = { path = "../eth1_test_rig" } eth1_test_rig = { path = "../eth1_test_rig" }
env_logger = "0.8.2" env_logger = "0.9.0"
clap = "2.33.3" clap = "2.33.3"
rayon = "1.4.1" rayon = "1.4.1"
sensitive_url = { path = "../../common/sensitive_url" } sensitive_url = { path = "../../common/sensitive_url" }

View File

@ -9,7 +9,7 @@ name = "validator_client"
path = "src/lib.rs" path = "src/lib.rs"
[dev-dependencies] [dev-dependencies]
tokio = { version = "1.7.1", features = ["time", "rt-multi-thread", "macros"] } tokio = { version = "1.10.0", features = ["time", "rt-multi-thread", "macros"] }
deposit_contract = { path = "../common/deposit_contract" } deposit_contract = { path = "../common/deposit_contract" }
[dependencies] [dependencies]
@ -30,7 +30,7 @@ serde_yaml = "0.8.13"
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"] }
slog-async = "2.5.0" slog-async = "2.5.0"
slog-term = "2.6.0" slog-term = "2.6.0"
tokio = { version = "1.7.1", features = ["time"] } tokio = { version = "1.10.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" }
@ -57,10 +57,10 @@ warp_utils = { path = "../common/warp_utils" }
warp = { git = "https://github.com/paulhauner/warp ", branch = "cors-wildcard" } warp = { git = "https://github.com/paulhauner/warp ", branch = "cors-wildcard" }
hyper = "0.14.4" hyper = "0.14.4"
serde_utils = { path = "../consensus/serde_utils" } serde_utils = { path = "../consensus/serde_utils" }
libsecp256k1 = "0.5.0" libsecp256k1 = "0.6.0"
ring = "0.16.19" ring = "0.16.19"
rand = "0.7.3" rand = "0.7.3"
scrypt = { version = "0.5.0", default-features = false } scrypt = { version = "0.7.0", default-features = false }
lighthouse_metrics = { path = "../common/lighthouse_metrics" } lighthouse_metrics = { path = "../common/lighthouse_metrics" }
lazy_static = "1.4.0" lazy_static = "1.4.0"
fallback = { path = "../common/fallback" } fallback = { path = "../common/fallback" }

View File

@ -8,9 +8,9 @@ edition = "2018"
tempfile = "3.1.0" tempfile = "3.1.0"
types = { path = "../../consensus/types" } types = { path = "../../consensus/types" }
tree_hash = "0.1.1" tree_hash = "0.1.1"
rusqlite = { version = "0.24.0", features = ["bundled"] } rusqlite = { version = "0.25.3", features = ["bundled"] }
r2d2 = "0.8.9" r2d2 = "0.8.9"
r2d2_sqlite = "0.17.0" r2d2_sqlite = "0.18.0"
parking_lot = "0.11.0" parking_lot = "0.11.0"
serde = "1.0.116" serde = "1.0.116"
serde_derive = "1.0.116" serde_derive = "1.0.116"

View File

@ -160,7 +160,7 @@ impl SlashingDatabase {
let mut stmt = txn.prepare("INSERT INTO validators (public_key) VALUES (?1)")?; let mut stmt = txn.prepare("INSERT INTO validators (public_key) VALUES (?1)")?;
for pubkey in public_keys { for pubkey in public_keys {
if self.get_validator_id_opt(txn, pubkey)?.is_none() { if self.get_validator_id_opt(txn, pubkey)?.is_none() {
stmt.execute(&[pubkey.as_hex_string()])?; stmt.execute([pubkey.as_hex_string()])?;
} }
} }
Ok(()) Ok(())