fbf425c4e2
* Add client-traits crate Move the BlockInfo trait to new crate * New crate `machine` Contains code extracted from ethcore that defines `Machine`, `Externalities` and other execution related code. * Use new machine and client-traits crates in ethcore * Use new crates machine and client-traits instead of ethcore where appropriate * Fix tests * Don't re-export so many types from ethcore::client * Fixing more fallout from removing re-export * fix test * More fallout from not re-exporting types * Add some docs * cleanup * import the macro edition style * Tweak docs * Add missing import * remove unused ethabi_derive imports * Use latest ethabi-contract * Move many traits from ethcore/client/traits to client-traits crate Initial version of extracted Engine trait * Move snapshot related traits to the engine crate (eew) * Move a few snapshot related types to common_types Cleanup Executed as exported from machine crate * fix warning * Gradually introduce new engine crate: snapshot * ethcore typechecks with new engine crate * Sort out types outside ethcore * Add an EpochVerifier to ethash and use that in Engine.epoch_verifier() Cleanup * Document pub members * Sort out tests Sort out default impls for EpochVerifier * Add test-helpers feature and move EngineSigner impl to the right place * Sort out tests * Sort out tests and refactor verification types * Fix missing traits * More missing traits Fix Histogram * Fix tests and cleanup * cleanup * Put back needed logger import * Don't rexport common_types from ethcore/src/client Don't export ethcore::client::* * Remove files no longer used Use types from the engine crate Explicit exports from engine::engine * Get rid of itertools * Move a few more traits from ethcore to client-traits: BlockChainReset, ScheduleInfo, StateClient * Move ProvingBlockChainClient to client-traits * Don't re-export ForkChoice and Transition from ethcore * Address grumbles: sort imports, remove commented out code * Fix merge resolution error * Extract the Clique engine to own crate * Extract NullEngine and the block_reward module from ethcore * Extract InstantSeal engine to own crate * Extract remaining engines * Extract executive_state to own crate so it can be used by engine crates * Remove snapshot stuff from the engine crate * Put snapshot traits back in ethcore * cleanup * Remove stuff from ethcore * Don't use itertools * itertools in aura is legit-ish * More post-merge fixes * Re-export less types in client * cleanup * Extract spec to own crate * Put back the test-helpers from basic-authority * Fix ethcore benchmarks * Reduce the public api of ethcore/verification * Update ethcore/block-reward/Cargo.toml Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * Update ethcore/engines/basic-authority/Cargo.toml Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * Update ethcore/engines/ethash/Cargo.toml Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * Update ethcore/engines/clique/src/lib.rs Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * signers is already a ref * Add an EngineType enum to tighten up Engine.name() * Introduce Snapshotting enum to distinguish the type of snapshots a chain uses * Rename supports_warp to snapshot_mode * Missing import * Update ethcore/src/snapshot/consensus/mod.rs Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * missing import * Fix import * double semi
136 lines
4.7 KiB
TOML
136 lines
4.7 KiB
TOML
[package]
|
|
description = "Parity Ethereum (EthCore) Library"
|
|
homepage = "http://parity.io"
|
|
license = "GPL-3.0"
|
|
name = "ethcore"
|
|
version = "1.12.0"
|
|
authors = ["Parity Technologies <admin@parity.io>"]
|
|
|
|
[dependencies]
|
|
account-db = { path = "account-db" }
|
|
account-state = { path = "account-state" }
|
|
ansi_term = "0.11"
|
|
basic-authority = { path = "./engines/basic-authority", optional = true} # used by test-helpers feature
|
|
blooms-db = { path = "../util/blooms-db", optional = true }
|
|
client-traits = { path = "./client-traits" }
|
|
common-types = { path = "types" }
|
|
crossbeam-utils = "0.6"
|
|
engine = { path = "./engine" }
|
|
env_logger = { version = "0.5", optional = true }
|
|
ethabi = "8.0"
|
|
ethabi-contract = "8.0"
|
|
ethabi-derive = "8.0"
|
|
ethash = { path = "../ethash", optional = true }
|
|
ethjson = { path = "../json", optional = true }
|
|
ethkey = { path = "../accounts/ethkey", optional = true }
|
|
ethcore-blockchain = { path = "./blockchain" }
|
|
ethcore-bloom-journal = { path = "../util/bloom" }
|
|
ethcore-call-contract = { path = "./call-contract" }
|
|
ethcore-db = { path = "./db" }
|
|
ethcore-io = { path = "../util/io" }
|
|
ethcore-miner = { path = "../miner" }
|
|
ethcore-stratum = { path = "../miner/stratum", optional = true }
|
|
ethereum-types = "0.6.0"
|
|
evm = { path = "evm" }
|
|
executive-state = { path = "executive-state" }
|
|
futures = "0.1"
|
|
hash-db = "0.15.0"
|
|
parity-util-mem = "0.2.0"
|
|
itertools = "0.5"
|
|
journaldb = { path = "../util/journaldb" }
|
|
keccak-hash = "0.2.0"
|
|
keccak-hasher = { path = "../util/keccak-hasher" }
|
|
kvdb = "0.1"
|
|
kvdb-memorydb = "0.1"
|
|
kvdb-rocksdb = { version = "0.1.3", optional = true }
|
|
lazy_static = "1.3.0"
|
|
len-caching-lock = { path = "../util/len-caching-lock" }
|
|
log = "0.4"
|
|
macros = { path = "../util/macros", optional = true }
|
|
machine = { path = "./machine" }
|
|
memory-cache = { path = "../util/memory-cache" }
|
|
num_cpus = "1.2"
|
|
parity-bytes = "0.1"
|
|
parity-snappy = "0.1"
|
|
parking_lot = "0.8"
|
|
pod = { path = "pod", optional = true }
|
|
trie-db = "0.15.0"
|
|
patricia-trie-ethereum = { path = "../util/patricia-trie-ethereum" }
|
|
rand = "0.6"
|
|
rand_xorshift = "0.1.1"
|
|
rayon = "1.1"
|
|
rlp = "0.4.0"
|
|
rlp_derive = { path = "../util/rlp-derive" }
|
|
rustc-hex = "1.0"
|
|
serde = "1.0"
|
|
serde_derive = "1.0"
|
|
spec = { path = "spec" }
|
|
state-db = { path = "state-db" }
|
|
stats = { path = "../util/stats" }
|
|
tempdir = { version = "0.3", optional = true }
|
|
time-utils = { path = "../util/time-utils" }
|
|
trace = { path = "trace" }
|
|
trace-time = "0.1"
|
|
trie-vm-factories = { path = "trie-vm-factories" }
|
|
triehash-ethereum = { version = "0.2", path = "../util/triehash-ethereum" }
|
|
unexpected = { path = "../util/unexpected" }
|
|
using_queue = { path = "../miner/using-queue" }
|
|
vm = { path = "vm" }
|
|
|
|
[dev-dependencies]
|
|
blooms-db = { path = "../util/blooms-db" }
|
|
ethcore-builtin = { path = "./builtin" }
|
|
criterion = "0.2"
|
|
engine = { path = "./engine", features = ["test-helpers"] }
|
|
env_logger = "0.5"
|
|
ethash = { path = "../ethash" }
|
|
ethcore-accounts = { path = "../accounts" }
|
|
ethjson = { path = "../json" }
|
|
ethkey = { path = "../accounts/ethkey" }
|
|
fetch = { path = "../util/fetch" }
|
|
kvdb-rocksdb = "0.1.3"
|
|
machine = { path = "./machine", features = ["test-helpers"] }
|
|
macros = { path = "../util/macros" }
|
|
null-engine = { path = "./engines/null-engine" }
|
|
parity-runtime = { path = "../util/runtime" }
|
|
pod = { path = "pod" }
|
|
rlp_compress = { path = "../util/rlp-compress" }
|
|
serde_json = "1.0"
|
|
tempdir = "0.3"
|
|
trie-standardmap = "0.15.0"
|
|
|
|
[features]
|
|
parity = ["work-notify", "price-info", "stratum", "macros"]
|
|
# Large optional features that are enabled by default for Parity,
|
|
# but might be omitted for other dependent crates.
|
|
work-notify = ["ethcore-miner/work-notify"]
|
|
price-info = ["ethcore-miner/price-info"]
|
|
stratum = ["ethcore-stratum"]
|
|
|
|
# Disables seal verification for mined blocks.
|
|
# This allows you to submit any seal via RPC to test and benchmark
|
|
# how fast pending block get's created while running on the mainnet.
|
|
miner-debug = []
|
|
# Display EVM debug traces.
|
|
evm-debug = ["evm/evm-debug"]
|
|
# Display EVM debug traces when running tests.
|
|
evm-debug-tests = ["evm-debug", "evm/evm-debug-tests"]
|
|
# Measure time of transaction execution.
|
|
# Whenever the transaction execution time (in millis) exceeds the value of
|
|
# SLOW_TX_DURATION env variable (provided compile time!)
|
|
# EVM debug traces are printed.
|
|
slow-blocks = []
|
|
# Run JSON consensus tests.
|
|
json-tests = ["env_logger", "test-helpers", "machine/test-helpers"]
|
|
# Skip JSON consensus tests with pending issues.
|
|
ci-skip-tests = []
|
|
# Run memory/cpu heavy tests.
|
|
test-heavy = []
|
|
# Compile test helpers
|
|
# note[dvdplm]: "basic-authority/test-helpers" is needed so that `generate_dummy_client_with_spec` works
|
|
test-helpers = ["tempdir", "kvdb-rocksdb", "blooms-db", "ethash", "ethjson", "ethkey", "macros", "pod", "basic-authority/test-helpers"]
|
|
|
|
[[bench]]
|
|
name = "builtin"
|
|
harness = false
|