[package] description = "OpenEthereum" name = "openethereum" # NOTE Make sure to update util/version/Cargo.toml as well version = "3.3.3" license = "GPL-3.0" authors = [ "OpenEthereum developers", "Parity Technologies " ] [dependencies] blooms-db = { path = "crates/db/blooms-db" } log = "0.4" rustc-hex = "1.0" docopt = "1.0" clap = "2" term_size = "0.3" textwrap = "0.9" num_cpus = "1.2" number_prefix = "0.2" rpassword = "1.0" semver = "0.9" ansi_term = "0.10" parking_lot = "0.11.1" regex = "1.0" atty = "0.2.8" toml = "0.4" serde = "1.0" serde_json = "1.0" serde_derive = "1.0" futures = "0.1" hyper = { version = "0.12" } fdlimit = "0.1" ctrlc = { git = "https://github.com/paritytech/rust-ctrlc.git" } jsonrpc-core = "15.0.0" parity-bytes = "0.1" common-types = { path = "crates/ethcore/types" } ethcore = { path = "crates/ethcore", features = ["parity"] } ethcore-accounts = { path = "crates/accounts", optional = true } ethcore-blockchain = { path = "crates/ethcore/blockchain" } ethcore-call-contract = { path = "crates/vm/call-contract"} ethcore-db = { path = "crates/db/db" } ethcore-io = { path = "crates/runtime/io" } ethcore-logger = { path = "bin/oe/logger" } ethcore-miner = { path = "crates/concensus/miner" } ethcore-network = { path = "crates/net/network" } ethcore-service = { path = "crates/ethcore/service" } ethcore-sync = { path = "crates/ethcore/sync" } ethereum-types = "0.9.2" ethkey = { path = "crates/accounts/ethkey" } ethstore = { path = "crates/accounts/ethstore" } fetch = { path = "crates/net/fetch" } node-filter = { path = "crates/net/node-filter" } parity-crypto = { version = "0.6.2", features = [ "publickey" ] } rlp = { version = "0.4.6" } cli-signer= { path = "crates/util/cli-signer" } parity-daemonize = "0.3" parity-local-store = { path = "crates/concensus/miner/local-store" } parity-runtime = { path = "crates/runtime/runtime" } parity-rpc = { path = "crates/rpc" } parity-version = { path = "crates/util/version" } parity-path = "0.1" dir = { path = "crates/util/dir" } panic_hook = { path = "crates/util/panic-hook" } keccak-hash = "0.5.0" migration-rocksdb = { path = "crates/db/migration-rocksdb" } kvdb = "0.1" kvdb-rocksdb = "0.1.3" journaldb = { path = "crates/db/journaldb" } stats = { path = "crates/util/stats" } prometheus = "0.9.0" # ethcore-secretstore = { path = "crates/util/secret-store", optional = true } [build-dependencies] rustc_version = "0.2" [dev-dependencies] pretty_assertions = "0.1" ipnetwork = "0.12.6" tempdir = "0.3" fake-fetch = { path = "crates/net/fake-fetch" } lazy_static = "1.2.0" [target.'cfg(windows)'.dependencies] winapi = { version = "0.3.4", features = ["winsock2", "winuser", "shellapi"] } [features] default = ["accounts"] accounts = ["ethcore-accounts", "parity-rpc/accounts"] miner-debug = ["ethcore/miner-debug"] json-tests = ["ethcore/json-tests"] ci-skip-tests = ["ethcore/ci-skip-tests"] test-heavy = ["ethcore/test-heavy"] evm-debug = ["ethcore/evm-debug"] evm-debug-tests = ["ethcore/evm-debug-tests"] slow-blocks = ["ethcore/slow-blocks"] final = ["parity-version/final"] deadlock_detection = ["parking_lot/deadlock_detection"] # to create a memory profile (requires nightly rust), use e.g. # `heaptrack /path/to/parity `, # to visualize a memory profile, use `heaptrack_gui` # or # `valgrind --tool=massif /path/to/parity ` # and `massif-visualizer` for visualization memory_profiling = [] [lib] path = "bin/oe/lib.rs" [[bin]] path = "bin/oe/main.rs" name = "openethereum" [profile.test] lto = false opt-level = 3 # makes tests slower to compile, but faster to run [profile.release] debug = false lto = true [workspace] # This should only list projects that are not # in the dependency tree in any other way # (i.e. pretty much only standalone CLI tools) members = [ "bin/ethkey", "bin/ethstore", "bin/evmbin", "bin/chainspec" ]