Commit Graph
12 Commits
Author SHA1 Message Date
Bastian Köcher 597ea41cd4 Implement construct_runtime! macro (#751)
* 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
2018-09-17 17:27:22 +02:00
Bastian Köcher 72fb60cb49 Make impl_outer_origin! support generic Origins (#732)
* Make `impl_outer_origin!` support generic `Origin`s

* Support empty outer origin
2018-09-13 11:19:48 +02:00
Bastian Köcher 5bd0ecddd2 Make impl_outer_event! aware of required generic parameters (#729) 2018-09-12 19:12:28 +02:00
Bastian Köcher 52c5b90647 Check if cargo already from nighlty in wasm build scripts (#724) 2018-09-12 16:03:48 +02:00
Bastian Köcher c5c5b35da3 Make decl_event! more ergonomic (#723)
* 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
2018-09-12 16:02:59 +02:00
Bastian Köcher fd2ec13ed8 Improve event json metadata (#710)
* 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
2018-09-11 14:05:09 +02:00
Bastian Köcher ba23d033a1 Implements json_metadata RPC call (#692)
* 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
2018-09-10 18:34:17 +02:00
Bastian Köcher 6bc48fdafc Implement json metadata for outer events (#672)
Progress on: #535
2018-09-07 18:59:04 +02:00
Bastian Köcher b538733a24 Implement storage json metadata (#670)
* `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
2018-09-05 22:53:18 +02:00
Bastian Köcher c3e2983af3 Remove requirement of function indices for decl_module! (#666) 2018-09-05 13:41:57 +02:00
Bastian Köcher 1efe4a3659 Include function comments into modules json_metadata (#657)
* 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
2018-09-05 00:20:29 +02:00
Bastian Köcher 6d149c570d Implement function json_metadata in decl_module! (#654)
The new function `json_metadata` returns the module declaration
as a json string.

Progress on: #535
2018-09-04 11:57:26 +02:00