* fix: adds new execution strategy nativeElseWasm and replace nativeWhenPossible with it
* feat: adds cmd line params for execution strategies
* fix: uses of cmd line execution strategies
* chore: remove white spaces
* chore: remove println
* chore: remove whitespace
* fix: generating functions with context
* feat: add function to generate with_context declarations
* fix: add implementation for with_context function calls
* fix: add execution context to call_api_at function
* fix: making use of context to select strategy for block_builder
* chore: cleaning up
* fix: merging issues
* fix tests
* add wasm files
* chore: small doc for context fields
* chore: delete redundant docs
* fix: use full path for ExecutionContext
* fix: add context functions from inside fold_item_impl
* chore: remove clone
* fix: moving generative function to utils, remove unused imports
* fix: add missing full path for ExecutionContext
* fix: merge issues
* update wasm files
* fix: update to keep up with changes in master
* chore: remove unused functions, clean up
* fix test
* fix grumbles
* fix: add more tests
* fix: some refactorings
* feat: add execution strategy to call
* chore: small improvements
* fix: add message to panic
* fix tests
* Rework how a runtime api calls into the runtime
Now we generate a default implementation for each api call that calls
a generated method `method_runtime_api_impl`. This newly generated
method is the one that will be implemented by the `impl_runtime_apis`
macro in the runtime for the client side.
* Support `changed_in` to change runtime api function signatures
* Update documentation
* Fixes tests
* Implement checking the api version with a predicate
* Make the implementation backwards compatible with CC
* Update wasm files after merge
* Check for wasm runtime differences by building master and current branch
* Update spec_version and wasm files
* Fixes
* Revert my changes
* Remove `patch.crates-io` from test-runtime
* Limit block size in runtime,
* Add test for basic authorship.
* Store length of extrinsics instead of computing it.
* Don't rely on note_extrinsic
* Use hashed version of storage and write test.
* Recompile runtime.
* Implement new inherent data
* Fixes compilation on wasm
* Fixes after rebase
* Switch back to generate inherent stuff by macro
* Update after rebase
* Apply suggestions from code review
Co-Authored-By: bkchr <bkchr@users.noreply.github.com>
* Fix compilation after rebase
* Address grumbles
* Remove `InherentDataProviders` from `Client`
* Update wasm files after rebase
* Address grumbles
* Fixes compilation after latest merge
* Last fix
* Add simple benchmark for the runtime api
* Make the executor support native calls
* Some documentation
* Hide behind `feature = "std"`
* Rework the native calls
* Make all tests compile again
* Make every parameter using the Block serialized/deserialized in the native call
* Forward `UnwindSafe` requirement
* Remove debug stuff
* Add some documentation
* Fixes warnings
* Fixes errors after master rebase
* Fixes compilation after master rebase
* Fixes compilation after rebase
* fix: set edition to 2018 in Cargo.toml.
* fix: refactor function to make use of NLL.
* fix: result of applying 'cargo fix --edition' command.
* fix: removes extern crate
* fix: remove module uses from lib.rs
* fix: tests imports
* Rewrites `impl_runtime_apis!` macro as `proc-macro`
* Adds some documentation
* Require the `impl_runtime_apis` to use a path for accessing the trait
* Make the runtime implement `GetNodeBlockType`
* Moves first chunk of runtime api code into the `impl_runtime_apis` macro
This also renames `ClientWithApi` into `RuntimeApi`.
* Make `impl_runtime_apis` use `runtime` api version automatically
* `decl_runtime_apis` automatically adds `Block: BlockT` as generic parameter
* Remove function generic arguments in block builder api
* Remove some unnused stuff from the `decl_runtime_apis` macro
* Make `InherentData` working again
* Make `impl_runtime_apis!` implement the `RuntimeApi` side as well
* Make it compile again after rebasing with master
* Split `sr-api-macros` into multiple files
* Reimplement `decl_runtime_apis!` as proc_macro
* Use `decl_runtime_apis!` for `Core` as well and improve error reporting
* Adds documentation for `decl_runtime_apis!` and `impl_runtime_apis!`
* Move some code
* Adds compile fail tests
* Adds a test and fixes some bugs
* Make `impl_runtime_apis!` support `_` as parameter name
* Fixes build errors with wasm
* Wasm rebuild after master rebase
* Apply suggestions from code review
Co-Authored-By: bkchr <bkchr@users.noreply.github.com>
* Addresses some grumbles
* Adds test to ensure that method signatures need to match
* New wasm files
* Revert "start to refactor block import wrapper a bit"
This reverts commit b919de49e1a82422a0870b66100832d531174771.
* Refactor grandpa stuff to get tests almost compiling
* Fixes after rebase
* Fixes merge compile errors
* Move `initialise_block` into `Core` trait as it is crucial calling the API functions
* Switch to first version of new runtime API implementation
* Fixes bug in tests
* Reenable asserts
* Directly use the `TestAPI` in the tests
* Start improving the api traits
:100644 100644 898aadc7 49217199 M Cargo.lock
:100644 100644 61570436 465ed664 M core/client/src/backend.rs
:100644 100644 5d0c886b 64d710fd M core/client/src/block_builder.rs
:100644 100644 c447855e 5ecbe474 M core/client/src/client.rs
:100644 100644 139cef13 f90dbf3d M core/client/src/error.rs
:100644 100644 2800c503 3298e66a M core/client/src/runtime_api.rs
:100644 100644 affa1c5c 809b08bc M core/primitives/src/lib.rs
:100644 100644 2877dfa9 d5547413 M core/sr-api/Cargo.toml
:100644 100644 9a49784d 6a625a03 M core/sr-api/src/lib.rs
:100644 100644 7c28e1c7 a1a444a9 M core/sr-primitives/src/traits.rs
:100644 100644 2e113ab6 dcc01a6d M srml/metadata/Cargo.toml
:100644 100644 ea722a700809531a M srml/metadata/src/lib.rs
* Refactoring
* Move `sr-api` into client and more refactoring
* Fixes tests
* Some documentation and cleanup
* Fixes compilation after rebase
* More refactoring and more documentation
* Makes `substrate-client` compilable on `wasm`
On `wasm` it basically just exports the runtime api stuff.
* Fixes grumbles
* Updates wasm files after rebasing the master
* Remove TODO comment
* Remove whitespaces
* Fixes after rebasing master
* Another rebase, another fix commit