Implement parameterisable modules (#1800)
* first implementation * remove done comment * origin done * impl log for instance * impl inherent for instance * Fix wasm build + full example build this requires parity codec implements codec for core::marker::PhantomData * patch parity-codec link to github branch * improve internal names and fix instance prefix * Fix in macros * add test modules for support this allow to test for construct_runtime as well. The reason to have put that in another crate is: * if we put test in `tests/` dir of srml/support then decl_storage fails to get srml-support access because it believes it is inside srml-support crate and so derive access to `quote!{ crate }` but this is wrong (and I don't see any way to prevent that, and it only bother us so I don't think that matters that much) * if we put test inside lib.rs then contruct_runtime cannot be used because it call some macros that are defined with macros (decl_outer_event and decl_outer_origin) and thus rustc complains. * defaultinstance to its own struct to avoid errors * enforce <T, I> for Event and Config, impl test * add origin, log, inherent to test * test more code generation * basic storage test * fix typo * rename a few imports and field * delete wip test in example and runtime * change default prefix to make it backward compatible with test * rename Instance to I and Instantiable to Instance note: the name of generic parameter I is only enforce by decl_module! and this could be rewritten * doc * clean old TODOs * update parity-codec to 3.2 * update node impl version + builds * fix warning * fix unrelated grandpa test * refactor code
Showing
- substrate/Cargo.lock 75 additions, 61 deletionssubstrate/Cargo.lock
- substrate/Cargo.toml 1 addition, 0 deletionssubstrate/Cargo.toml
- substrate/core/basic-authorship/Cargo.toml 1 addition, 1 deletionsubstrate/core/basic-authorship/Cargo.toml
- substrate/core/client/Cargo.toml 1 addition, 1 deletionsubstrate/core/client/Cargo.toml
- substrate/core/client/db/Cargo.toml 1 addition, 1 deletionsubstrate/core/client/db/Cargo.toml
- substrate/core/consensus/aura/Cargo.toml 1 addition, 1 deletionsubstrate/core/consensus/aura/Cargo.toml
- substrate/core/consensus/aura/slots/Cargo.toml 1 addition, 1 deletionsubstrate/core/consensus/aura/slots/Cargo.toml
- substrate/core/consensus/common/Cargo.toml 1 addition, 1 deletionsubstrate/core/consensus/common/Cargo.toml
- substrate/core/consensus/rhd/Cargo.toml 1 addition, 1 deletionsubstrate/core/consensus/rhd/Cargo.toml
- substrate/core/executor/Cargo.toml 1 addition, 1 deletionsubstrate/core/executor/Cargo.toml
- substrate/core/executor/wasm/Cargo.lock 6 additions, 6 deletionssubstrate/core/executor/wasm/Cargo.lock
- substrate/core/finality-grandpa/Cargo.toml 1 addition, 1 deletionsubstrate/core/finality-grandpa/Cargo.toml
- substrate/core/finality-grandpa/primitives/Cargo.toml 1 addition, 1 deletionsubstrate/core/finality-grandpa/primitives/Cargo.toml
- substrate/core/inherents/Cargo.toml 1 addition, 1 deletionsubstrate/core/inherents/Cargo.toml
- substrate/core/network/Cargo.toml 1 addition, 1 deletionsubstrate/core/network/Cargo.toml
- substrate/core/primitives/Cargo.toml 1 addition, 1 deletionsubstrate/core/primitives/Cargo.toml
- substrate/core/rpc/Cargo.toml 1 addition, 1 deletionsubstrate/core/rpc/Cargo.toml
- substrate/core/service/Cargo.toml 1 addition, 1 deletionsubstrate/core/service/Cargo.toml
- substrate/core/sr-io/Cargo.toml 1 addition, 1 deletionsubstrate/core/sr-io/Cargo.toml
- substrate/core/sr-primitives/Cargo.toml 1 addition, 1 deletionsubstrate/core/sr-primitives/Cargo.toml
Please register or sign in to comment