mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 12:48:00 +00:00
8676c25ef4
* executor: Use non wasmi-specific execution in tests. * executor: Move all runtime execution tests into tests file. * executor: Use test_case macro to easily execute tests with different Wasm execution methods. * executor: Convert errors to strings with Display, not Debug. * node-executor: Rewrite benchmarks with criterion. They were not passing compilation before and criterion seems to be more widely used in Substrate. * executor: Begin implementation of Wasm runtime. The implementation demonstrates the outline of the execution, but does not link against the external host functions. * executor: Define and implement basic FunctionExecutor. The SandboxCapabilities::invoke is still left unimplemented. * executor: Implement host function trampoline generation. * executor: Instantiate and link runtime module to env module. * executor: Provide input data during wasmtime execution. * executor: Implement SandboxCapabilites::invoke for wasmtime executor. * executor: Integrate and test wasmtime execution method. * executor: Improve FunctionExecution error messages. * Scope the unsafe blocks to be smaller. * Rename TrampolineState to EnvState. * Let EnvState own its own compiler instead of unsafe lifetime cast. * Refactor out some common wasmi/wasmtime logic. * Typos and cosmetic changes. * More trampoline comments. * Cargo.lock update. * cli: CLI option for running Substrate with compiled Wasm execution. * executor: Switch dependency from fork to official wasmtime repo. * Quiet down cranelift logs. * Explicitly catch panics during host calls. We do this to ensure that panics do not cross language boundaries. * Additional checks and clarifications in make_trampoline. * Fixes after merge from master and panic safety for wasmtime instantiation.
60 lines
2.7 KiB
TOML
60 lines
2.7 KiB
TOML
[package]
|
|
name = "substrate-service"
|
|
version = "2.0.0"
|
|
authors = ["Parity Technologies <admin@parity.io>"]
|
|
edition = "2018"
|
|
|
|
[features]
|
|
default = ["rocksdb"]
|
|
# The RocksDB feature activates the RocksDB database backend. If it is not activated, and you pass
|
|
# a path to a database, an error will be produced at runtime.
|
|
rocksdb = ["client_db/kvdb-rocksdb"]
|
|
wasmtime = [
|
|
"substrate-executor/wasmtime",
|
|
]
|
|
|
|
[dependencies]
|
|
derive_more = "0.15.0"
|
|
futures = "0.1.29"
|
|
futures03 = { package = "futures-preview", version = "0.3.0-alpha.19", features = ["compat"] }
|
|
parking_lot = "0.9.0"
|
|
lazy_static = "1.4.0"
|
|
log = "0.4.8"
|
|
slog = { version = "2.5.2", features = ["nested-values"] }
|
|
tokio-executor = "0.1.8"
|
|
tokio-timer = "0.2.11"
|
|
exit-future = "0.1.4"
|
|
serde = "1.0.101"
|
|
serde_json = "1.0.41"
|
|
sysinfo = "0.9.5"
|
|
target_info = "0.1.0"
|
|
keystore = { package = "substrate-keystore", path = "../../core/keystore" }
|
|
sr-io = { path = "../../core/sr-io" }
|
|
sr-primitives = { path = "../../core/sr-primitives" }
|
|
primitives = { package = "substrate-primitives", path = "../primitives" }
|
|
session = { package = "substrate-session", path = "../session" }
|
|
app-crypto = { package = "substrate-application-crypto", path = "../application-crypto" }
|
|
consensus_common = { package = "substrate-consensus-common", path = "../../core/consensus/common" }
|
|
network = { package = "substrate-network", path = "../../core/network" }
|
|
chain-spec = { package = "substrate-chain-spec", path = "../chain-spec" }
|
|
client = { package = "substrate-client", path = "../../core/client" }
|
|
client_db = { package = "substrate-client-db", path = "../../core/client/db" }
|
|
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
|
substrate-executor = { path = "../../core/executor" }
|
|
transaction_pool = { package = "substrate-transaction-pool", path = "../../core/transaction-pool" }
|
|
rpc-servers = { package = "substrate-rpc-servers", path = "../../core/rpc-servers" }
|
|
rpc = { package = "substrate-rpc", path = "../../core/rpc" }
|
|
tel = { package = "substrate-telemetry", path = "../../core/telemetry" }
|
|
offchain = { package = "substrate-offchain", path = "../../core/offchain" }
|
|
parity-multiaddr = { package = "parity-multiaddr", version = "0.5.0" }
|
|
|
|
[dev-dependencies]
|
|
substrate-test-runtime-client = { path = "../test-runtime/client" }
|
|
node-executor = { path = "../../node/executor" }
|
|
node-primitives = { path = "../../node/primitives" }
|
|
node-runtime = { path = "../../node/runtime" }
|
|
babe-primitives = { package = "substrate-consensus-babe-primitives", path = "../../core/consensus/babe/primitives" }
|
|
grandpa = { package = "substrate-finality-grandpa", path = "../../core/finality-grandpa" }
|
|
grandpa-primitives = { package = "substrate-finality-grandpa-primitives", path = "../../core/finality-grandpa/primitives" }
|
|
tokio = "0.1"
|