82753f842d
## Issue Addressed Closes #1264 ## Proposed Changes * Milagro BLS: tweak the feature flags so that Milagro doesn't get compiled if we're using BLST. Profiling showed that it was consuming about 1 minute of CPU time out of 60 minutes of CPU time (real time ~15 mins). A 1.6% saving. * Reduce monomorphization: compiling for 3 different `EthSpec` types causes a heck of a lot of generic functions to be instantiated (monomorphized). Removing 2 of 3 cuts the LLVM+linking step from around 250 seconds to 180 seconds, a saving of 70 seconds (real time!). This applies only to `make` and not the CI build, because we test with the minimal spec on CI. * Update `web3` crate to v0.13. This is perhaps the most controversial change, because it requires axing some deposit contract tools from `lcli`. I suspect these tools weren't used much anyway, and could be maintained separately, but I'm also happy to revert this change. However, it does save us a lot of compile time. With #1839, we now have 3 versions of Tokio (and all of Tokio's deps). This change brings us down to 2 versions, but 1 should be achievable once web3 (and reqwest) move to Tokio 0.3. * Remove `lcli` from the Docker image. It's a dev tool and can be built from the repo if required.
39 lines
1.2 KiB
TOML
39 lines
1.2 KiB
TOML
[package]
|
|
name = "lcli"
|
|
description = "Lighthouse CLI (modeled after zcli)"
|
|
version = "1.0.3"
|
|
authors = ["Paul Hauner <paul@paulhauner.com>"]
|
|
edition = "2018"
|
|
|
|
[features]
|
|
portable = ["bls/supranational-portable"]
|
|
|
|
[dependencies]
|
|
bls = { path = "../crypto/bls" }
|
|
clap = "2.33.3"
|
|
hex = "0.4.2"
|
|
log = "0.4.11"
|
|
serde = "1.0.116"
|
|
serde_yaml = "0.8.13"
|
|
simple_logger = "1.10.0"
|
|
types = { path = "../consensus/types" }
|
|
state_processing = { path = "../consensus/state_processing" }
|
|
eth2_ssz = "0.1.2"
|
|
regex = "1.3.9"
|
|
futures = "0.3.7"
|
|
environment = { path = "../lighthouse/environment" }
|
|
eth2_network_config = { path = "../common/eth2_network_config" }
|
|
dirs = "3.0.1"
|
|
genesis = { path = "../beacon_node/genesis" }
|
|
deposit_contract = { path = "../common/deposit_contract" }
|
|
tree_hash = "0.1.1"
|
|
tokio = { version = "0.3.2", features = ["full"] }
|
|
clap_utils = { path = "../common/clap_utils" }
|
|
eth2_libp2p = { path = "../beacon_node/eth2_libp2p" }
|
|
validator_dir = { path = "../common/validator_dir", features = ["insecure_keys"] }
|
|
rand = "0.7.3"
|
|
eth2_keystore = { path = "../crypto/eth2_keystore" }
|
|
lighthouse_version = { path = "../common/lighthouse_version" }
|
|
directory = { path = "../common/directory" }
|
|
tokio-compat-02 = "0.1"
|