cardano-ledger-0.1.0.0: The blockchain layer of Cardano
Safe HaskellNone
LanguageHaskell2010

Cardano.Chain.Update.Vote

Synopsis

Vote

data AVote a Source #

Vote for update proposal

Invariant: The signature is valid.

Constructors

UnsafeVote 

Fields

Instances

Instances details
Functor AVote Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Methods

fmap :: (a -> b) -> AVote a -> AVote b #

(<$) :: a -> AVote b -> AVote a #

ToCBOR Vote Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Methods

toCBOR :: Vote -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy Vote -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Vote] -> Size Source #

FromCBOR Vote Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Eq a => Eq (AVote a) Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Methods

(==) :: AVote a -> AVote a -> Bool #

(/=) :: AVote a -> AVote a -> Bool #

Show a => Show (AVote a) Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Methods

showsPrec :: Int -> AVote a -> ShowS #

show :: AVote a -> String #

showList :: [AVote a] -> ShowS #

Generic (AVote a) Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Associated Types

type Rep (AVote a) :: Type -> Type #

Methods

from :: AVote a -> Rep (AVote a) x #

to :: Rep (AVote a) x -> AVote a #

NFData a => NFData (AVote a) Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Methods

rnf :: AVote a -> () #

ToJSON a => ToJSON (AVote a) Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Decoded (AVote ByteString) Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Associated Types

type BaseType (AVote ByteString) Source #

FromCBOR (AVote ByteSpan) Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Buildable (AVote a) Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Methods

build :: AVote a -> Builder Source #

Buildable (Proposal, [Vote]) Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

Methods

build :: (Proposal, [Vote]) -> Builder Source #

type Rep (AVote a) Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

type Rep (AVote a) = D1 ('MetaData "AVote" "Cardano.Chain.Update.Vote" "cardano-ledger-0.1.0.0-LsmGdPmHvbsHmMt4VaqSe3" 'False) (C1 ('MetaCons "UnsafeVote" 'PrefixI 'True) ((S1 ('MetaSel ('Just "voterVK") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 VerificationKey) :*: S1 ('MetaSel ('Just "aProposalId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Annotated UpId a))) :*: (S1 ('MetaSel ('Just "signature") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Signature (UpId, Bool))) :*: S1 ('MetaSel ('Just "annotation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))
type BaseType (AVote ByteString) Source # 
Instance details

Defined in Cardano.Chain.Update.Vote

type Vote = AVote () Source #

type VoteId = Hash Vote Source #

An update proposal vote identifier (the Hash of a Vote).

Vote Constructors

mkVote Source #

Arguments

:: ProtocolMagicId 
-> SigningKey

The voter

-> UpId

Proposal which is voted for

-> Bool

Approval/rejection bit

-> Vote 

A safe constructor for UnsafeVote

signVote Source #

Arguments

:: ProtocolMagicId 
-> UpId

Proposal which is voted for

-> Bool

Approval/rejection bit

-> SafeSigner

The voter

-> Vote 

Create a vote for the given update proposal id, signing it with the provided safe signer.

unsafeVote :: VerificationKey -> UpId -> Signature (UpId, Bool) -> Vote Source #

Create a vote for the given update proposal id using the provided signature.

For the meaning of the parameters see signVote.

Vote Accessors

Vote Binary Serialization

Vote Formatting

formatVoteShort :: Vote -> Builder Source #

Format Vote compactly

shortVoteF :: Format r (Vote -> r) Source #

Formatter for Vote which displays it compactly