sgns::ConsensusManager::SlotState¶
Runtime slot arbitration state.
Public Attributes¶
| Name | |
|---|---|
| std::string | best_proposal_id Current best proposal id in the slot. |
| std::string | best_tx_hash Hash used for deterministic tie-breaking. |
| std::unordered_set< std::string > | voted_proposal_ids Local proposal ids already voted for. |
| std::vector< Proposal > | eligible_candidates Approved contenders for the slot; late arrivals are retained for the next attempt. |
| std::vector< ScanPendingCandidate > | scan_pending_candidates Validated contenders retained while finalized-slot scanning is indeterminate. |
| std::chrono::steady_clock::time_point | candidate_deadline Fixed local contention deadline. |
| bool | candidates_frozen Prevents admission after the deadline has passed. |
| bool | active_vote_locked Prevents creation of a replacement local vote. |
| bool | certificate_scan_pending A failed finalized-slot scan blocks vote work until it succeeds. |
| bool | slot_decided |
| std::unordered_map< std::string, Vote > | observed_votes |
| uint64_t | dissent_seen Bumped when a vote disagrees with the local winner. |
| uint64_t | dissent_evaluated dissent_seen at the last unwinnability evaluation. |
Public Attributes Documentation¶
variable best_proposal_id¶
Current best proposal id in the slot.
variable best_tx_hash¶
Hash used for deterministic tie-breaking.
variable voted_proposal_ids¶
Local proposal ids already voted for.
variable eligible_candidates¶
Approved contenders for the slot; late arrivals are retained for the next attempt.
variable scan_pending_candidates¶
Validated contenders retained while finalized-slot scanning is indeterminate.
variable candidate_deadline¶
Fixed local contention deadline.
variable candidates_frozen¶
Prevents admission after the deadline has passed.
variable active_vote_locked¶
Prevents creation of a replacement local vote.
variable certificate_scan_pending¶
A failed finalized-slot scan blocks vote work until it succeeds.
variable slot_decided¶
A certificate for the slot is already accepted; no attempt can follow.
variable observed_votes¶
Voter id -> that voter's latest signature-verified vote in this slot, across attempts. Under the one-vote-per-slot rule a voter committed to another proposal is weight the local winner can never gain, which is what makes unwinnability provable; keeping the whole vote lets a re-arbitrated winner be re-tallied from here instead of a second per-proposal queue.
variable dissent_seen¶
Bumped when a vote disagrees with the local winner.
variable dissent_evaluated¶
dissent_seen at the last unwinnability evaluation.
Updated on 2026-09-25 at 15:46:10 +0000