pub enum Proposal {
Offline(NodeState),
SectionInfo(SectionAuthorityProvider),
NewElders(SectionAuth<SectionAuthorityProvider>),
JoinsAllowed(bool),
}
Expand description
A step in the Propose-Broadcast-Aggregate-Execute workflow. A proposal about the state of the network This can be a result of seeing a node come online, go offline, changes to section info etc. Anything where we need section authority before action can be taken
Variants
Offline(NodeState)
Proposal to remove a node from our section
SectionInfo(SectionAuthorityProvider)
Proposal to update info about a section.
It signals the completion of a DKG by the elder candidates to the current elders. This proposal is then signed by the newly generated section key.
NewElders(SectionAuth<SectionAuthorityProvider>)
Proposal to change the elders (and possibly the prefix) of our section.
NOTE: the SectionAuthorityProvider
is already signed with the new key. This proposal is only to signs the
new key with the current key. That way, when it aggregates, we obtain all the following
pieces of information at the same time:
- the new section authority provider
- the new key
- the signature of the new section authority provider using the new key
- the signature of the new key using the current key Which we can use to update the section section authority provider and the section chain at the same time as a single atomic operation without needing to cache anything.
JoinsAllowed(bool)
Proposal to change whether new nodes are allowed to join our section.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Proposal
impl UnwindSafe for Proposal
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more