Skip to content
  • asynchronous rob's avatar
    Implement the Statement Distribution Subsystem (#1326) · 8348cc4c
    asynchronous rob authored
    * set up data types and control flow for statement distribution
    
    * add some set-like methods to View
    
    * implement sending to peers
    
    * start fixing equivocation handling
    
    * Add a section to the statement distribution subsystem on equivocations and flood protection
    
    * fix typo and amend wording
    
    * implement flood protection
    
    * have peer knowledge tracker follow when peer first learns about a candidate
    
    * send dependents after circulating
    
    * add another TODO
    
    * trigger send in one more place
    
    * refactors from review
    
    * send new statements to candidate backing
    
    * instantiate active head data with runtime API values
    
    * track our view changes and peer view changes
    
    * apply a benefit to peers who send us statements we want
    
    * remove unneeded TODO
    
    * add some comments and improve Hash implementation
    
    * start tests and fix `note_statement`
    
    * test active_head seconding logic
    
    * test that the per-peer tracking logic works
    
    * test per-peer knowledge tracker
    
    * test that peer view updates lead to messages being sent
    
    * test statement circulation
    
    * address review comments
    
    * have view set methods return references
    8348cc4c