• Bastian Köcher's avatar
    Remove footgun around session keys/handlers (#3949) · 43961e85
    Bastian Köcher authored
    * Remove footgun around session keys/handlers
    
    - `OpaqueKeys` now has an associated type `KeyTypeIdProviders`. This can
    be used in the runtime as input for `SessionHandler` from the session
    trait.
    - `impl_opaque_keys` now works with modules and extracts the `KeyTypeId`
    from the module directly.
    - Added some checks to the `session` storage initialization that checks
    that the `SessionHandler` and `Keys` use the same number of keys and
    that the order is equal.
    
    * Update core/sr-primitives/src/traits.rs
    43961e85