Files
akula/Cargo.toml
2022-08-01 04:20:10 +03:00

203 lines
4.9 KiB
TOML

[package]
name = "akula"
version = "0.1.0"
authors = ["Artem Vorotnikov <artem@vorotnikov.me>"]
edition = "2021"
description = "Ethereum client based on turbo-geth client architecture"
license = "GPL-3.0-only"
default-run = "akula"
[dependencies]
aes = "0.8"
anyhow = "1"
arrayref = "0.3"
arrayvec = { version = "0.7", features = ["serde"] }
array-init = "2"
async-recursion = "1"
async-stream = "0.3"
async-trait = "0.1"
auto_impl = "1"
block-padding = "0.3"
byte-unit = "4"
byteorder = "1"
bytes = { version = "1", features = ["serde"] }
bytes-literal = { git = "https://github.com/vorot93/bytes-literal" }
bytesize = "1"
chrono = "0.4"
cidr = "0.2"
cipher = { version = "0.4", features = ["block-padding"] }
clap = { version = "3", features = ["derive"] }
croaring = { git = "https://github.com/saulius/croaring-rs" }
ctr = "0.9"
data-encoding = "2"
derive_more = "0.99"
digest = "0.10"
directories = "4.0"
educe = { version = "0.4", features = ["Debug", "Default"] }
enr = { version = "0.6", default-features = false, features = [
"rust-secp256k1",
] }
enum-primitive-derive = "0.2"
ethash = { git = "https://github.com/rust-ethereum/ethash" }
ethereum-forkid = "0.10"
ethereum-interfaces = { git = "https://github.com/ledgerwatch/interfaces", features = [
"remotekv",
"sentry",
"web3",
] }
ethereum-types = { version = "0.13", features = ["codec"] }
ethereum-jsonrpc = { git = "https://github.com/vorot93/ethereum-jsonrpc", features = [
"server",
] }
ethnum = { version = "1", features = ["llvm-intrinsics", "rlp", "scale"] }
fastrlp = { version = "0.1", features = [
"derive",
"ethereum-types",
"ethnum",
"std",
] }
fdlimit = "0.2"
futures = { version = "0.3", features = ["unstable"] }
futures-intrusive = "0.4"
gen-iter = "0.2"
generic-array = "0.14"
getset = "0.1"
hash-db = "0.15"
hash256-std-hasher = "0.15"
hex = "0.4"
hex-literal = "0.3"
hmac = "0.12"
http = "0.2"
i256 = { git = "https://github.com/vorot93/rust-i256" }
igd = { git = "https://github.com/stevefan1999-personal/rust-igd", features = [
"aio",
"tokio1",
] }
impls = "1"
itertools = "0.10"
jsonrpsee = { version = "0.15", features = ["server"] }
lru = "0.7"
maplit = "1"
mdbx = { package = "libmdbx", version = "0.1" }
modular-bitfield = "0.11"
num-bigint = "0.4"
num_cpus = "1.13"
num-traits = "0.2"
once_cell = "1"
parity-scale-codec = { version = "3", features = ["bytes"] }
parking_lot = "0.12"
primitive-types = { version = "0.11", default-features = false, features = [
"rlp",
"rustc-hex",
] }
rand = "0.8"
rayon = "1"
ripemd = "0.1"
ron = "0.7"
secp256k1 = { version = "0.24", features = [
"global-context",
"rand-std",
"recovery",
] }
serde = "1"
serde_json = "1"
serde_with = "2"
sha2 = "0.10"
sha3 = "0.10"
shellexpand = "2"
snap = "1"
string = "0.3"
strum = { version = "0.24", features = ["derive"] }
strum_macros = "0.24"
stubborn-io = "0.3"
substrate-bn = "0.6"
tempfile = "3"
task-group = { git = "https://github.com/vorot93/task-group" }
thiserror = "1"
tokio = { version = "1.18", features = ["full"] }
console-subscriber = { version = "0.1.5", optional = true }
tokio-stream = { version = "0.1", features = ["sync"] }
tokio-util = { version = "0.7", features = ["codec"] }
toml = { version = "0.5", features = ["preserve_order"] }
tonic = { version = "0.8", default-features = false, features = [
"codegen",
"prost",
"transport",
] }
tonic-health = "0.7"
tracing = "0.1"
tracing-futures = "0.2"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
trust-dns-resolver = "0.21"
url = "2"
walkdir = "2"
hashlink = "0.8.0"
hashbrown = { version = "0.12.0", features = [
"inline-more",
"nightly",
"ahash-compile-time-rng",
] }
dashmap = "5.3"
[target.'cfg(target_os = "linux")'.dependencies]
e2p-fileflags = { git = "https://github.com/michaellass/e2p-fileflags" }
[features]
default = []
console = ["tokio/tracing", "dep:console-subscriber"]
[build-dependencies]
anyhow = "1"
vergen = "7"
[dev-dependencies]
bytes-literal = { git = "https://github.com/vorot93/bytes-literal" }
criterion = { version = "0.3", default-features = false }
include_dir = "0.7"
pprof = { version = "0.10", features = ["flamegraph"] }
proptest = "1.0.0"
rand = { version = "0.8", features = ["std"] }
tokio = { version = "1.18", features = ["full"] }
tokio-test = "0.4.2"
triehash = "0.8"
[patch.crates-io]
arrayvec = { git = "https://github.com/vorot93/arrayvec", branch = "pop-unchecked" }
enr = { git = "https://github.com/rust-ethereum/enr" }
ethnum = { git = "https://github.com/vorot93/ethnum-rs", branch = "impls" }
[[bin]]
path = "bin/akula.rs"
name = "akula"
[[bin]]
path = "bin/akula-rpc.rs"
name = "akula-rpc"
[[bin]]
path = "bin/akula-sentry.rs"
name = "akula-sentry"
[[bin]]
path = "bin/akula-toolbox.rs"
name = "akula-toolbox"
[[bin]]
path = "bin/consensus-tests.rs"
name = "consensus-tests"
[[bench]]
name = "bench"
path = "./src/execution/evm/benches/bench.rs"
harness = false
[profile.production]
inherits = "release"
panic = "abort"
codegen-units = 1
lto = true
[profile.bench]
codegen-units = 1
lto = true