• Sebastian Kunert's avatar
    PoV Reclaim Runtime Side (#3002) · 3386377b
    Sebastian Kunert authored
    
    
    # Runtime side for PoV Reclaim
    
    ## Implementation Overview
    - Hostfunction to fetch the storage proof size has been added to the
    PVF. It uses the size tracking recorder that was introduced in my
    previous PR.
    - Mechanisms to use the reclaim HostFunction have been introduced.
    - 1. A SignedExtension that checks the node-reported proof size before
    and after application of an extrinsic. Then it reclaims the difference.
    - 2. A manual helper to make reclaiming easier when manual interaction
    is required, for example in `on_idle` or other hooks.
    - In order to utilize the manual reclaiming, I modified `WeightMeter` to
    support the reduction of consumed weight, at least for storage proof
    size.
    
    ## How to use
    To enable the general functionality for a parachain:
    1. Add the SignedExtension to your parachain runtime. 
    2. Provide the HostFunction to the node
    3. Enable proof recording during block import
    
    ## TODO
    - [x] PRDoc
    
    ---------
    
    Co-authored-by: default avatarDmitry Markin <[email protected]>
    Co-authored-by: default avatarDavide Galassi <[email protected]>
    Co-authored-by: default avatarBastian Köcher <[email protected]>
    3386377b