content: [package]
  description = "OpenEthereum"
  name = "openethereum"
  # NOTE Make sure to update util/version/Cargo.toml as well
  version = "3.3.5"
  license = "GPL-3.0"
  authors = [
  	"OpenEthereum developers",
  	"Parity Technologies <admin@parity.io>"
  ]
  
  [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"
  crossbeam-channel = "0.5.2"
  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" }
  rpc-servers = { path = "crates/rpc-servers", package = "oe-rpc-servers" }
  rpc-common = { path = "crates/rpc-common", package = "oe-rpc-common" }
  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 <parity params>`,
  # to visualize a memory profile, use `heaptrack_gui`
  # or
  # `valgrind --tool=massif /path/to/parity <parity params>`
  # 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"
  ]
  