Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Runtime cleanup: Single module list in runtime/lib.rs #669

@gavofyork

Description

@gavofyork

We should ensure all modules implement/export Events/Logs/Storage/Call/GenesisConfig. Then rather than having three macros (impl_outer_event, impl_outer_log, impl_outer_dispatch) plus any others for the JSON metadata stuff, each listing most modules, we have only one fuse_modules! macro which lists the macros once and does the job of fusing together each of the modules where required for Events/Logs/Storage/Call/GenesisConfig.

Target API:

construct_runtime! {
	System: system,	// defaults to below
	System: system::{module, trait, call, storage, event, origin, log, config},	// defaults to below
	System: system::{module as Module, trait as Trait, call as Call, storage as Storage, event as Event, origin as Origin, log as Log, config as GenesisConfig},
	Consensus: consensus,
	Balances: balances,
	Timestamp: timestamp,
	Session: session,
	Staking: staking,
	Democracy: democracy,
	Council: council,
	CouncilVoting: council_voting,
	CouncilMotions: council_motions,
	Treasury: treasury,
	Contract: contract,
}

Metadata

Metadata

Assignees

Labels

I7-refactorCode needs refactoring.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions