| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.Committee.EveryoneVotes
Description
A simple voting committee where pools with positive stake can vote.
Synopsis
- data EveryoneVotes
- data family VotingCommittee crypto committee
- data family VotingCommitteeInput crypto committee
- data family VotingCommitteeError crypto committee
- data family EligibilityWitness crypto committee
- data family Vote crypto committee
- data family Cert crypto committee
- candidateSeats ∷ VotingCommittee crypto EveryoneVotes → Map PoolId SeatIndex
- numActiveVoters ∷ VotingCommittee crypto EveryoneVotes → NumPoolsWithPositiveStake
Voting committee interface
data EveryoneVotes Source #
Tag for a simple voting committee where pools with positive stake can vote.
Instances
data family VotingCommittee crypto committee Source #
Structure storing the voting committee context
Instances
| data VotingCommittee crypto EveryoneVotes Source # | |
Defined in Ouroboros.Consensus.Committee.EveryoneVotes | |
| data VotingCommittee crypto WFALS Source # | |
Defined in Ouroboros.Consensus.Committee.WFALS data VotingCommittee crypto WFALS = WFALSVotingCommittee {
| |
data family VotingCommitteeInput crypto committee Source #
Input information needed to construct a voting committee
Instances
| data VotingCommitteeInput crypto EveryoneVotes Source # | |
Defined in Ouroboros.Consensus.Committee.EveryoneVotes data VotingCommitteeInput crypto EveryoneVotes = EveryoneVotesVotingCommitteeInput !(ExtWFAStakeDistr (PublicKey crypto)) | |
| data VotingCommitteeInput crypto WFALS Source # | |
Defined in Ouroboros.Consensus.Committee.WFALS data VotingCommitteeInput crypto WFALS = WFALSVotingCommitteeInput !Nonce !TargetCommitteeSize !(ExtWFAStakeDistr (PublicKey crypto)) | |
data family VotingCommitteeError crypto committee Source #
Errors that can occur when operating on a voting committee
Instances
| Show (VotingCommitteeError crypto EveryoneVotes) Source # | |
Defined in Ouroboros.Consensus.Committee.EveryoneVotes Methods showsPrec ∷ Int → VotingCommitteeError crypto EveryoneVotes → ShowS # show ∷ VotingCommitteeError crypto EveryoneVotes → String # showList ∷ [VotingCommitteeError crypto EveryoneVotes] → ShowS # | |
| Show (VotingCommitteeError crypto WFALS) Source # | |
Defined in Ouroboros.Consensus.Committee.WFALS | |
| Eq (VotingCommitteeError crypto EveryoneVotes) Source # | |
Defined in Ouroboros.Consensus.Committee.EveryoneVotes Methods (==) ∷ VotingCommitteeError crypto EveryoneVotes → VotingCommitteeError crypto EveryoneVotes → Bool # (/=) ∷ VotingCommitteeError crypto EveryoneVotes → VotingCommitteeError crypto EveryoneVotes → Bool # | |
| Eq (VotingCommitteeError crypto WFALS) Source # | |
Defined in Ouroboros.Consensus.Committee.WFALS Methods (==) ∷ VotingCommitteeError crypto WFALS → VotingCommitteeError crypto WFALS → Bool # (/=) ∷ VotingCommitteeError crypto WFALS → VotingCommitteeError crypto WFALS → Bool # | |
| data VotingCommitteeError crypto EveryoneVotes Source # | |
| data VotingCommitteeError crypto WFALS Source # | |
Defined in Ouroboros.Consensus.Committee.WFALS | |
data family EligibilityWitness crypto committee Source #
Witness attesting that a party is eligible to vote in a given election
NOTE: this is not necessarily the same as the cryptographic proof of eligibility used in concrete votes and certificates sent over the wire.
Instances
| data EligibilityWitness crypto EveryoneVotes Source # | |
Defined in Ouroboros.Consensus.Committee.EveryoneVotes data EligibilityWitness crypto EveryoneVotes = EveryoneVotesMember !SeatIndex !(NonZero LedgerStake) | |
| data EligibilityWitness crypto WFALS Source # | |
Defined in Ouroboros.Consensus.Committee.WFALS | |
data family Vote crypto committee Source #
Abstract vote cast by a committee member in a given election
Instances
| data Vote crypto EveryoneVotes Source # | |
Defined in Ouroboros.Consensus.Committee.EveryoneVotes data Vote crypto EveryoneVotes = EveryoneVotesVote !SeatIndex !(ElectionId crypto) !(VoteCandidate crypto) !(VoteSignature crypto) | |
| data Vote crypto WFALS Source # | |
Defined in Ouroboros.Consensus.Committee.WFALS data Vote crypto WFALS
| |
data family Cert crypto committee Source #
Abstract certificate attesting the winner of a given election
Instances
| data Cert crypto EveryoneVotes Source # | |
Defined in Ouroboros.Consensus.Committee.EveryoneVotes data Cert crypto EveryoneVotes = EveryoneVotesCert !(ElectionId crypto) !(VoteCandidate crypto) !(NE (Set SeatIndex)) !(AggregateVoteSignature crypto) | |
| data Cert crypto WFALS Source # | |
Defined in Ouroboros.Consensus.Committee.WFALS data Cert crypto WFALS = WFALSCert !(ElectionId crypto) !(VoteCandidate crypto) !(NE (Map SeatIndex (Maybe (VRFOutput crypto)))) !(AggregateVoteSignature crypto) | |
Metrics about the voting committee composition
candidateSeats ∷ VotingCommittee crypto EveryoneVotes → Map PoolId SeatIndex Source #