• asynchronous rob's avatar
    Disputes runtime (#2947) · ec98120f
    asynchronous rob authored
    
    
    * disputes module skeleton and storage
    
    * implement dispute module initialization logic
    
    * implement disputes session change logic
    
    * provide dispute skeletons
    
    * deduplication & ancient check
    
    * fix a couple of warnings
    
    * begin provide_dispute_data impl
    
    * flesh out statement set import somewhat
    
    * move ApprovalVote to shared primitives
    
    * add a signing-payload API to explicit dispute statements
    
    * implement statement signature checking
    
    * some bitflags glue for observing changes in disputes
    
    * implement dispute vote import logic
    
    * flesh out everything except slashing
    
    * guide: tweaks
    
    * declare and use punishment trait
    
    * punish validators for inconclusive disputes
    
    * guide: tiny fix
    
    * guide: update docs
    
    * add disputes getter fn
    
    * guide: small change to spam slots handling
    
    * improve spam slots handling and fix some bugs
    
    * finish API of disputes runtime
    
    * define and deposit `RevertTo` log
    
    * begin integrating disputes into para_inherent
    
    * use precomputed slash_for/against
    
    * return candidate hash from process_bitfields
    
    * implement inclusion::collect_disputed
    
    * finish integration into rest of runtime
    
    * add Disputes to initializer
    
    * address suggestions
    
    * use pallet macro
    
    * fix typo
    
    * Update runtime/parachains/src/disputes.rs
    
    * add test: fix pruning
    
    * document specific behavior
    
    * deposit events on dispute changes
    
    * add an allow(unused) on fn disputes
    
    * add a dummy PunishValidators implementation
    
    * add disputes module to Rococo
    
    * add disputes module to westend runtime
    
    * add disputes module to test runtime
    
    * add disputes module to kusama runtime
    
    * guide: prepare for runtime API for checking frozenness
    
    * remove revert digests in favor of state variable
    
    * merge reversions
    
    * Update runtime/parachains/src/disputes.rs
    
    Co-authored-by: default avatarAndré Silva <[email protected]>
    
    * Update runtime/parachains/src/disputes.rs
    
    Co-authored-by: default avatarAndré Silva <[email protected]>
    
    * Update runtime/parachains/src/disputes.rs
    
    Co-authored-by: default avatarAndré Silva <[email protected]>
    
    * add byzantine_threshold and supermajority_threshold utilities to primitives
    
    * use primitive helpers
    
    * deposit revert event when freezing chain
    
    * deposit revert log when freezing chain
    
    * test revert event and log are generated when freezing
    
    * add trait to decouple disputes handling from paras inherent handling
    
    * runtime: fix compilation and setup dispute handler
    
    * disputes: add hook for filtering out dispute statements
    
    * disputes: add initializer hooks to DisputesHandler
    
    * runtime: remove disputes pallet from all runtimes
    
    * tag TODOs
    
    * don't import any dispute statements just yet...
    
    * address grumbles
    
    * fix spellcheck, hopefully
    
    * maybe now?
    
    * last spellcheck round
    
    * fix runtime tests
    
    * fix test-runtime
    
    Co-authored-by: default avatarthiolliere <[email protected]>
    Co-authored-by: default avatarAndré Silva <[email protected]>
    Co-authored-by: default avatarAndré Silva <[email protected]>
    ec98120f