* Add serde to phragmen
* Update lock file
* and bump a version
* and bump a version again
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* revert impl-tarit for tuple update
* revert session.
* Revert "revert session."
This reverts commit 98086c9db56677068db85f74320868b2c10d1c00.
* Revert "revert impl-tarit for tuple update"
This reverts commit 28a7fddee2e09c5785b19883f743065e0be8f331.
* Move config path generation into the service config for reusability
* Make NoCostum Default and fix tests
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* remove function not used anymore
* Make path into an option
* remove database_path function and call it directly
* remove helper functions, use consts
* executor: Move runtime caching out of WasmRuntime interface.
The runtime version is now fetched and cached at a higher level, not
within the WasmRuntime trait implementations.
* executor: Require successful querying of runtime version.
* Implement Debug for some structures
`NetworkConfiguration`, `TransportConfig`, `NodeKeyConfig` and `Secret`.
Needs a new release of the `rust-libp2p` crate. This PR is just a
reminder.
* Explicitly separate `std` and `core`
* Add manual implementation for Secret
* 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.
* Extract CLI to separate module in node/cli
* Make node/cli compile for WASM
* More work on node/cli browser
* More work on browser node
* More work
* More work
* Purge a bit the CI script
* More clean up
* Remove substrate-finality-grandpa from the CI
Its tests use tokio, which fails to compile.
* Address review
* Add rocksdb feature to the service
* Fix substrate-service WASM CI
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Don't WASM-compile substrate-service altogether
* grandpa: Write Grandpa authorities to well known key.
Instead of requiring execution proofs for Grandpa authorities, this
enables much simpler storage proofs.
* grandpa: Introduce named AuthorityList type.
* grandpa: Storage migration for srml-grandpa module.
* Remove no-longer-used GrandpaApi runtime API.
* grandpa: Write AuthorityList to storage with encoding version.
We expect the AuthorityList type may change (eg. key changes). To make
upgrades smoother, include a version in the stored value.
* Bump node runtime spec version.
* Update srml/grandpa/src/lib.rs
Co-Authored-By: André Silva <andre.beat@gmail.com>
* Put the DB configuration in an enum
* Allow passing a custom database to client-db
* Clean-ups in client-db
* Fix client tests
* Fix service tests
* Hopefully fix tests for good this time 😩
* Address review
As with the native runtime, we now catch all native panics when we
execute the wasm runtime. The panics inside the wasm runtime were
already catched before by the wasm executor automatically, but any panic
in the host functions could bring down the node. The recent switch to
execute the native counterpart of the host function in `sr-io`, makes
this change required. The native `sr-io` functions just `panic` when
something is not provided or any other error occured.
* node: add sentry mode flag
* cli: extend docs on validator and sentry modes
* service: add missing field in test Configuration
* node: Display instead of Debug when printing node role
* Introduce new option "always force new era".
* Take appropriate action, even for small offences.
- Deselect the offender in all circumstances
- Ensure that deselection forces a new era
- Ensure that forcing a new era works with the always-forcing.
* Bump runtime
* Remove footgun around session keys/handlers
- `OpaqueKeys` now has an associated type `KeyTypeIdProviders`. This can
be used in the runtime as input for `SessionHandler` from the session
trait.
- `impl_opaque_keys` now works with modules and extracts the `KeyTypeId`
from the module directly.
- Added some checks to the `session` storage initialization that checks
that the `SessionHandler` and `Keys` use the same number of keys and
that the order is equal.
* Update core/sr-primitives/src/traits.rs
* initial version for testing
* New version that compiles
* optional at block parameter
* Fix some more view grumbles.
* Update srml/transaction-payment/src/lib.rs