Skip to content
  • Sergey Pepyakin's avatar
    Inform the PVF with the latest relevant relay chain state (#279) · b424d0f5
    Sergey Pepyakin authored
    
    
    * Update polkadot
    
    * Extend cumulus primitives with some relay chain exports
    
    Follow https://github.com/paritytech/polkadot/pull/2194 to see the
    polkadot PR
    
    * collator: collect the state proof
    
    This commit changes cumulus-collator so that it takes the relay chain
    state at the relay parent and creates a storage proof that contains all
    the required data for PVF.
    
    * parachain-upgrade: use the proofs instead
    
    This change is needed to make cumulus logic to not longer depend on the
    transient validation data. As part of this change, in order to preserve
    the current behavior `code_upgrade_allowed` now is computed on the
    parachain side, rather than provided by polkadot.
    
    Turned out that this requires to know the self parachain id so it was
    added where needed.
    
    * message-broker: use relay state to track limits
    
    this should make sending messages safe from accidentally running over
    the relay chain limits that were previously unknown.
    
    * Update polkadot
    
    So that `relay_storage_root` is available through `ValidationParams`
    
    * Check `relay_storage_root` matches expected
    
    Check that `relay_storage_root` submitted by the collator matches the
    one that we receive in `validate_block` through `ValidationParams`
    
    * Add a missing check for `dmq_mqc_head` while we are at it
    
    * Update polkadot
    
    * Fix tests that use the relay storage root
    
    * Apply suggestions from code review
    
    Co-authored-by: default avatarBastian Köcher <[email protected]>
    
    * Update message-broker/src/lib.rs
    
    Co-authored-by: default avatarBastian Köcher <[email protected]>
    
    * Remove unneeded (&_)
    
    * Fix unwraps
    
    * Polish basti's suggestion
    
    * Fix merge
    
    * Bring back the System::can_set_code check
    
    Co-authored-by: default avatarBastian Köcher <[email protected]>
    b424d0f5