* Remove `node-api` from `node-consensus` and `node-transaction-pool`
* Remove the `node-api` crate and its last usages
* Remove left over file
* Fixes compilation errors
* Switch to `As` trait
* Rename trait
* Whitespace
* Move module metadata from json string to custom metadata
* Revisit the metadata structures
1. Move the structures into the metadata crate.
2. Switch to using Cow/MaybeOwnedArray to support Encode/Decode
* Adapt to new metadata structures
* Convert event json metadata to new metadata structures
* Convert storage json metadata to new metadata structures
* Convert runtime metadata from json to new metadata structs
* Implements new metadata structures in client and runtime
* Fixes errors on `no_std`
* Fixes errors after rebasing master
* Do not use `Cow` anymore in metadata
Also replace `String` with our own type definition `StringBuf`.
This fixes compilation on `no_std`.
* Wrap `RuntimeMetadata` in `RuntimeMetadataVersioned` to support versioning
* Move metadata into `srml` and make core unaware of the implementation
* Make `system` module renamable in `impl_outer_event!`
* Implement `construct_runtime!` macro
This macro generates code for calling all the common `impl_outer_*` macros.
* Add documentation
* Fixes wrong declaration of `contract`
* Update dependencies to work on `no_std`
* One more `Cargo.lock` update
* Address comments
* Improve and simplify `decl_event!`
- RawEvent is not required anymore to be written in the defintion
- Events with and without parameters are now supported everywhere
* Make `decl_event!` more flexible with the automatic naming of generic parameters
The macro will now automatically derive the name of a generic parameter
from the trait type name, if no explicit name is given.
`where Balance = <T as Trait>::Balance` can be simplified to
`where <T as Trait>::Balance`.
* Adapts to latest refactoring changes
* Introduce `impl_event!` for declaring the Event/RawEvent for a module
* Implements a function for generating the event json metadata
* Update runtime `json_metadata` to include the new event json metadata
* Switch to `impl_event!` for new modules
* Remove unused module declaration in `impl_event!`
* Rename `impl_event!` to `decl_event!`
* Fixes some style nits
* Adds `impl_json_metadata!` for generating all metadata of a runtime
* Adds `json_metadata` RPC call
* Adds simple test for the `json_metadata` RPC call
* Implements json metadata in the demo runtime
* Fix indent
* Adds missing copyright headers
* Dispatch json metadata renamings and improvements
* Replaces `format!` & `String` with `Vec<JSONMetadata`
* Implements `Encode` and `Decode` for JSONMetadata
* Make `impl_json_metadata!` compileable on `no_std`
* Adapt the client to decode the correct type for `json_metadata`
* Fixes compile error and warning
* Whitespace
* `decl_storage!` exposes json metadata about the storage
The metadata can be accessed by calling `store_json_metadata()`.
* Hide internal macros in the documentation
* Include the function documentation in the store json metadata
* Adapt the storage declarations to use doc comments
* Include function comments into modules `json_metadata`
All doc comments (with `///`) are included in the description field of
the function.
Progress on #535
* Replace spaces with tabs