Implement PoV Distribution Subsystem (#1344)
* 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
Showing
- polkadot/Cargo.lock 19 additions, 0 deletionspolkadot/Cargo.lock
- polkadot/Cargo.toml 1 addition, 0 deletionspolkadot/Cargo.toml
- polkadot/node/network/README.md 1 addition, 1 deletionpolkadot/node/network/README.md
- polkadot/node/network/pov-distribution/Cargo.toml 22 additions, 0 deletionspolkadot/node/network/pov-distribution/Cargo.toml
- polkadot/node/network/pov-distribution/src/lib.rs 1457 additions, 0 deletionspolkadot/node/network/pov-distribution/src/lib.rs
- polkadot/node/subsystem/src/messages.rs 20 additions, 0 deletionspolkadot/node/subsystem/src/messages.rs
- polkadot/primitives/src/parachain.rs 31 additions, 0 deletionspolkadot/primitives/src/parachain.rs
- polkadot/roadmap/implementers-guide/src/node/backing/pov-distribution.md 11 additions, 11 deletions...p/implementers-guide/src/node/backing/pov-distribution.md
- polkadot/roadmap/implementers-guide/src/types/overseer-protocol.md 3 additions, 4 deletions...roadmap/implementers-guide/src/types/overseer-protocol.md
Please register or sign in to comment