Skip to content

composability: refactor democracy using Origin instead of nested dependencies #402

@brenzi

Description

@brenzi

Our pallets have deeply nested dependencies which means that they are not composable. i.e. democracy logic can't be used by non-encointer runtimes. Moreover, coding gets trickier the more dependencies we add.

This should be avoided:

pub trait Config:
frame_system::Config
+ pallet_encointer_scheduler::Config
+ pallet_encointer_ceremonies::Config
+ pallet_encointer_communities::Config
+ pallet_encointer_reputation_commitments::Config

We could introduce a custom Origin per CommunityIdentifier (or global) which is allowed to enact proposals by calling specific dispatchables.

As we are in pragmatic mode currently, this can surely wait. But a cleanup is due sooner or later

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions