• Tsvetomir Dimitrov's avatar
    Add staging runtime api (#5048) · fd020c07
    Tsvetomir Dimitrov authored
    * Move `trait ParachainHost` to a separate version independent module
    
    `trait ParachainHost` is no longer part of a specific primitives
    version. Instead there is a single trait for stable and staging api
    versions. The trait contains stable AND staging methods. The latter are
    explicitly marked as unstable.
    
    * Fix `use` primitives
    
    `polkadot_primitives::v2` becomes `polkadot_primitives::runtime_api`
    
    * Staging API declaration and stubs
    
    Introduces the concept for 'staging functions' in runtime API. These
    functions are still in testing and they are meant to be used only
    within test networks (Westend).
    They coexist with the stable calls for technical reasons - maintaining
    different runtime APIs for different networks is hard to implement.
    
    Check the doc comments in source files for more details how the staging
    API should be used.
    
    * Add new staging method - get_session_disputes()
    
    Add `staging_get_session_disputes` to `ParachainHost` as the first
    method of the staging API.
    
    * Hide vstaging runtime api implementations  behind feature flag
    
    * Fix test runtime
    
    * fn staging_get_session_disputes() is renamed to fn staging_get_disputes()
    fd020c07