Skip to content
Snippets Groups Projects
  • Kian Paimani's avatar
    [AHM] Multi-block staking election pallet (#7282) · a025562b
    Kian Paimani authored
    ## Multi Block Election Pallet
    
    This PR adds the first iteration of the multi-block staking pallet. 
    
    From this point onwards, the staking and its election provider pallets
    are being customized to work in AssetHub. While usage in solo-chains is
    still possible, it is not longer the main focus of this pallet. For a
    safer usage, please fork and user an older version of this pallet.
    
    ---
    
    ## Replaces
    
    - [x] https://github.com/paritytech/polkadot-sdk/pull/6034 
    - [x] https://github.com/paritytech/polkadot-sdk/pull/5272
    
    ## Related PRs: 
    
    - [x] https://github.com/paritytech/polkadot-sdk/pull/7483
    - [ ] https://github.com/paritytech/polkadot-sdk/pull/7357
    - [ ] https://github.com/paritytech/polkadot-sdk/pull/7424
    - [ ] https://github.com/paritytech/polkadot-staking-miner/pull/955
    
    This branch can be periodically merged into
    https://github.com/paritytech/polkadot-sdk/pull/7358 ->
    https://github.com/paritytech/polkadot-sdk/pull/6996
    
    ## TODOs: 
    
    - [x] rebase to master 
    - Benchmarking for staking critical path
      - [x] snapshot
      - [x] election result
    - Benchmarking for EPMB critical path
      - [x] snapshot
      - [x] verification
      - [x] submission
      - [x] unsigned submission
      - [ ] election results fetching
    - [ ] Fix deletion weights. Either of
      - [ ] Garbage collector + lazy removal of all paged storage items
      - [ ] Confirm that deletion is small PoV footprint.
    - [ ] Move election prediction to be push based. @tdimitrov 
    - [ ] integrity checks for bounds 
    - [ ] Properly benchmark this as a part of CI -- for now I will remove
    them as they are too slow
    - [x] add try-state to all pallets
    - [x] Staking to allow genesis dev accounts to be created internally
    - [x] Decouple miner config so @niklasad1 can work on the miner
    72841b73
    - [x] duplicate snapshot page reported by @niklasad1
    
     
    - [ ] https://github.com/paritytech/polkadot-sdk/pull/6520 or equivalent
    -- during snapshot, `VoterList` must be locked
    - [ ] Move target snapshot to a separate block
    
    ---------
    
    Co-authored-by: default avatarGonçalo Pestana <g6pestana@gmail.com>
    Co-authored-by: default avatarAnkan <10196091+Ank4n@users.noreply.github.com>
    Co-authored-by: command-bot <>
    Co-authored-by: default avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
    Co-authored-by: default avatarGiuseppe Re <giuseppe.re@parity.io>
    Co-authored-by: default avatarcmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    a025562b
Code owners
Assign users and groups as approvers for specific file changes. Learn more.