• asynchronous rob's avatar
    Implement PoV Distribution Subsystem (#1344) · b651e4af
    asynchronous rob authored
    * introduce candidatedescriptor type
    * add PoVDistribution message type
    * loosen bound on PoV Distribution to account for equivocations
    * re-export some types from the messages module
    * begin PoV Distribution subsystem
    * remove redundant index from PoV distribution
    * define state machine for pov distribution
    * handle overseer signals
    * set up control flow
    * remove `ValidatorStatement` section
    * implement PoV fetching
    * implement distribution logic
    * add missing `
    * implement some network bridge event handlers
    * stub for message processing, handle our view change
    * control flow for handling messages
    * handle `awaiting` message
    * handle any incoming PoVs and redistribute
    * actually provide a subsystem implementation
    * remove set-builder notation
    * begin testing PoV distribution
    * test that we send awaiting messages only to peers with same view
    * ensure we distribute awaited PoVs to peers on view changes
    * test that peers can complete fetch and are rewarded
    * test some reporting logic
    * ensure peer is reported for flooding
    * test punishing peers diverging from awaited protocol
    * test that we eagerly complete peers' awaited PoVs based on what we receive
    * test that we prune the awaited set after receiving
    * expand pov-distribution in guide to match a change I made
    * remove unneeded import
This project manages its dependencies using Cargo. Learn more