[package]
name = "evm-template-node"
authors = { workspace = true }
build = "build.rs"
description = "Node compatible with evm runtime template."
edition = { workspace = true }
license = { workspace = true }
publish = false
repository = { workspace = true }
version = "1.0.0"

[dependencies]
clap = { workspace = true }
futures = { workspace = true }
hex = { workspace = true }
hex-literal = { workspace = true }
jsonrpsee = { workspace = true, features = [ "server" ] }
log = { workspace = true }
parity-scale-codec = { workspace = true }
serde = { workspace = true, features = [ "derive" ] }
serde_derive = { workspace = true }
serde_json = { workspace = true }

# Local
evm-runtime-template = { path = "../runtime" }

# Substrate
frame-benchmarking = { workspace = true }
frame-benchmarking-cli = { workspace = true }
pallet-transaction-payment-rpc = { workspace = true }
sc-basic-authorship = { workspace = true }
sc-chain-spec = { workspace = true }
sc-cli = { workspace = true }
sc-client-api = { workspace = true }
sc-consensus = { workspace = true }
sc-consensus-aura = { workspace = true }
sc-executor = { workspace = true }
sc-network = { workspace = true }
sc-network-sync = { workspace = true }
sc-offchain = { workspace = true }
sc-rpc = { workspace = true }
sc-service = { workspace = true }
sc-sysinfo = { workspace = true }
sc-telemetry = { workspace = true }
sc-tracing = { workspace = true }
sc-transaction-pool = { workspace = true }
sc-transaction-pool-api = { workspace = true }
sp-api = { workspace = true }
sp-block-builder = { workspace = true }
sp-blockchain = { workspace = true }
sp-consensus-aura = { workspace = true }
sp-core = { workspace = true }
sp-inherents = { workspace = true }
sp-io = { workspace = true }
sp-keystore = { workspace = true }
sp-runtime = { workspace = true }
sp-timestamp = { workspace = true }
substrate-frame-rpc-system = { workspace = true }
substrate-prometheus-endpoint = { workspace = true }

# Polkadot
polkadot-cli = { workspace = true, features = [ "rococo-native" ] }
polkadot-primitives = { workspace = true }
xcm = { workspace = true }

# Cumulus
color-print = { workspace = true }
cumulus-client-cli = { workspace = true }
cumulus-client-collator = { workspace = true }
cumulus-client-consensus-aura = { workspace = true }
cumulus-client-consensus-common = { workspace = true }
cumulus-client-consensus-proposer = { workspace = true }
cumulus-client-service = { workspace = true }
cumulus-primitives-core = { workspace = true }
cumulus-primitives-parachain-inherent = { workspace = true }
cumulus-relay-chain-interface = { workspace = true }

# Frontier
fc-api = { workspace = true }
fc-consensus = { workspace = true }
fc-db = { workspace = true, features = [ "rocksdb" ] }
fc-mapping-sync = { workspace = true, features = [ "sql" ] }
fc-rpc = { workspace = true }
fc-rpc-core = { workspace = true }
fc-storage = { workspace = true }
fp-dynamic-fee = { workspace = true, features = [ "std" ] }
fp-evm = { workspace = true }
fp-rpc = { workspace = true }

[build-dependencies]
substrate-build-script-utils = { workspace = true }

[features]
default = []
async-backing = []
runtime-benchmarks = [
	"evm-runtime-template/runtime-benchmarks",
	"frame-benchmarking-cli/runtime-benchmarks",
	"frame-benchmarking/runtime-benchmarks",
	"polkadot-cli/runtime-benchmarks",
	"polkadot-primitives/runtime-benchmarks",
	"sc-service/runtime-benchmarks",
	"sp-runtime/runtime-benchmarks",
]
try-runtime = [
	"evm-runtime-template/try-runtime",
	"polkadot-cli/try-runtime",
	"sp-runtime/try-runtime",
]
txpool = [ "fc-rpc/txpool" ]

[lints]
workspace = true
