Skip to content
  • Jon Häggblad's avatar
    Storing multiple Justifications per block (#7640) · 0d6884b9
    Jon Häggblad authored
    
    
    * primitives/runtime: initial changes on supporting multiple Justifications
    
    * primitives/runtime: make Justifications strongly typed
    
    * Encode/decode Justifications
    
    * primitives/runtime: add Justification type
    
    * backend: apply_finality and finalize_block takes a single Justification
    
    * manual-seal: create engine id and let rpc take encoded justification
    
    * backend: skeleton functions for appending justifications
    
    * backend: initial implementation append_justification
    
    Initial implementation of append_justification on the Backend trait, and also remove unused skeleton
    functions for append_justificaton on Finaziler trait.
    k
    
    * backend: guard against duplicate consensus engine id
    
    * client/db: add check for block finality
    
    * client/api: add append_justification to in_mem db
    
    * client/light: add no-op append_justification
    
    * network: fix decode call for Justification
    
    * network: only send a single Justification in BlockData
    
    * network: minor comment update
    
    * protocol: update field names to distinguish single justification
    
    * client: further field renames to plural
    
    * client: update function names to plural justifications
    
    * client/db: upgrade existing database for new format
    
    * network: remove dependency on grandpa crate
    
    * db: fix check for finalized block
    
    * grandpa: check for multiple grandpa justifications hwne importing
    
    * backend: update Finalizer trait to take multiple Justifications
    
    * db: remove debugging statements in migration code
    
    * manual-seal: update note about engine id
    
    * db: fix check for finalized block
    
    * client: update variable name to reflect it is now plural
    
    * grandpa: fix incorrect empty Justications in test
    
    * primitives: make Justifications opaque to avoid being empty
    
    * network: fix detecting empty Justification
    
    * runtime: doc strings for Justifications functions
    
    * runtime: add into_justifications
    
    * primitives: check for duplicates in when adding to Justifications
    
    * network/test: use real grandpa engine id in test
    
    * client: fix reviewer comments
    
    * primitives: rename Justifications::push to append
    
    * backend: revert changes to Finalizer trait
    
    * backend: revert mark_finalized
    
    * backend: revert changes to finalize_block
    
    * backend: revert finalized_blocks
    
    * db: add a quick early return for performance
    
    * client: minor reviewer comments
    
    * service/test: use local ConsensusEngineId
    
    * network: add link to issue for sending multiple Justifications
    
    * Apply suggestions from code review
    
    Co-authored-by: default avatarPierre Krieger <[email protected]>
    
    * Apply suggestions from code review
    
    Co-authored-by: default avatarPierre Krieger <[email protected]>
    
    * network: tweaks to review suggestions
    
    * network: revert change to BlockData for backwards compatibility
    
    * Apply suggestion from code review
    
    Co-authored-by: default avatarPierre Krieger <[email protected]>
    
    * Apply suggestions from code review
    
    Co-authored-by: default avatarAndré Silva <[email protected]>
    
    * primitives: update doc comment for Justifications
    
    * client/db/upgrade: avoid grandpa crate dependency
    
    * consensus: revert to single Justification for import_justification
    
    * primitives: improve justifications docs
    
    * style cleanups
    
    * use and_then
    
    * client: rename JUSTIFICATIONS db column
    
    * network: revert to using FRNK in network-test
    
    Co-authored-by: default avatarPierre Krieger <[email protected]>
    Co-authored-by: default avatarAndré Silva <[email protected]>
    Co-authored-by: default avatarAndré Silva <[email protected]>
    0d6884b9