[package]
name = "sc-executor"
version = "2.0.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"

[dependencies]
derive_more = "0.99.2"
codec = { package = "parity-scale-codec", version = "1.0.0" }
runtime_io = { package = "sp-io", path = "../../primitives/sr-io" }
primitives = { package = "sp-core", path = "../../primitives/core" }
trie = { package = "sp-trie", path = "../../primitives/trie" }
serializer = { package = "sp-serializer", path = "../../primitives/serializer" }
runtime_version = { package = "sp-version", path = "../../primitives/sr-version" }
panic-handler = { package = "sp-panic-handler", path = "../../primitives/panic-handler" }
wasmi = "0.6.2"
parity-wasm = "0.41.0"
lazy_static = "1.4.0"
wasm-interface = { package = "sp-wasm-interface", path = "../../primitives/wasm-interface" }
runtime-interface = { package = "sp-runtime-interface", path = "../../primitives/runtime-interface" }
externalities = { package = "sp-externalities", path = "../../primitives/externalities" }
parking_lot = "0.9.0"
log = "0.4.8"
libsecp256k1 = "0.3.2"

cranelift-codegen = { version = "0.50", optional = true }
cranelift-entity = { version = "0.50", optional = true }
cranelift-frontend = { version = "0.50", optional = true }
cranelift-native = { version = "0.50", optional = true }
cranelift-wasm = { version = "0.50", optional = true }
wasmtime-environ = { version = "0.8", optional = true }
wasmtime-jit = { version = "0.8", optional = true }
wasmtime-runtime = { version = "0.8", optional = true }

[dev-dependencies]
assert_matches = "1.3.0"
wabt = "0.9.2"
hex-literal = "0.2.1"
runtime-test = { package = "sc-runtime-test", path = "runtime-test" }
test-runtime = { package = "substrate-test-runtime", path = "../../test/utils/runtime" }
runtime-interface = { package = "sp-runtime-interface", path = "../../primitives/runtime-interface" }
client-api = { package = "sc-client-api", path = "../api" }
sc-offchain = { path = "../offchain/" }
state_machine = { package = "sp-state-machine", path = "../../primitives/state-machine"  }
test-case = "0.3.3"

[features]
default = [ "std" ]
# This crate does not have `no_std` support, we just require this for tests
std = []
wasm-extern-trace = []
wasmtime = [
	"cranelift-codegen",
	"cranelift-entity",
	"cranelift-frontend",
	"cranelift-native",
	"cranelift-wasm",
	"wasmtime-environ",
	"wasmtime-jit",
	"wasmtime-runtime",
]
wasmi-errno = [
	"wasmi/errno"
]
