* srml-contracts: Rename ext_scratch_copy to ext_scratch_read.
This is to disambiguate from the next ext_scratch_write function.
* Remove unnecessary OutputBuf and EmptyOutputBuf.
* Replace VmExecError with a result type of custom structs.
* Do not drop the scratch buffer on traps and regular returns.
This just reduces the number of allocations required during nested
contract calls and instantiations.
* Semantics for returning a status code and data from contract calls.
* Remove CallReceipt and InstantiateReceipt.
With forthcoming changes to return data from instantiate calls, the two
types of receipts become very similar to each other and to
ExecReturnValue. Instead, replace them with ExecReturnValue and
a regular 2-tuple in the case of instantiation.
* Modify contract function signatures to allow returning status codes.
* Introduce ext_sandbox_write runtime function.
* Test all the things.
* Bump node runtime spec version.
* Style fixes.
* node: exit on GRANDPA voter or BABE authoring error
* node: exit process with non-zero return code when service fails
* service: rename infallible task to essential task
* service: revert field name changes
* core: fix service testnet
* Refactor `parse_and_execute`
Adds a new function named `parse_and_prepare`, which prepares the environment and parses the command.
Contrary to `parse_and_execute`, `parse_and_prepare` returns a struct that permis the user to execute the command, as opposed to execute it itself.
`parse_and_execute` has been modified to use `parse_and_prepare` internally.
* Embed dispatch functions directly into run()
After the previous commit, we now have a lot of functions whose only one is to call other functions. And these other functions are called only from one location.
Let's merge these two for clarity.
* Deprecate parse_and_execute and replace it in node and node-template
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Scale trait and move to u32 blocknumbers.
* Fixes
* Cleanups
* Update node/runtime/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Fix up some of the factory stuff.
* Update core/sr-primitives/src/traits.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>
* Move Nonce/Index to u32 (#3361)
* Force a non-borked version of upstream crate
* Line lengths and runtime version bump
* Implement `is_validator` for offchain-workers
* Introduce `--no-validator` flag
* Don't run babe/grandpa/im-online when `--no-validator` is given
* Fixes compilation
* Bump spec version
* Improve error handling in executor
* Add missing extern function
* Revert making error public
* Remove `--no-validator` CLI
* check for warnings
* test run
* prebuild wasm binaries, pre-test is not needed for now
* will run everywhere but PRs
* lost warnings
* lost warnings
* try warnings with tests
* Update expected stderr in UI tests
* added to RUSTFLAGS
* another way of collecting warnings
* bump impl_version
* fix int tests parser
* revert demis changes and impl version bump
* no need to collect warnings in int test
This trait, which works just like `Verify`, except on AppKey types.
I'd like for it all just to be `Verify`, but Rust's trait rules
concerning upstream changes mean it can't happen. This is a simple
workaround needed for some stuff in Polkadot.
* Remove generic from sign()
* Remove mandatory RuntimeGenesis trait req
* Remove requirement from Configuration
* Relax trait bounds of core/cli
* Move method
* The config field is no longer public
* Remove Components from bounds of functions
* Implement DerefMut for LightComponents
* Implement Executor for Full/LightComponents
* Fix bad merge
* Fix forgotten config()
* Fix build
The documentation for the `set_controller` function was copied from the function above it, however it does not do the same thing. Fixed the documentation to fit the correct description of what `set_controller` does.
* Using child storage, (srml-support only), test failing .
* fix simple tests.
* Enumerable by requiring owned struct (previous form only allow
&'static).
Broken tests are from genesis init.
* implement for_child_keys_with_prefix
* indent
* clear_child_prefix fix.
* clear_child_prefix fix 2.
* fix for storage_impl, if/when allowing child and not child this could be
reverted.
* Fix lot of urlinked child genesis, still need to look upon actual
genesis srml module code.
Probably still a lot of broken code needing debugging.
* switch well_known_key to their associated module child trie.
Fix a genesis init (balance).
Complete some testing.
Comment some tests before using.
* fixing test runtime child keys
* latest commit fix broken genesis init
* fix system balances child name.
* Important fix: storage_root from test externalities need children (it is
already the case for ext).
* executive root with child calculation
* Avoid empty trie on test ext.
* Symetric removal of key for system.
* commenting changes related tests.
* Remove child module specifics.
* fix issues.
* fix some formatting
* fix bench and bump runtime
* Remove extend_storage_overlays, assimilate_storage do the same as is
proper considering srml macro.
* Fix warning for assimilate.
* Removing kill as they do not impact any test cases.
* Use tuple of storage map instead of two parameters. This changes the
behavior of decl_storage genesis build closure (breaking api).
* Do not use build storage before assimilate.
* fix error
* Update core/state-machine/src/backend.rs
* Adds `author_rotateKeys` RPC
`author_rotateKeys` will rotate all session keys, store them into the
keystore and returns their encoded public keys as result. These encoded
public keys can be used directly to send the transaction to the chain.
* Review comments
* grandpa: track multiple live rounds in voter set state
* grandpa: don't assume rounds are completed in-order
* grandpa: fix tests
* grandpa: don't assume round is being tracked on Environment::completed
* grandpa: fix missing import in test