mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 11:38:01 +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.
46 lines
1.8 KiB
TOML
46 lines
1.8 KiB
TOML
[package]
|
|
name = "node-executor"
|
|
version = "2.0.0"
|
|
authors = ["Parity Technologies <admin@parity.io>"]
|
|
description = "Substrate node implementation in Rust."
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
trie-root = "0.15.2"
|
|
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
|
runtime_io = { package = "sr-io", path = "../../core/sr-io" }
|
|
state_machine = { package = "substrate-state-machine", path = "../../core/state-machine" }
|
|
substrate-executor = { path = "../../core/executor" }
|
|
primitives = { package = "substrate-primitives", path = "../../core/primitives" }
|
|
trie = { package = "substrate-trie", path = "../../core/trie" }
|
|
node-primitives = { path = "../primitives" }
|
|
node-runtime = { path = "../runtime" }
|
|
|
|
[dev-dependencies]
|
|
node-testing = { path = "../testing" }
|
|
test-client = { package = "substrate-test-client", path = "../../core/test-client" }
|
|
sr-primitives = { path = "../../core/sr-primitives" }
|
|
runtime_support = { package = "srml-support", path = "../../srml/support" }
|
|
balances = { package = "srml-balances", path = "../../srml/balances" }
|
|
transaction-payment = { package = "srml-transaction-payment", path = "../../srml/transaction-payment" }
|
|
session = { package = "srml-session", path = "../../srml/session" }
|
|
system = { package = "srml-system", path = "../../srml/system" }
|
|
timestamp = { package = "srml-timestamp", path = "../../srml/timestamp" }
|
|
treasury = { package = "srml-treasury", path = "../../srml/treasury" }
|
|
contracts = { package = "srml-contracts", path = "../../srml/contracts" }
|
|
grandpa = { package = "srml-grandpa", path = "../../srml/grandpa" }
|
|
indices = { package = "srml-indices", path = "../../srml/indices" }
|
|
wabt = "0.9.2"
|
|
criterion = "0.3.0"
|
|
|
|
[features]
|
|
wasmtime = [
|
|
"substrate-executor/wasmtime",
|
|
]
|
|
stress-test = []
|
|
|
|
[[bench]]
|
|
name = "bench"
|
|
harness = false
|
|
|