b457f46c81
* ethash: initial implementation of progpow * progpow: use wrapping arithmetic * progpow: cleanup comments * progpow: fix keccak_f800 * progpow: reorder definitions * progpow: general fixing * progpow: add basic tests from geth * progpow: generate c_dag and add test * progpow: fix progpow_init and progpow_loop * progpow: fix and add new test * progpow: tabify * progpow: add shared testvectors from geth and aleth * progpow: add benchmarks * progpow: don't read bytes from dag * ethash: use criterion for progpow benchmarks * progpow: dont borrow hash on fnv1a_hash * progpow: don't borrow operand on progpow merge * progpow: hardcode dag lookup function we only support light verification anyway * progpow: read double words directly from the dag * progpow: inline some small functions * progpow: remove some bounds checking from the main loop * progpow: remove unreachable match cases * progpow: remove bounds check in keccak_f800_round * progpow: fix ptr::swap * progpow: force loop unroll in keccak_f800_round * progpow: remove unnecessary branching in progpow_loop * progpow: force loop unroll in fill_mix * progpow: silence unused warning * progpow: dont run last keccak_f800_round out of the loop rustc generates the same assembly, it unrolls the loop * progpow: fix output of keccak_f800_short * ethcore: support progpow in ethash engine * ethash: fix typo * ethcore, ethash: fix tests * json: fix ethash spec tests * ethash: update quick_get_difficulty for progpow * ethash: drop light cache on progpow transition block * ethash: fix quick_get_difficulty tests * progpow: update to spec v0.9.0 * progpow: update to spec v0.9.1 * progpow: update to spec v0.9.2 * ethash: rename progpow benchmarks * fix Cargo.lock bad merge * ethash: only export modules for benchmarks * ethash: progpow: remove unsafe unchecked indexing * ethash: create enum for pow algorithm * ethash: box the progpow cdag * ethash: skip slow progpow test vectors on ci * ethash: don't skip progpow test vectors they don't take too long when running in release mode which is the case for CI. * ethash: progpow: update copyright date Co-Authored-By: andresilva <andre.beat@gmail.com> * ethcore: remove verification of ci-skip-tests on non-test builds
121 lines
3.9 KiB
TOML
121 lines
3.9 KiB
TOML
[package]
|
|
description = "Ethcore library"
|
|
homepage = "http://parity.io"
|
|
license = "GPL-3.0"
|
|
name = "ethcore"
|
|
version = "1.12.0"
|
|
authors = ["Parity Technologies <admin@parity.io>"]
|
|
|
|
[dependencies]
|
|
ansi_term = "0.10"
|
|
blooms-db = { path = "../util/blooms-db", optional = true }
|
|
bn = { git = "https://github.com/paritytech/bn", default-features = false }
|
|
byteorder = "1.0"
|
|
common-types = { path = "types" }
|
|
crossbeam = "0.4"
|
|
env_logger = { version = "0.5", optional = true }
|
|
error-chain = { version = "0.12", default-features = false }
|
|
ethabi = "6.0"
|
|
ethabi-contract = "6.0"
|
|
ethabi-derive = "6.0"
|
|
ethash = { path = "../ethash" }
|
|
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.4"
|
|
ethjson = { path = "../json" }
|
|
ethkey = { path = "../accounts/ethkey" }
|
|
evm = { path = "evm" }
|
|
hashdb = "0.3.0"
|
|
heapsize = "0.4"
|
|
itertools = "0.5"
|
|
journaldb = { path = "../util/journaldb" }
|
|
keccak-hash = "0.1"
|
|
keccak-hasher = { path = "../util/keccak-hasher" }
|
|
kvdb = "0.1"
|
|
kvdb-memorydb = "0.1"
|
|
kvdb-rocksdb = { version = "0.1.3", optional = true }
|
|
lazy_static = "1.0"
|
|
len-caching-lock = { path = "../util/len-caching-lock" }
|
|
log = "0.4"
|
|
lru-cache = "0.1"
|
|
macros = { path = "../util/macros" }
|
|
memory-cache = { path = "../util/memory-cache" }
|
|
memorydb = "0.3.0"
|
|
num = { version = "0.1", default-features = false, features = ["bigint"] }
|
|
num_cpus = "1.2"
|
|
parity-bytes = "0.1"
|
|
parity-crypto = "0.3.0"
|
|
parity-machine = { path = "../machine" }
|
|
parity-snappy = "0.1"
|
|
parking_lot = "0.7"
|
|
patricia-trie = "0.3.0"
|
|
patricia-trie-ethereum = { path = "../util/patricia-trie-ethereum" }
|
|
rand = "0.4"
|
|
rayon = "1.0"
|
|
rlp = { version = "0.3.0", features = ["ethereum"] }
|
|
rlp_derive = { path = "../util/rlp-derive" }
|
|
rustc-hex = "1.0"
|
|
serde = "1.0"
|
|
serde_derive = "1.0"
|
|
stats = { path = "../util/stats" }
|
|
tempdir = {version="0.3", optional = true}
|
|
trace-time = "0.1"
|
|
triehash-ethereum = { version = "0.2", path = "../util/triehash-ethereum" }
|
|
unexpected = { path = "../util/unexpected" }
|
|
using_queue = { path = "../miner/using-queue" }
|
|
vm = { path = "vm" }
|
|
wasm = { path = "wasm" }
|
|
|
|
[dev-dependencies]
|
|
blooms-db = { path = "../util/blooms-db" }
|
|
criterion = "0.2"
|
|
env_logger = "0.5"
|
|
ethcore-accounts = { path = "../accounts" }
|
|
fetch = { path = "../util/fetch" }
|
|
kvdb-rocksdb = "0.1.3"
|
|
parity-runtime = { path = "../util/runtime" }
|
|
rlp_compress = { path = "../util/rlp-compress" }
|
|
tempdir = "0.3"
|
|
trie-standardmap = "0.1"
|
|
|
|
[features]
|
|
parity = ["work-notify", "price-info", "stratum"]
|
|
# 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", "to-pod-full"]
|
|
# Skip JSON consensus tests with pending issues.
|
|
ci-skip-tests = []
|
|
# Run memory/cpu heavy tests.
|
|
test-heavy = []
|
|
# Compile test helpers
|
|
test-helpers = ["tempdir", "kvdb-rocksdb", "blooms-db"]
|
|
# Enables slow 'to-pod-full' method for use in tests and evmbin.
|
|
to-pod-full = []
|
|
|
|
[[bench]]
|
|
name = "builtin"
|
|
harness = false
|